Linux系统中的用户管理
文章目录
一、用户及用户组存在方式
id
:名称,必须要记录到文件当中用户才能存在
1、用户就是/etc/passwd
文件中的一行字符,里面会有它的身份(account),授权(author),认证(auth)。
2、用户组存在的方式就是/etc/group
文件中的一行字符,用户组是一个逻辑容器,会对用户进行归类和统一授权。
二、用户和用户组建立及删除
1、监控用户建立
监控用户建立的命令(每秒更新显示/etc/passwd
和/etc/group
的后四行,以及/home
下内容的属性)
watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"
2、用户的建立和删除
用root(超级用户)登录
(1)useradd username
:用户建立
(2)useradd -u id username
:建立指定uid
的用户,uid
的范围 2*16=0-65535
0 表示超级用户
1-200 系统预留id
201-999 系统用户
1000-60000 用户级用户
/etc/login.defs
里记录用户建立的默认规则
(3)useradd -g id username
:主组id
(4)useradd -G id username
:附加组id
(5)useradd -d dir username
:指定用户家目录
(6)useradd -M username
:建立用户时不建立家目录
(7)useradd -c word username
:指定用户说明
(8)useradd -s shell username
:指定用shell
(9)userdel -r username
:用户删除 ,-r
删除用户的系统配置文件
3、用户组的建立和删除
(1)groupadd groupname
:组建立
(2)groupadd -g id groupname
:指定组名称
(3)groupdel groupname
:组删除
三、用户切换
1、用户查看
(1)whoami
:查看当前用户
(2)id
:查看用户id信息
(3)id -u
:查看用户的用户id
(4)id -g
:查看用户主组id
(5)id -G
:查看用户所有的组的id
(6)id -n
:显示名称
2、用户id范围
用户id范围:0-65535
(1)0:Linux超级用户ID
(2)1-999:Liunx系统自用ID
(3)1000-65535:用户级ID
以上ID设定规则都被记录在/etc/login.defs
3、用户切换
(1)su - username
(2)-
表示切换用户环境
(3)username
:
root ——> commonuser 不需要后者密码
commonuser ——> root 需要密码
commonuser ——> commonuser 需要密码
注意:在做用户切换时当使用完毕用户身份需及时退出,不要在一个shell中反复执行su
命令,否则会导致环境错乱
四、用户涉及到的系统配置文件
1、/etc/passwd
:用户身份信息文件
(用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell)
2、/etc/group
:组身份信息文件
(组名称:组密码:组id:组的附加成员)
3、/etc/skel/.*
:用户环境配置文件模板
4、/etc/shadow
:用户认证信息文件
5、/home/username
:用户家目录
6、/var/spool/mail/username
:用户邮箱文件
五、用户和用户组的信息管理
1、用户的信息管理
命令:usermod
后加:
(1)-l newname username
:更改用户名称
(2)-u id username
:更改用户id
(3)-g id username
:更改主组id
(4)-G groupname
:更改用户附加组身份
(5)-aG groupname
:添加用户附加组身份
(6)-c
:更改用户说明
(7)-d dir
:更改家目录指向
(8)-md dir
:更改家目录指向同时更改家目录名称
(9)-s
:更改默认shell
(10)-L
:冻结账号
(11)-U
:解锁
2、用户组的信息管理
groupmod -g
:更改用户组id
六、用户认证信息管理
/etc/shadow
文件内容说明
用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)
1、用户名称
passwd -S lee
:查看密码状态
2、用户加密字符
2.1 更改密码
(1)passwd lee
:只有root可以执行
echo 123 | passwd --stdin lee ##输出123为用户lee的密码
(2)passwd
:普通用户改密码
Changing password for user lee
Current password: ##输入原始密码
New password: ##输入新密码(8位以上无序数字+无序字母组合)
Retype new password: ##重复输入
passwd: all authentication tokens updated successfully.
2.2 冻结认证
(1)passwd -l lee
:冻结账号认证
(2)passwd -u lee
:解锁账号认证
2.3 密码删除
passwd -d lee:
密码删除
3、其他信息管理
3.1 密码使用天数
从1970-1-1算其到今天的时间
(1)passwd -e lee
:修改默认使用时间为0
(2)chage -d 0 lee
:账号必须改密码才能登陆系统
3.2 密码最短有效期
(1)passwd -n 1 lee
:用户lee在1天内不能改密码
(2)chage -m 1 lee
3.3 密码最长有效期
(1)passwd -x 40 lee
:40天内用户lee必须更新密码否则会被冻结
(2)chage -M 30 lee
3.4 密码过期警告
(1)passwd -w 2 lee
:账号过期前警告时间
(2)chage -W 1 lee
3.5 认证非活跃天数
(1)passwd -i 2 lee
:账号认证最大时间超过后还能用多久
(2)chage -I 1 lee
3.6 账号认证到期时间
chage -E "2020-05-11"
:到2020-5-11这天账号会被冻结
3.7 未启用功能
八、用户权力下放
1、在系统中普通用户是无法执行系统管理命令的,但如果需要普通用户执行系统管理动作,就需要root用户来进行授权;
2、普通用户授权方式 “sudo”,作用:可以使普通用户使用指定的用户身份运行命令
3、授权方法:
(1)visudo
:此命令作用是编辑/etc/sudoers
并提供语法检测
(2)在文件的100行左右添加需要的权力,注意代码规范性