用户
用户相关的配置文件
- /etc/passwd 用户的主配置文件,用户的各种属性
- /etc/shadow 用户密码文件,存放密码及密码的属性
- /etc/gshadow 用户组的密码文件(废弃)
添加用户
# 默认创建
useradd test1
# 指定uuid添加用户
useradd -u 5000 test2
# 指定用户的登录shell
# nolobin是不可以登陆的
useradd -s /sbin/nolobin test3
# 指定用户家目录,默认是在/home下
useradd -d /opt/test4 test4
# 创建用户时不创建家目录
useradd test5 -M
# 添加用户指定属于其他用户组
useradd test5 -g root
# 添加用户设置过期时间
useradd -e "2030/05/30" test6
查看用户信息
# 查看uid和加入的组
id test1
# 查看用户的过期时间
chage -l 用户名
修改用户信息
usermod
# -d: 修改用户家目录
# -e: 修改用户过期时间
# -g: 修改用户所属组
# -s: 修改登录时使用的shell
# -u: 修改uid
删除用户
userdel test
# -r: 当删除用户时,一并删除该用户的家目录。如果不加-r选项,则会直接删除用户,但保留其家目录
su切换用户角色
# 携带用户变量切换
su - 用户名
# 表示用其他的用户去执行这个命令
su 用户名 -c 命令
提升普通用户权限
# sudo的配置文件是/etc/sudoers
# 这在个配置文件的第100行:
root ALL=(ALL) ALL
# 设置db用户在所有主机上,可以切换到所有角色,执行所有命令,且执行sudo时不用输入密码。
db ALL=(ALL) NOPASSWD: ALL
密码
passwd给用户设置密码
# 用户自己给自己设置
passwd
# root给其他用户设置密码
passwd +需要设置密码的用户名
# --stdin 从标准输入读取密码字符串
echo 123456|passwd --stdin root
chpasswd批量设置密码
# 把用户和密码用冒号分隔
cat user.list
test1:01
test2:02
test3:03
test4:04
cat user.list | chpasswd
# 此时test1-test5都设置了
chage查看/更改密码属性
chage -l root
最近一次密码修改时间 :从不
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
# -l 查看用户的密码属性
# -E 设定账户过期时间 等价于useradd -e 设定过期时间
用户组
添加组
groupadd test
# -g 设置gid,如果不加-g选项,则按照系统默认的gid创建组,跟uid一样,gid也是从1000开始的
删除组
groupdel test
# 没有特殊的选项,但是要把组下面的用户先删除才可以删除这个组