Linux系统中的用户管理
1.用户及用户组存在的意义
1.1用户存在的意义
系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有连个资源配合
1.身份 account
2.授权
author
3.认证
auth
3A机制,3A机制组成系统中最底层的安全架构
1.2用户组存在意义
用户组是一个逻辑容器
对用户进行归类和统一授权
2.用户及用户组在系统中的存在方式
电脑对数字敏感 id
人类对字符串敏感名称
id <-------> 名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
3.用户切换
3.1用户查看
命令名 | 命令示例 | 注释 |
---|---|---|
*whomai | ##查看当前用户 | |
*id | ##查看用户id信息 | |
-u | 查看用户的用户id | |
-g | 查看用户主组id | |
-G | 看用户所有的组的id | |
-n | 显示名称 |
用户id范围 | 0–65536 |
---|---|
0: | Linux超级用户ID |
1-999 | liunx系统自用ID |
1000-65535 | 用户级ID |
以上ID设定规则都被记录在/etc/login.defs
3.2用户切换
su - username
su
root ----> commonuser不需要后者密码
commonuser ----> root需要密码
commonuser ----> commonuser需要密码
不要在一个shell中反复执行su命令
4.用户涉及到的系统配置文件
/etc/passwd | ##用户身份信息文件,#用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认 |
---|---|
/etc/group | ##组身份信息文件#组名称:组密码:组id:组的附加成员 |
/etc/skel/.* | ##用户环境配置文件模板 |
/etc/shadow | ##用户认证信息文件 |
/home/username | ##用户家目录 |
/var/spool/mail/username | ##用户邮箱文件 |
5.用户和用户组建立及删除
useradd username | ##用户建立 |
---|---|
-u id username | ##uid0-65535;0表示超级用户;1-200系统预留id;201-999系统用户,1000-60000用户级用户 |
-g id | ##主组id |
-G id | ##附加组id |
-d dir | ##指定用户家目录 |
-c word | ##指定用户说明 |
-s shell | ##指定用shell |
userdel | ##用户删除 -r 删除用户的系统配置文件 |
---|
groupadd | ##组建立 |
---|---|
-g id groupname | ##指定组名称 |
groupdel groupname | ##组删除 |
6.用户和用户组的信息管理
usermod | – |
---|---|
-l | #更改用户名称 |
-u | #更改用户id |
-g | #更改主组id |
-G | #更改用户附加组身份 |
-aG | #添加用户附加组身份 |
-c | #更改用户说明 |
-d | #更改家目录指向 |
-md | #更改家目录指向同时更改家目录名称 |
-s | #更改默认shell |
-L | #冻结账号 |
-U | #解锁 |
7.用户认证信息管理
/etc/shadow 文件内容说明
用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:
账号非活跃期:账号到期时间:用户自定义(未使用)
7.1用户名称
passwd -S lee 查看密码状态
passwd lee ###只有root可以执行 “echo 123 | passwd–stdin lee”passwd
Current password:#输入原始密码
New password:##输入新密码(8位以上无序数字+无序字母组合)
Retype new password:##重复输入
passwd: all authentication tokens updated successfully.完成
冻结认证
passwd -l lee ##冻结账号认证
passwd -u lee ##解锁账号认证
密码删除
passwd -d lee
密码最短有效期
passwd -n 1 lee ##lee在1天内不能改密码
chage -m 1 lee
密码最长有效期
passwd -x 40 lee ##40天内lee用户必须更新密码否则会被冻结
chage -M 30 lee
8.用户权力下放
#在系统中普通用户时无法执行系统管理命令的
#如果需要普通用户执行系统管理动作那么需要
#root用户来进行授权
普通用户授权方式 “sudo”
作用:
可以使普通用户使用指定的用户身份呢运行命令
授权方法:visudo ##此命令作用是编辑/etc/sudoers并提供语法检测
username
hostname=(newusername)
[NOPASSWD:] /command, /command1
#lee用户 在linux.wesots.com主机=(用超级用户身份)
lee
linux.westos.com=(root)
/usr/sbin/useradd
#westos用户 在linux.wesots.com
westos linux.wesots.com = (root) NOPASSWD: /usr/sbin/useradd, /usr/
sbin/userdel