1. 批量添加用户
  • 系统命令法

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)
  • shell脚本法

首先创建一个用户账号文件,把用户名写在这个文本文件里。注意:一个用户名占一行。
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}'
  1. UID&GID

用户

UID or GID

root

0

系统用户

1 ~ 499

扩展的系统用户

500 ~ 999

一般用户

1000 ~ 65535

  1. 注意事项
  • /etc/shadow 中密码字段为!!,表示该用户还没有设定密码。
  • userdel 一般不删除private group,要删除需要借助groupdel
  • 锁定和解锁本地用户
锁定用户
usermod -L username 或者 passwd -l username
解锁用户
usermod -U username 或者 passwd -u username
删除用户密码
passwd -d username
  1. 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 设定账号到期日