用户管理
adduser:增加用户
/usr/sbin目录下
adduser [新用户名称]
密码需要passwd这个命令设定
-c comment | 指定一段注释性描述 | |
-d 目录 | 指定用户宿主目录,如果目录不存在,则同时使用-m创建宿主目录 | useradd –d /home/yusa –m yusa |
-g 私有组 | 指定用户的的主组 | useradd –s /bin/sh –g group –G admin,root yusa |
-G 附加组,附加组 | 指定用户的的附加组 | |
-s shell文件 | 指定用户的登陆shell | |
-u 用户号 | 指定用户的用户号,如果同时有-o参数,则可以重复使用其它用户的标识号 | |
-e | 登陆失败时间 |
组配置文件/etc/group
passwd:更改密码
/usr/bin目录下
passwd [-参数] [用户名称]
-l | 锁定口令(lock) |
-u | 解锁口令 |
-d | 使帐号无口令 |
-f | 强迫用户下次登陆时修改口令 |
-S | 看用户密码用什么方式加密 |
例:
passwd | 后面不跟用户,则修改自己的密码 |
passwd yusa | 修改yusa密码 |
密码存在/etc/passwd 文件中
或者在passwd文件中展示密码的地方只显示x字符,密码被存到了/etc/shadow文件中
usermod:修改用户信息
usermod [-参数] 用户名称
-c comment | 指定一段注释性描述 |
-d 目录 | 指定用户宿主目录,如果目录不存在,则同时使用-m创建宿主目录 |
-g 私有组 | 指定用户的的主组 |
-G 附加组,附加组 | 指定用户的的附加组 |
-s shell文件 | 指定用户的登陆shell |
-u 用户号 | 指定用户的用户号,如果同时有-o参数,则可以重复使用其它用户的标识号 |
-l | 新用户名,将原来的用户名改为新的用户名 |
userdel:删除用户
userdel [-参数] 用户名称
-r | 把用户的宿主目录一起删除 |
userdel –r yusa
此命令删除用户yusa在系统文件中(/etc/group、/etc/passwd 和 /etc/shadow等)记录,同时删除用户的宿主目录。
chfn:更改用户资料
/usr/bin目录下
chfn [用户名称]
finger:查看用户资料
/usr/bin目录下
finger [用户名称]
用户组管理
groupadd:增加新组
groupadd [-参数] 用户组
-g GID | 指定新用户组的组标识号 |
-o | 一般与-g一起使用,表示新GID可以与系统已有的GID相同 |
groupdel:删除组
groupdel 用户组
groupmod:修改用户组
groupmod [-参数] 用户组
-g GID | 指定新用户组的组标识号 | |
-o | 一般与-g一起使用,表示新GID可以与系统已有的GID相同 | |
-n | 新用户组,将用户组的名字改为新名字 | groupmod –n newGroup oldGroup |
与用户帐号有关的系统文件
/etc/passwd文件
文件格式
用户名:口令:用户标识号:组标识号:注释性描述:宿主目录:登陆shell
含义
用户名 |
|
用户标识号 |
|
伪用户(pseudo users)
这些用户在/etc/passwd文件中也占一条记录,但是不能登陆,因为它们的shell为空。
它们的存在主要是方便系统管理,满足相应的系统进程对文件的属主要求。
伪用户 | 含义 |
bin | 拥有可执行的用户命令文件 |
sys | 拥有系统文件 |
adm | 拥有帐户文件 |
uucp | UUCP使用 |
lp | lp或lpd子系统使用 |
nobody | NFS使用 |
还有许多标准的伪用户,如:audit、cron、mail、usenet等。
检查密码文件是否有错
pwck /etc/passwd
pwck /etc/shadow
/etc/shadow文件
- root用户才有权限。
- 记录行与passwd一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生。
文件格式
登陆名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
含义
加密口令 |
|
最后一次修改时间 | 从某时刻起,到用户最后一次修改口令的天数,不通系统开始时间不同(SCO LINUX是1970年1月1号) |
最小时间间隔 | 两次修改口令之间所需的最小天数 |
最大时间间隔 | 口令保持有效的最大天数 |
警告时间 | 从系统开始警告用户到用户密码正式失效之间的天数 |
不活动时间 | 用户没有登陆活动但帐号仍然保持有效的最大天数 |
失效时间 | 是一个绝对天数,如果使用了这个字段,则给出帐号的生存期。期满后,该帐号不再合法,无法登陆 |
/etc/group文件
- 一个用户可以有多个组,当一个用户属于多个组时,passwd文件中记录的是用户的主组,也就是用户登陆时的默认组。
- 用户要访问附加组文件时,必须首先使用newgrp命令切换主。
文件格式
组名:口令:组标识号:组内用户列表
含义
组名 |
|
口令 | 一般linux用户组都没有口令。既这个字段为空或者是* |
组标识号 | 一个整数 |
组内用户列表 |
|
检查组文件是否有错
grpck /etc/group
grpck /etc/gshadow
/etc/gshadow文件
文件格式
组名:口令:组的管理员:组内用户列表
新增大量用户
先编辑一个文本用户文件
按passwd文件格式书写,密码栏可以为空或者为x号。
一个范例user.txt文件,如下:
user1::501:201:user:/home/user1:/bin/bash
user2::502:200:user:/home/user2:/bin/bash
user3::503:200:user:/home/user3:/bin/bash
user4::504:200:user:/home/user4:/bin/bash
执行newusers命令
以root身份执行/usr/sbin/newusers命令,导入user.tx文件。
#newusers < user.txt
然后用vipw或者vi /ect/passwd文件,是否已经出现用户数据,并且用户宿主目录是否已经建立。
执行pwunconv命令
执行/usr/sbin/pwunconv命令,将/ect/shadow产生的密码解码,然后回写到/ect/passwd文件中,并将/ect/shadow的密码栏删掉(为下一步的密码转换工作,先取消shadow password功能)。
#pwunconv
编辑密码对照表
一个范例passwd.txt文件,如下:
user1:密码
user2:密码
user3:密码
user4:密码
执行chpasswd命令
以root身份执行/usr/sbin/chpasswd建立用户密码,chpasswd将经过/usr/bin/passwd命令编码过的密码写入/ect/passwd的密码栏。
#chpasswd < passwd.txt
执行pwconv命令
确认密码写入/ect/passwd文件的密码栏后,执行命令/usr/sbin/pwconv将密码编码为shadow password,并将结果写入/etc/shadow文件。
# pwconv