文章目录
一、用户及用户组存在的意义
1.用户存在的意义
系统资源是有限的,如何合理分配系统资源?
Linux的特性是:多用户,多任务。
不同的用户执行自己的任务时互不干扰,每个用户不能越界去访问其他正在执行的任务,可见linux就是通过权限的划分和管理来实现多用户、多任务的运行机制。而Linux中的用户其实也是一个道理,通过建立不同权限的用户,一来可以合理的控制和运用系统的资源,二来可以帮助用户构建自己的私人空间,更好的组织和管理自己的文件。
1)身份 :account
2)授权 :authorization
3)认证 :authentication
3A机制,3A机制组成系统中最底层的安全架构
2.用户组存在的意义
- 用户组是一个逻辑容器
- 对用户进行归类和统一授权
二、用户及用户组在系统中的存在方式
- 用户是 /etc/passwd 文件中的一行字符
- 用户组 存在方式是/etc/group 文件中的一行字符
id -------->名称 (必须要记录到文件当中 用户才能存在)
三、用户的查看与切换
1.用户查看
whoami | 查看当前用户 |
---|---|
id 用户 | 查看用户信息 |
id -u 用户 | 查看用户的用户id |
id -g 用户 | 查看用户主组id |
id -G 用户 | 查看用户所有的组的id |
id -nu/g/G 用户 | 显示名称 |
2.用户切换
su - username | 切换到username下 |
---|---|
- | 切换用户环境 |
username | 如果root(超级用户)—>commuser(普通用户) 不需要输入密码 |
commuser(普通用户)—>root(超级用户) 需要密码 | |
commuser(普通用户)—>commuser(普通用户) 需要密码 |
su westos (没有 - )【不切换环境】
- root(超级用户)—>commuser(普通用户)
- commuser(普通用户)—>root(超级用户)
- commuser(普通用户)—>commuser(普通用户)
注意: - 在做用户切换时,若用户身份使用完毕后,应及时退出
- 不要在一个shell中反复执行su命令(会导致环境错乱)
四、用户涉及到的系统配置文件
/etc/passwd :[用户身份信息文件]
/etc/group :[组身份信息文件]
/etc/skel/.* :[用户环境配置文件模板]
在新建用户后登陆时会看到/etc/skel/下的文件
/etc/shadow :[用户认证信息文件]
/home/username :[用户家目录]
五、用户和用户组建立及删除
- watch -n 1 “tail -n 3 /etc/passwd /etc/group ; ls -l /home/”(监控用户建立的命令 )
[ ; 使输入的多个命令同时起作用」
useradd -u username | 用户id |
---|---|
useradd -g username | 主组id |
useradd -G id username | 附加组id(添加多个附加组之间用 , 隔开) |
useradd -d dir username | 指定用户家目录 |
useradd -M username | 不创建家目录 |
useradd -c word username | 指定用户说明 |
useradd -s shell username | 指定shell |
0:超级用户
1-200:预留id
201-999:系统用户
1000-60000:用户级用户
/etc/login.defs:记录用户建立的默认规则
userdel -r username | 删除用户的系统配置文件 |
---|
groupadd -g id groupname | 指定组名称 |
---|
六、用户和用户组的信息管理
1.用户信息管理
usermod -l | 更改用户名称 |
---|---|
usermod -u | 更改用户id |
usermod -g | 更改用户主组id |
usermod -G | 更改用户附加组身份 |
usermod -aG | 添加用户附加组身份 |
usermod -c | 更改用户说明 |
usermod -d | 更改用户家目录 |
usermod -md | 更改用户家目录指向,同时更改家目录名称 |
usermod -s | 更改默认shell |
usermod -L | 冻结账号 |
usermod -U | 解锁 |
2.用户组信息管理
- groupmod -g 更改用户组id
七、用户认证信息管理
cat /etc/shadow
1.用户名称
2.加密密码
3.最近一次修改密码日期:从1970年1月1日起到最后一次被修改那天的时间天数
4.密码最小使用权限:密码使用多少天后才能够换密码
5.密码最大使用权限:密码使用多少天后必须换密码
6.密码警告期:密码到期前几天提醒用户
7.密码非活跃期:密码到期后用户仍可使用几天
8.账户过期日期:从1970年1月1日算起,多少天后账号失效
9.预留
1) Passwd 用法
passwd -S username | 查看密码状态 |
---|---|
passwd -username | 修改密码 |
passwd –l | 冻结密码 |
passwd –u | 解锁冻结 |
passwd –d | 删除密码 |
passwd –e | 清零上次修改密码时间 使得用户在下次登录时必须改密码 |
passwd –n | 修改密码最小使用权限 |
passwd -x | 修改密码最大使用权限 |
passwd –w | 修改警告时间 |
passwd –i | 修改非活跃期限 |
- 查看密码状态
- 修改密码
超级用户下:改普通用户username的密码
echo 123 | passwd --stdin username [只有root下才可以执行]
普通用户下:修改密码
需输入原始密码
密码设定必须为8位以上无序数字+无序字母的组合
- 冻结及解锁密码
- 删除密码
括号内为linux密码
输入passwd -d linux 命令后,括号内密码被删除
2)Chage 用法
chage –d | 更改上次修改密码时间 |
---|---|
chage –m | 更改最小密码使用权限 |
chage –M | 更改最大密码使用权限 |
chage –W | 更改警告时间 |
chage –I | 更改非活跃期限 |
chage –E | 更改账号到期时间 |
- 修改账号到期时间
【以下修改均可用passwd或chage命令操作】
- 设置密码立即过期(更改上次修改密码日期)
强制用户在下次登录时修改密码:
设置上次修改密码时间距离1970-1-1日23天
- 修改最小密码使用权限
- 修改密码最大使用权限
- 修改密码过期前警告时间
- 修改密码到期后非活跃期限
八、用户权力下放
在系统中普通用户无法执行系统管理命令时, 如果需要普通用户执行系统管理动作,那么需要root用户来进行授权(权力下放)。
授权方式:
sudo | 可使普通用户使用指定的用户身份来运行命令 |
---|
授权方法:
输入命令 visudo ,:100 定位到需要修改的那一行
插入模式下,写入给哪个用户下放哪些权限(添加、删除用户)
切换到普通用户,这时就可以添加和删除用户了
- GET