linux学习笔记(实验楼) 实验3 用户及文件权限管理

时间:2019-08-05 09:30:01 来源:广东青年网 当前位置:要点龙 > 工业 > 手机阅读

一、实验介绍

1.1 实验内容

  1. Linux 中创建、删除用户,及用户组等操作。

  2. Linux 中的文件权限设置。

1.2 实验知识点

  • Linux?用户管理

  • Linux?权限管理


二、linux用户管理


? ? Linux 是一个可以实现多用户登陆的操作系统,比如“李雷”和“韩梅梅”都可以同时2登陆同一台主机,他们共享一些主机的资源,但他们也分别有自己的用户空间,用于存放各自的文件。但实际上他们的文件都是放在同一个物理磁盘上的甚至同一个逻辑分区或者目录里,但是由于 Linux 的?用户管理??权限机制,不同用户不可以轻易地查看、修改彼此的文件。



2.1 查看用户


打开终端,输入命令:


输出的第一列表示打开当前伪终端的用户的用户名(要查看当前登录用户的用户名,去掉空格直接使用?whoami?即可),第二列的?pts/0??pts?表示伪终端,所谓伪是相对于?/dev/tty?设备而言的,还记得上一节讲终端时的那七个使用?[Ctrl]+[Alt]+[F1]~[F7]?进行切换的?/dev/tty?设备么,这是“真终端”,伪终端就是当你在图形用户界面使用?/dev/tty7?时每打开一个终端就会产生一个伪终端,?pts/0?后面那个数字就表示打开的伪终端序号,当再打开一个终端,然后在里面输入?who am i?,第二列就变成?pts/1?了,第三列则表示当前伪终端的启动时间。




who?命令其它常用参数



2.2 创建用户


在 Linux 系统里,?root?账户拥有整个系统至高无上的权利,比如 新建/添加 用户。

root 权限,系统权限的一种,与 SYSTEM 权限可以理解成一个概念,但高于 Administrator 权限,root 是 Linux 和 UNIX 系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作,所以很多黑客在入侵系统的时候,都要把权限提升到 root 权限,用 Windows 的方法理解也就是将自己的非法帐户添加到 Administrators 用户组。更比如安卓操作系统中(基于 Linux 内核)获得 root 权限之后就意味着已经获得了手机的最高权限,这时候你可以对手机中的任何文件(包括系统文件)执行所有增、删、改、查的操作。

我们一般登录系统时都是以普通账户的身份登录的,要创建用户需要 root 权限,这里就要用到?sudo?这个命令了。不过使用这个命令有两个大前提,一是你要知道当前登录用户的密码,二是当前用户必须在?sudo?用户组。



su,su- 与 sudo


su ?可以切换到用户 user,执行时需要输入目标用户的密码,sudo ?可以以特权级别运行 cmd 命令,需要当前用户属于 sudo 组,且需要输入当前用户的密码。su - ?命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。

现在我们新建一个叫 rhoda的用户:

然后是给 rhoda 用户设置密码,后面的选项的一些内容可以选择直接回车使用默认值, 这个命令不但可以添加用户到系统,同时也会默认为新用户创建 home 目录:

可以使用如下命令切换登录用户:

退出当前用户跟退出终端一样可以使用?exit?命令或者使用快捷键?Ctrl+d



2.3 用户组


? ?在 Linux 里面每个用户都有一个归属(用户组),用户组简单地理解就是一组用户的集合,它们共享一些资源和权限,同时拥有私有资源,就跟家的形式差不多,你的兄弟姐妹(不同的用户)属于同一个家(用户组),你们可以共同拥有这个家(共享资源),爸妈对待你们都一样(共享权限),你偶尔写写日记,其他人未经允许不能查看(私有资源和权限)。当然一个用户是可以属于多个用户组的,正如你既属于家庭,又属于学校或公司。

在 Linux 里面如何知道自己属于哪些用户组呢?

方法一:使用 groups 命令

其中冒号之前表示用户,后面表示该用户所属的用户组。这里可以看到 shiyanlou 用户属于 shiyanlou 用户组,每次新建用户如果不指定用户组的话,默认会自动创建一个与用户名相同的用户组(差不多就相当于家长的意思,或者说是老总)。默认情况下在 sudo 用户组里的可以使用 sudo 命令获得 root 权限。shiyanlou 用户也可以使用 sudo 命令,为什么这里没有显示在 sudo 用户组里呢?可以查看下?/etc/sudoers.d/shiyanlou?文件,我们在?/etc/sudoers.d?目录下创建了这个文件,从而给 shiyanlou 用户赋予了 sudo 权限:

方法二:查看?/etc/group?文件

这里?cat?命令用于读取指定文件的内容并打印到终端输出,?| sort?表示将读取的文本进行一个字典排序再输出,然后你将看到如下一堆输出,可以在最下面看到 shiyanlou 的用户组信息:

没找到,没关系,可以使用命令过滤掉一些你不想看到的结果:

etc/group?文件格式说明

/etc/group 的内容包括用户组(Group)、用户组口令、GID 及该用户组所包含的用户(User),每个用户组一条记录。格式如下:

group_name:password:GID:user_list

上图的 password 字段为一个?x?并不是说密码就是它,只是表示密码不可见而已。

将其它用户加入 sudo 用户组

默认情况下新创建的用户是不具有 root 权限的,也不在 sudo 用户组,可以让其加入 sudo 用户组从而获取 root 权限:

会提示 rhoda不在 sudoers 文件中,意思就是 rhoda不在 sudo 用户组中,至于 sudoers 文件(/etc/sudoers)你现在最好不要动它,操作不慎会导致比较麻烦的后果。

使用?usermod?命令可以为用户添加用户组,同样使用该命令必须有 root 权限,可以直接使用 root 用户为其它用户添加用户组,或者用其它已经在 sudo 用户组的用户使用 sudo 命令获取权限来执行该命令。

这里我用 shiyanlou 用户执行 sudo 命令将?rhoda添加到 sudo 用户组,让它也可以使用 sudo 命令获得 root 权限:

然后再切换回 rhoda用户,现在就可以使用 sudo 获取 root 权限了。



2.4 删除用户


删除用户是很简单的事:



三、linux文件权限


文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。

Unix/Linux系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。

在 Unix/Linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。


3.1? 查看文件权限


我们之前已经很多次用到?ls?命令了,如你所见,我们用它来列出并显示当前目录下的文件,当然这是在不带任何参数的情况下,它能做的当然不止这么多,现在我们就要用它来查看文件权限。

上一篇让梅婷化身复古女郎,董洁变小清新,Prada酒会发来邀约!

下一篇杨超越新造型又“火”了!半扎丸子头梳龙须刘海,不但不丑还很潮

相关文章:

工业本月排行

工业精选