本地用户管理(PAM认证)
原创
©著作权归作者所有:来自51CTO博客作者cerana的原创作品,请联系作者获取转载授权,否则将追究法律责任
- 批量添加用户
vim newusers.s 格式同/etc/passwd,:为分割符号
test1:x:1003:1003::/home/test1:/bin/bash
username
| password
| UID
| GID(private group)
| Fullname
| home dir
| shell
|
test1
| x
| 1003
| 1003
| | /home/test1
| /bin/bash
|
执行命令
newusers newusers.s 不复制home目录下的模版内容(/etc/skel)
首先创建一个用户账号文件,把用户名写在这个文本文件里。注意:一个用户名占一行。
vim users.txt
cerana1:13888298736
cerana2:13888298737
cerana3:13888298738
cerana4:13888298739
cerana5:13888298740
创建shell 脚本,然后用for循环把创建的用户名遍历出来:
#!/bin/bash
#把shell脚本和账号文件创建在同一个目录下
for line in `cat users.txt`
do
username=$(echo $line | awk -F: '{print $1}')
password=$(echo $line | awk -F: '{print $2}')
useradd $username
echo "User $username
#passwd --stdin表示不交互,直接输入密码
echo $password | passwd --stdin $username
#强制用户下次登陆后修改密码
chage -d 0 $username
#设置账号30天后过期
chage -M 30 $username
done
echo "Finish!"
有加就有删
#!/bin/bash
for line in `cat users.txt`
do
username=$(echo $line | awk -F: '{print $1}')
userdel -r $username
echo "User $username
done
echo "Finish!"
列出本地所有一般用户的账号
getent passwd | awk -F: '$3>=1000 {print $0}'
getent group | awk -F: '$3>=1000 {print $0}'
- UID&GID
用户
| UID or GID
|
root
| 0
|
系统用户
| 1 ~ 499
|
扩展的系统用户
| 500 ~ 999
|
一般用户
| 1000 ~ 65535
|
- 注意事项
- /etc/shadow 中密码字段为!!,表示该用户还没有设定密码。
- userdel 一般不删除private group,要删除需要借助groupdel
- 锁定和解锁本地用户
锁定用户
usermod -L username 或者 passwd -l username
解锁用户
usermod -U username 或者 passwd -u username
删除用户密码
passwd -d username
- Password Aging Policy
~ By default, passwords do not expire
~ Modify default expiration settings in /etc/login.defs
~ To modify password aging for existing users, use the chage command
chage -l user 查看user的账号日期信息
chage -d 0 user 强制用户在下次登陆时修改密码
chage -m 1 user 定义密码最小更改周期(单位:天)
chage -M 7 user 定义密码最大更改周期(99999表示永不过期)
chage -I 3 user 密码过期3天后,如果还未更改密码,账号将被锁定。
chage -E 2018-08-21 user 设定账号到期日