Linux 用户和用户组
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个惟一的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:
- 用户账号的添加、删除与修改
- 用户口令的管理
- 用户组的管理
用户的查看
1.查看当前用户 whoami
2.系统中用户的查看
id ##产看指定用户id信息
id
- -u ##查看用户的uid
- -g ##查看用户的gid
- -G ##查看用户所在在所有组的id
- -n ##显示名称不显示数字
3.用户切换
- su - 用户名称
- su - 中的“-”标示在在用户身份切换时同时切换当前用户的环境‘
- su - 执行时高级用户切换到低级用户时不需要密码,低级用户切换到高级用户,平级用户切换时也需要密码
注意:每次苏切换到其他用户操作之后必须退出,然后再次切换到其他用户
用户在系统中的存储方式
/etc/passwd
- 用户信息文件:
- 用户名称:密码:uid:gid:说明:家目录:默认shell
/etc/group
- 用户组信息文件
- 组的名称:密码:组id:组成员:
/etc/shadow 认证信息文件:
- 用户名称
- 用户密码
- 用户密码最后一次被更改的时间
- 密码最短有效期
- 密码最长有效期
- 密码警告期限
- 密码非活跃期间
- 密码到期日
- 保留期
/etc/skel/.*
默认开启shell的配置,用户的骨文件
/home/username
用户的家目录
用户管理命令
用户的建立
用户信息监控命令:watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home’
- useradd ##建立用户时的,建立用户时,读取/etc/login.defs文件内容确定规则
- useradd -u 8888 branden ##指定用户uid
- useradd -g 21 branden ##指定用户初始组id “21用户组必须存在”
- useradd -G 21 branden ##指定用户符加组id “21用户组必须存在”
- useradd -c “hello“ branden ##指定用户的说明
- useradd -d /home/lee branden ##指定用户的家目录
- useradd -s /bin/sh branden ##指定用户默认shell (-s /sbin/nologin 不能登陆系统用户表达)
- groupadd ##建立用户组
- groupadd -g 888 ##建立用户组并指定用户组的id
- groupdel ##删除用户组
用户的删除
- userdell
- userdel branden ##删除用户但是不删除用户的配置文件
- userdel -r branden ##删除用户时删除用户的配置文件
更改用户信息
- usermod
- usermod -l 新名称 branden ##更改用户的名称
- usermod -u 6666 branden ##更改用户uid
- usermod -g 21 branden ##更改用户初始组
- usermod -G 21 branden ##更改用户附加组
- usermod -aG 72 branden ##添加用户附加组
- usermod -G “” branden ##删除用户所有附加组
- usermod -c “hahha” branden ##指定用户说明文字
- usermod -d /home/lee branden ##更改用户家目录指向
- usermod -md /home/lee branden ##更改用户家目录
- usermod -s /bin/sh branden ##更改用户默认shell
- usermod -L branden ##冻结用户
- usermod -U branden ##解锁用户
用户认证信息管理
/etc/shadows 认证信息文件:
此文件一共9列
一、用户名称
二、用户密码
- passwd branden
- passwd -l branden ##在密码前加入“!!“
- passwd -u branden
- usermod -L branden
- usermod -U branden ##在密码前加入“!”
- passwd -d branden ##密码设为空
注意
普通用户更改密码时 passwd -s branden 可以查看密码部分信息
1.必须知道当前永久原始密码
2.密码不能和账户名相似
3.密码不能时纯数字或者纯字母
4.密码不能是有序的字母和数字
三、用户密码最后一次被更改的时间
passwd -e branden ## 用户在登陆时会被强制改密码
chage -d o branden ##同上
四、密码最短有效期
passwd -n 1 branden ##branden用户一天之内不能更改密码
chage -m 1 branden ##branden用户一天之内不能更改密码
五、密码最长有效期
passwd -x 30 branden ##设定branden在30内必须更改密码
chage -M 40 branden
六、密码警告期限
passwd -w 2 branden ##密码过期前2天提前警告
chage -W 2 branden
七、密码非活跃期间
passwd -i 1 branden ##密码过期后仍可以登陆系统的天数
chage -I 1 branden
八、密码到期日
chage -E 2018-11-11 branden ##branden用户在2018-11-11会被冻结
九、用户自定义位置,目前没有启用
用户授权
用户授权配置文件
/etc/sudoers
授权配置命令
visudo
规范操作
文件100行左右
普通用户 主机名称=(转成新的用户身份) 命令1,命令2
- student desktop0.example.com=(root)
/usr/sbin/useradd ##执行需要密码 - student desktop0.example.com=(root)
NOPASSWS: /usr/sbin/usradd ##执行免密码