用户管理
一、 增加新的用户帐号
以新增一个 m5 账号为例:
useradd z3 添加新用户 z3
passwd z3 赋予新用户 z3 口令
说明:①新用户只有被赋予口令后才能使用;
②Redhat Linux 中,adduser 是 useradd 的符号连接。
③useradd 命令常用的参数:
-u 设置用户的 UID
-g 设置用户的 GID
-d 设置用户的主目录
-G 使该用户成为其他组的成员
-s 用户的登录 shell,默认为 /bin/bash
-c comment 用户注释
-p 同时设置口令,注意无空格。(Redhat 版支持)
添加新用户的操作实际上是修改了/etc/passwd、/etc/shadow 文
件,在/home 下为创建主目录,并将/etc/skel 目录内容拷入。
二、 /etc/passwd 文件
/etc/passwd 文件记录用户账号信息,(权限:root.root 644)
该文件每行由 7 个域组成,之间由冒号分隔:
用户名:口令:UID:GID:注释:用户主目录:shell
例如:root:x:0:0:root:/root:/bin/bash
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
z3:x:500:500:ZhangSan:/home/z3:/bin/bash
l4:x:501:501:LiSi:/home/l4:/bin/bash
w5:x:502:502:WangWu:/home/w5:/bin/bash
m6:x:503:503:MaLiu:/home/m6:/bin/bash
说明:
UID:用户标识; GID:组标识; x :口令被加密
用户名应该唯一,如不唯一则系统只认前面的一个。
UID 不必唯一。相同的 UID 具有完全相同的权限。
普通用户的 UID≥500 只不过是个约定。但等于 0 则具有特别
意义,即拥有 root 权限。其实获得 UID=0 的特权就是网络攻
击者的目标。
三、 /etc/shadow 文件 (权限:root.root 400)
/etc/shadow 文件主要用于记录加密加密后的口令,其格式:
username: password: last:may: must: warn: expire: disable: reserved
last:上次更改口令日期,从 1970-1-1 起计算的天数;
从 may 至 nust 的期间,用户才可以更改口令;
warn:在 must 前多少天提示用户更改口令;
expire:在 must 后多少天使用户账号失效;
disable:只用来记录账号失效的天数;
reserved:保留,尚未使用。例:
root:$1$RE9bMMe8$4G3nQB7tiyYYHKLJMdY.m/:12770::99999::::
ftp:*:12734:0:99999:7:::
z3:$1$vqHltSd2$/Zv6HBjDXknqkY8MTiW.20:12763::99999::::
l4:$1$2eRrDN.g$fCtWeiIvonMyVW5NklRfI0:12763::99999::::
w5:$1$sTaNpD10$ho3C12iBGIaVD1kxfOaCj/:12763::99999::::
m6:$1$4zO8RY6k$cOTmCThcLfWL7plnWlBFt0:12772:0:0:0:0::
四、 用户组
groupadd 命令用于创建用户组
将一个已经存在的用户加入组可使用 usermod –G 命令
例:
groupadd g1 创建用户组 g1
usermod -G g1 z3 收 z3 为 g1 组成员
关于组的操作实际上是在修改/etc/group 文件。
字符界面下尚未发现有可用的命令用于对组成员的剔除,
此时,对于组管理的最有效手段是手工修改/etc/group 文件。
五、 /etc/group 文件 (权限:root.root 644)
/etc/group 文件记录组信息,每行一组,格式:
组名:口令:GID:成员列表(成员之间用逗号隔开)
若需组口令可执行 gpasswd。加密的组口令存于/etc/gshadow。六、 用户的私有组与登录组
useradd 在创建用户的同时也创建了一个同名组。
新用户默认属于自己的组。这个组称为用户私有组。
其他用户也可以成为这个私有组的成员并享受该组成员权利
(仅 root 有权操作)。
/etc/passwd 文件中的 GID 表示的是用户的默认组。
usermod –g 命令可以改变用户的默认组,也称登录组:
例:usermod –g z3 l4 修改 l4 的默认组属于 z3
此后用户创建的所有目录与文件的组属性属于新的默认组。
七、 删除用户或组
userdel 删除用户。
例 userdel –r w5 删除 w5(-r 表示同时删除其主目录)
groupdel 删除组 例:groupdel g2
(注意:一些资料上说该命令不能删除非空组,但实验
证实在 redhat Linux 中可以删除非空组,而且该命令
没有确认机制,请慎用!)
八、 改变用户设置
usermod 命令用于改变用户的账号设置,如 UID、GID、注释、
主目录、shell。其参数分别是 -u、-g、-c、-d、-s。
chage 命令用于修改口令的有效期。
具体用法请参考系统帮助。九、 禁止用户账号
修改用户的 shell 为 nologin 或 false 可阻止其登录系统。
例:usermod –s /sbin/nologin 或 usermod –s false
十、 用户的身份转换
su 命令可改变用户身份,不仅省却了注销和重新登录过程,
而且在使用 root 身份无法登录的 Telnet 网络登录的情况下更
为有用。( su 是替代用户(Substitute user)的意思,但常被理
解为 super user)。
例:su root 在依提示输入 root 口令后转为 root 身份
但这种转换并没有相应地改换系统运行环境,提示符类似:
[root@localhost z3]#
用户已是 root,但仍运行于 z3 的运行环境下。这会引起一些
程序的运行结果不正常,与真实的 root 环境是大有区别的(比
如就无法执行关机复位等操作)。要想同时获得新用户的环境,
应在 su 与用户名间加-号并空格,
即:su - root
这时系统提示符显示:[root@localhost root]#
十一、 其它
① 执行“id 用户名”命令可列出用户的 UID、GID 和所有组
② 与 W2K 不同,Linux 的组不能吸纳其它组为成员。