【任务说明】
Linux操作系统是多用户多任务操作系统。
本任务的主要目的是要自由灵活的建立用户以及群组。
【任务实施】
第一步:查看LINUX系统中的用户
系统中所有的用户存放文件/etc/passwd 可通过【vim /etc/passwd】命令打开查看。
passwd文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的所有信息。每条记录由7个字段组成,字段间用冒号:隔开。
(1)用户名:它唯一地标识了一个用户帐号,用户在登录时使用的就是它。
(2)加密的口令:passwd文件中存放的密码是经过加密处理的。Linux的加密算法很严密,其中的口令几乎是不可能被破解的。盗用帐号的人一般都借助专门的黑客程序,构造出无数个密码,然后使用同样的加密算法将其加密,再和本字段进行比较,如果相同的话,就代表构造出的口令是正确的。因此,建议不要使用生日、常用单词等作为口令,它们在黑客程序面前几乎是不堪一击的。特别是对那些直接连入较大网络的系统来说,系统安全性显得尤为重要。
(3)用户ID:用户识别码,简称UID。Linux系统内部使用UID来标识用户,而不是用户名。UID是一个整数,用户的UID互不相同。普通用户的UID默认是从500开始的。
(4)组ID:用户组识别码,简称GID。不同的用户可以属于同一个用户组,享有该用户组共有的权限。与UID类似,GID唯一地标识了一个用户组。普通用户的GID默认是从500开始的。UID与GID默认情况下是一致的。
(5)用户描述:这是给用户帐号做的注解。它一般是用户真实姓名、电话号码、住址等,当然也可以是空的。
(6)主目录:这个目录属于该帐号,当用户登录后,它就会被置于此目录中,就像回到家一样。一般来说,root帐号的主目录是/root,其他帐号的家目录都在/home目录下,并且和用户名同名。
(7)登录shell:用户登录后执行的命令。一般来说,这个命令将启动一个shell程序。例如,用bbs帐号登录后,会直接进入bbs系统,这是因为bbs帐号的login command指向的是bbs程序,等系统登录到bbs时就自动运行这些命令。
第2步:查看用户密码以及有效期的文件。
用户密码以及有效期的存放文件/etc/shadow 可通过如下命令【vim /etc/shadow】打开查看。
shadow文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的所有用户密码以及有效期等信息。每条记录由8个字段组成,字段间用冒号:隔开
(1)“用户名”是与/etc/passwd文件中的登录名相一致的用户账号
(2)“加密口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,能够登录但是不需要口令;如果是两个感叹号,则表示该用户没有设置密码,不能登录进系统,如果含有不属于集合{./0-9A-Za-z}中的字符,则对应的用户不能登录。
(3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
(4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
(5)“最大时间间隔”指的是口令保持有效的最大天数。
(6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
(7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
(8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
系统帐号,系统中还有一些默认的帐号,如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(*)号表示,代表它们不能在登录时使用。
【vim /etc/shadow 】编辑用户密码的存放文件,把第一个冒号与第二个冒号之间的字符删除掉,设置 user2 的密码为空。
第3步:查看账号所属组文件。
/etc/group 文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。比如我们把某一用户加入到root用户组,那么这个用户就可以浏览root用户家目录的文件,如果root用户把某个文件的读写执行权限开放,root用户组的所有用户都可以修改此文件,如果是可执行的文件(比如脚本),root用户组的用户也是可以执行的。
Linux中每当建立一个用户时,同时也建立一个同名的组,此用户默认是加入到此组中。组用户文件存放在/etc/group里面,可以通过【vim /etc/group】命令查看,如图所示。
在图所示的文件中,有四列,每一列对应的释义如下:
第一列:用户组名称;
第二列:用户组密码;
第三列:GID,即组ID;
第四列:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名。
第4步:查看用户组密码文件。
/etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码;
通过命令【vim /etc/gshadow】 查看用户组密码存放文件,每个用户组独占一行,如图所示
在图所示的文件中,有四列,每一列对应的释义如下:
第一列:用户组名称;
第二列:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码;
第三列:用户组管理者,这个字段也可为空,如果有多个用户组管理者,用“,”号分割;
第四列:组成员,如果有多个成员,用,号分割。
第5步:建立与删除用户
CentOS中,建立与删除用户的主要命令以及释义如下:
【useradd yhy】新建yhy用户。
【passwd yhy】为yhy用户设置密码,密码输入时无任何显示。
【useradd ybs –d /home/y】新建ybs用户,并指定家目录为/home/y。
【useradd user1 –d / home/user1】此处可以不加【-d】参数,因为用户的默认家目录就在/home下的与用户名相同的目录下。
【useradd user2】增加新用户user2,用户默认家目录为:/ home/user2。
【userdel yhy】表示删除用户,但不删除家目录。
【userdel -r ybs】删除ybs用户,并删除用户家目录。
【usermod –l user2 user1】修改用户user1名称为user2。
【usermod –L user2】锁定用户名user2 ,锁定后user2不能登录。
【usermod –U user2】解锁用户名user2。
【su - user1】root用户切换到普通用户不需要密码。
【su - root】普通用户切换到root用户需要root密码。
备注:【su】命令后加“-”横杆,切换用户时切换到用户的家目录,否则,不改变当前路径。
第6步:建立与管理用户组
CentOS中,建立与管理用户组的主要命令以及释义如下:
【groupadd grp1】新建用户组grp1。
【groupdel grp1】删除用户组 grp1。
【groupmod grp2 grp1】修改用户组名称grp1为grp2。
【gpasswd –a user2 grp2】把用户user2加入到用户组grp2中。
【gpasswd –d user2 grp2】把用户user2加入从用户组grp2中删除。
第7步:几个重要的命令补充
有关用户的操作还有以下命令,详细释义如下:
【who am i 】显示当前以哪个用户登录。
【w】显示目前登入系统的用户详细信息,包括登录IP地址等。
【who】显示目前登入系统的用户简要信息。
【last】记录每个用户的登录次数和持续时间等信息【finger】查找并显示用户信 如finger zhangs表示查看zhangs用户信息。
【su user】 切换用户但不切换当前目录。
【su – user1】切换用户并切换到user的家目录。
【ntsysv】 启动/关闭系统中的服务。
【setup】设置系统运行参数。