Linux下用户和组管理命令以及相关文件
用户查看和切换命令
查看“我是谁“
whoami
查看当前活动用户
who
查看当前用户的信息
id
参数 -u 查看当前用户UID
-g 查看当前用户GID
-G 查看当前用户所有组
切换当前用户
su - 切换用户名称
其中"-"的作用是切换用户时同时切换用户的工作环境;
不加切换用户名时默认切换到root用户下
利用su进行切换时尽量不超过三层,可能导致环境变量混乱
用户以及组相关文件
/etc/passwd 用户信息文件
格式介绍
kiosk : x : 1000 : 1000 : : /home/kiosk : /bin/bash
用户名 用户密码 UID GID 用户描述 用户家目录 用户默认shell
/etc/group 用户组信息文件
格式介绍
kiosk : x : 1000 :
组名称 组密码 GID 组内成员
/etc/shadow 用户密码相关文件
sshd : !! : 17985 : : : : : :
[1] [2] [3] [4] [5] [6] [7] [8] [9]
格式介绍
[1]用户名称
[2]用户密码:
用户的加密字符串,默认用的加密方式为sha512对称加密,
如果加密字符串前出现"!"那么用户被冻结
[3]用户密码最后一次被更改的时间:
此时间计算是从1970-1-1开始计算的累计天数
[4]用户密码最短有效期:
如果此位有设定数字,那么在此数字范围内的天数内是不能修改用户密码的
[5]用户密码最长有效期:
用户必须在此有效期内更新密码,如果超时会被冻结
[6]密码警告期限:
在过期前制定天数内会发送警告信息给用户
[7]用户非活跃天数:
此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数
[8]用户到期日:
默认为空,表示帐号一定会被冻结的时间点
[9]用户自定义列,目前没有启用
/etc/skel/.*
默认开启shell的配置,用户的骨文件
/home/username 普通用户家目录
/root 超级用户家目录
用户相关命令
添加用户
useradd
参数 -s 指定工作shell
-d 指定默认家目录
-u 指定用户UID
-g 指定用户所属组
-G 指定用户附加组
-c 指定用户描述内容
-M 不创建用户主文件夹
例:新建一个家目录为/home/time属于root组的且附加组为kiosk,描述内容为test,默认shell为csh的的用户student
修改用户信息
usermod
参数 -l 修改用户名称l
-s 修改工作shell
-d 修改默认家目录
-g 修改用户所属组
-G 修改用户附加组
-aG 增加用户附加组
-md 修改用户家目录(原家目录修改名称)
-c 修改用户描述内容
-L 锁定用户在用户密码前加入“!”
-U 解锁用户,在密码不为空时使用
例:对student家目录改为/home/student(仍使用原家目录),默认shell改为bash,取消附加组kiosk
删除用户
userdel
参数 -r 删除用户并清除用户相关配置
用户组相关命令
添加用户组
groupadd
参数 -g 指定用户组id
修改用户组信息
groupmod -g 修改用户组id
删除用户组
groupdel
例:建立用户组student,指定GID为500,后修改为200,并删除用户组
帐号管理
passwd 修改密码(root用户可以指定用户进行修改)
注意:
普通用户改密码时
1.必须知道当前用户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合
参数 -S 查看westos用户密码信息
-l 锁定用户在用户密码前加入“!!”
-u 解锁用户
-d 清空westos密密码
-e 会改变用户最后一次更改密码时间为0 ->用户密码最后一次被更改的时间,需要立刻修改密码
-n 用户在不能修改密码的时间 ->用户密码最短有效期
-x 设定用户必须改密码的时间 ->用户密码最长有效期
-w 密码过期前警告输出时间 ->密码警告期限
-i 密码过期后仍可登陆系统的天数 ->用户非活跃天数
chage
参数 -d 改变用户最后一次更改密码时间 ->用户密码最后一次被更改的时间
-m 用户在不能修改密码的时间->用户密码最短有效期
-M 设定用户必须改密码的时间 ->用户密码最长有效期
-W 密码过期前警告输出时 ->密码警告期限
-I 密码过期后仍可登陆系统的天数 ->用户非活跃天数
-E 用户到期日"指定参数为yy-mm-dd格式"
例:利用passwd设定用户一天之内不能修改密码
例:利用chage设定用户两天之内不能修改密码
例:利用chage设定用户2019-10-05帐号到期
例:锁定用户,解锁用户
用户授权文件以及命令
相关文件为/etc/sudoers
该文件可以直接编辑
但是推荐使用visudo编辑此文件,因为visudo命令是提供语法检测的
修改格式(一百行左右,建议复制标准行进行修改)
root ALL=(ALL) ALL
用户 主机名称=(得到的用户身份) 命令
例:赋予用户kiosk免密添加用户的权力