- ·上一篇文章:Linux 文件与目录管理
- ·下一篇文章:Linux 磁盘管理
Linux 用户和用户组管理
最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCO Linux 中,这个时间起点是1970年1月1日。"最小时间间隔"指的是两次修改口令之间所需的最小天数。"最大时间间隔"指的是口令保持有效的最大天数。"警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。"不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。"失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。下面是/etc/shadow的一个例子:# cat /etc/shadowroot:
Dnakfw28zf38w:
8764:
0:
168:
7:
:
:
daemon:
*:
:
0:
0:
:
:
:
bin:
*:
:
0:
0:
:
:
:
sys:
*:
:
0:
0:
:
:
:
adm:
*:
:
0:
0:
:
:
:
uucp:
*:
:
0:
0:
:
:
:
nuucp:
*:
:
0:
0:
:
:
:
auth:
*:
:
0:
0:
:
:
:
cron:
*:
:
0:
0:
:
:
:
listen:
*:
:
0:
0:
:
:
:
lp:
*:
:
0:
0:
:
:
:
sam:
EkdiSECLWPdSa:
9740:
0:
0:
:
:
:
3、用户组的所有信息都存放在/etc/group文件中。将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:
)隔开若干个字段,这些字段有:组名:
口令:
组标识号:
组内用户列表"组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。"口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。"组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。"组内用户列表"是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。/etc/group文件的一个例子如下:root:
:
0:
rootbin:
:
2:
root,binsys:
:
3:
root,uucpadm:
:
4:
root,admdaemon:
:
5:
root,daemonlp:
:
7:
root,lpusers:
:
20:
root,sam四、添加批量用户添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户的方法。Linux系统提供了创建大量用户的工具,可以让您立即创建大量用户,方法如下:(1)先编辑一个文本用户文件。每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下:user001:
:
600:
100:
user:
/home/user001:
/bin/bashuser002:
:
601:
100:
user:
/home/user002:
/bin/bashuser003:
:
602:
100:
user:
/home/user003:
/bin/bashuser004:
:
603:
100:
user:
/home/user004:
/bin/bashuser005:
:
604:
100:
user:
/home/user005:
/bin/bashuser006:
:
605:
100:
user:
/home/user006:
/bin/bash(2)以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:
# newusers < user.txt然后可以执行命令 vipw 或 vi /etc/passwd 检查 /etc/passwd 文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。(3)执行命令/usr/sbin/pwunconv。将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password 功能。
# pwunconv(4)编辑每个用户的密码对照文件。范例文件 passwd.txt 内容如下:user001:
密码user002:
密码user003:
密码user004:
密码user005:
密码user006:
密码(5)以root身份执行命令 /usr/sbin/chpasswd。创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏。
# chpasswd < passwd.txt(6)确定密码经编码写入/etc/passwd的密码栏后。执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。
# pwconv这样就完成了大量用户的创建了,之后您可以到/home下检查这些用户宿主目录的权限设置是否都正确,并登录验证用户密码是否正确。
Dnakfw28zf38w:
8764:
0:
168:
7:
:
:
daemon:
*:
:
0:
0:
:
:
:
bin:
*:
:
0:
0:
:
:
:
sys:
*:
:
0:
0:
:
:
:
adm:
*:
:
0:
0:
:
:
:
uucp:
*:
:
0:
0:
:
:
:
nuucp:
*:
:
0:
0:
:
:
:
auth:
*:
:
0:
0:
:
:
:
cron:
*:
:
0:
0:
:
:
:
listen:
*:
:
0:
0:
:
:
:
lp:
*:
:
0:
0:
:
:
:
sam:
EkdiSECLWPdSa:
9740:
0:
0:
:
:
:
3、用户组的所有信息都存放在/etc/group文件中。将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:
)隔开若干个字段,这些字段有:组名:
口令:
组标识号:
组内用户列表"组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。"口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。"组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。"组内用户列表"是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。/etc/group文件的一个例子如下:root:
:
0:
rootbin:
:
2:
root,binsys:
:
3:
root,uucpadm:
:
4:
root,admdaemon:
:
5:
root,daemonlp:
:
7:
root,lpusers:
:
20:
root,sam四、添加批量用户添加和删除用户对每位Linux系统管理员都是轻而易举的事,比较棘手的是如果要添加几十个、上百个甚至上千个用户时,我们不太可能还使用useradd一个一个地添加,必然要找一种简便的创建大量用户的方法。Linux系统提供了创建大量用户的工具,可以让您立即创建大量用户,方法如下:(1)先编辑一个文本用户文件。每一列按照/etc/passwd密码文件的格式书写,要注意每个用户的用户名、UID、宿主目录都不可以相同,其中密码栏可以留做空白或输入x号。一个范例文件user.txt内容如下:user001:
:
600:
100:
user:
/home/user001:
/bin/bashuser002:
:
601:
100:
user:
/home/user002:
/bin/bashuser003:
:
602:
100:
user:
/home/user003:
/bin/bashuser004:
:
603:
100:
user:
/home/user004:
/bin/bashuser005:
:
604:
100:
user:
/home/user005:
/bin/bashuser006:
:
605:
100:
user:
/home/user006:
/bin/bash(2)以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:
# newusers < user.txt然后可以执行命令 vipw 或 vi /etc/passwd 检查 /etc/passwd 文件是否已经出现这些用户的数据,并且用户的宿主目录是否已经创建。(3)执行命令/usr/sbin/pwunconv。将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password 功能。
# pwunconv(4)编辑每个用户的密码对照文件。范例文件 passwd.txt 内容如下:user001:
密码user002:
密码user003:
密码user004:
密码user005:
密码user006:
密码(5)以root身份执行命令 /usr/sbin/chpasswd。创建用户密码,chpasswd 会将经过 /usr/bin/passwd 命令编码过的密码写入 /etc/passwd 的密码栏。
# chpasswd < passwd.txt(6)确定密码经编码写入/etc/passwd的密码栏后。执行命令 /usr/sbin/pwconv 将密码编码为 shadow password,并将结果写入 /etc/shadow。
# pwconv这样就完成了大量用户的创建了,之后您可以到/home下检查这些用户宿主目录的权限设置是否都正确,并登录验证用户密码是否正确。
Linux 用户和用户组管理