天天看点

本地用户管理(PAM认证)

  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
系统用户 1 ~ 499
扩展的系统用户 500 ~ 999
  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 设定账号到期日