Linux系统之用户管理

Linux系统之用户管理

一、用户及用户组存在的意义

1.用户存在的意义

系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有资源配合
1.身份 account
2.授权 author
3.认证 auth
3A机制,3A机制组成系统中最底层的安全架构

2.用户组存在意义

用户组是一个逻辑容器
对用户进行归类和统一授权

2.用户及用户组在系统中的存在方式

电脑对数字敏感 id
人类对字符串敏感 名称
id<-------> 名称 必须要记录到文件当中用户才能存在
用户 就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group文件中的一行字符

三、用户切换

1.用户查看

whomai 查看当前用户
id 查看用户id信息
id -u 查看用户的用户id
id -g 查看用户主组id
id -G 查看用户所有的组的id
id -n 显示名称

2.用户切换 su - username

- 切换用户环境
username
如果root ----> commonuser 不需要后者密码
commonuser ----> root 需要密码
commonuser ----> commonuser 需要密码

注意:1.在做用户切换时当使用完毕用户身份及时退出 exit logout
2.不要在一个shell中反复执行su命令
3在一个shell中反复执行su命令会导致环境错乱

四、用户涉及到的系统配置文件

/etc/passwd 用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
----1----------2----------3---------4-----------5-----------6-----------7-----------

/etc/group 组身份信息文件
组名称:组密码:组id:组的附加成员
----1-------2-------3---------4--------
/etc/skel/.* 用户环境配置文件模板
/etc/shadow 用户认证信息文件
/home/username 用户家目录

五、用户和用户组建立及删除

监控用户建立的命令
-n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"
watch
useradd username
useradd -u id username
useradd -g id username 主组id
useradd -G id username附加组id
useradd -d dir username 指定用户家目录
useradd -M username 建立用户时不建立家目录
useradd -c word username 指定用户说明
useradd -s shell username 指定用户shell
userdel -r username 用户删除 -r 删除用户的系统配置文件

uid
2^16=0-65535
0 表示超级用户
1-200 系统预留id
201-999 系统用户
1000-60000 用户级用户
/etc/login.defs 记录用户建立的默认规则

groupadd groupname组建立
groupadd -g id groupname 指定组id
groupdel groupname 组删除

六、用户和用户组的信息管理

usermod -l username 更改用户名称
usermod -u username 更改用户id
usermod -g username 更改主组id
usermod -G username 更改用户附加组身份
usermod -aG username 添加用户附加组身份
usermod -c username 更改用户说明
usermod -d username 更改家目录指向
usermod -md username 更改家目录指向同时更改家目录名称
usermod -s username 更改默认shell
usermod -L username 冻结账号
usermod -U username 解锁
usermod groupmod -g username 更改用户组id

七、用户认证信息管理

1.用户名称

passwd -S lee 查看密码状态

2.用户加密字符

更改密码

passwd lee
只有root可以执行 echo 123 | passwd --stdin lee
passwd 普通用户改密码
Changing password for user lee.
Current password:输入原始密码
New password:输入新密码(8位以上无序数字+无序字母组合)

Retype new password: 重复输入
passwd: all authentication tokens updated successfully.

冻结认证

passwd -l lee 冻结账号认证
passwd -u lee 解锁账号认证

密码删除

passwd -d lee

密码使用天数

*从1970-1-1算其到今天的时间
passwd -e lee 修改默认使用时间为0,账号必须改密码才能登陆系统
chage -d 0 lee 修改默认使用时间为0,账号必须改密码才能登陆系统

密码最短有效期

passwd -n 1 lee lee在1天内不能改密码
chage -m 1 lee lee在1天内不能改密码

密码最长有效期

passwd -x 40 lee 40天内lee用户必须更新密码否则会被冻结
chage -M 30 lee 40天内lee用户必须更新密码否则会被冻结

密码过期警告

passwd -w 2 lee 账号过期前警告时间
chage -W 1 lee 账号过期前警告时间

认证非活跃天数

passwd -i 2 lee 账号认证最大时间超过后还能用多久
chage -I 1 lee 账号认证最大时间超过后还能用多久

账号认证到期时间

chage -E "2020-05-11" 到2020-5-11这天账号会被冻结

未启用功能

八、用户权力下放

1.在系统中普通用户是无法执行系统管理命令的
2.如果需要普通用户执行系统管理动作那么需要
root用户来进行授权
3.普通用户授权方式
sudo
作用:
可以使普通用户使用指定的用户身份呢运行命令
授权方法:
visudo 此命令作用是编辑/etc/sudoers并提供语法检测
在文件的100行左右
##代码规范性

username	hostname=(newusername)	[NOPASSWD:] /command,/command1
#lee用户 在linux.wesots.com主机=(用超级用户身份)	执行useradd命令
	lee	linux.westos.com=(root)					/usr/sbin/useradd
#westos用户	在linux.wesots.com	免密	执行useradd 和 userdel
westos	linux.wesots.com= (root)		NOPASSWD: 	/usr/sbin/useradd, /usr/sbin/userdel

测试:
`su - lee`
`sudo useradd westostest` ##在lee第一次使用sudo命令时需要输入lee密码
`exit` 退出lee



`su - westos`
`sudo userdel -r westostest` westos可以免密执行userdel 命令

猜你喜欢

转载自blog.csdn.net/qq_39679699/article/details/113065759
今日推荐