17.权限管理☞用户和用户组
1|0一.用户概述
1|11.什么是用户
- 用户是操作系统提供的一种安全机制
- 用户是权限的化身
- 要使用操作系统必须事先输入正确的用户名与密码
1|22.为什么要创建用户, 有什么用
-
划分权限, 增强安全性
-
系统上的每一个进程(运行的程序),都需要一个特定的用户运行
1|33.如何查看一个用户及用户的权限
1|44.Linux中用户角色的划分
- Linux中分为 管理员用户与 普通用户
- 管理员用户拥有最高权限
- 其他用户根据管理员的分配拥有不同的权限
1|55.UID与 GID
- Linux系统通过UID和GID识别用户角色
- 那些用户账户(比如shawn), 其实都是给我们人看的,方便我们
- Linux系统能识别的仅仅是UID和GID这样的数字
- UID (User Identify)
- GID (Group Identify)
- CentOS 7 系统约定
- 用户和用户组的关系
1|65.超级用户
- 默认是 root 用户
- UID和 GID都为0
- root用户在每台unix/ linux操作系统中都是唯一且真实存在的
- 通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限
1|76.文件权限分类
- linux系统把文件的权限分为了三类
- 一个用户对文件的权限扫描的优先级
2|0二.用户管理命令
/etc/passwd
root:x:0:0:root:/root:/bin/bash
第⼀字段:⽤户名(也被称为登录名);
第⼆字段:⼝令;在例⼦中我们看到的是⼀个x,其实密码已被映射到/etc/shadow ⽂件中;
第三字段:UID ;请参看本⽂的UID的解说;
第四字段:GID;请参看本⽂的GID的解说;
第五字段:描述信息,可选
第六字段:⽤户的家⽬录所在位置;
第七字段:⽤户所⽤SHELL的类型
/etc/shadow
2|1
- small_egon:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7:::
- big_egon:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108:
- 第⼀字段:⽤户名(也被称为登录名),在/etc/shadow中,⽤户名和/etc/passwd 是相同的,这
- 样就把passwd 和shadow中⽤的⽤户记录联系在⼀起;这个字段是⾮空的;
- 第⼆字段:密码(已被加密),如果是有些⽤户在这段是x,表示这个⽤户不能登录到系统;这个字段
- 是⾮空的;
- 第三字段:上次修改⼝令的时间;这个时间是从1970年01⽉01⽇算起到最近⼀次修改⼝令的时间间隔
- (天数),您可以通过passwd 来修改⽤户的密码,然后查看/etc/shadow中此字段的变化;
- 第四字段:两次修改⼝令间隔最少的天数;如果设置为0,则禁⽤此功能;也就是说⽤户必须经过多少
- 天才能修改其⼝令;此项功能⽤处不是太⼤;默认值是通过/etc/login.defs⽂件定义中获取,
- PASS_MIN_DAYS 中有定义;
- 第五字段:两次修改⼝令间隔最多的天数;这个能增强管理员管理⽤户⼝令的时效性,应该说在增强了
- 系统的安全性;如果是系统默认值,是在添加⽤户时由/etc/login.defs⽂件定义中获取,在
- PASS_MAX_DAYS 中定义;
- 第六字段:提前多少天警告⽤户⼝令将过期;当⽤户登录系统后,系统登录程序提醒⽤户⼝令将要作
- 废;如果是系统默认值,是在添加⽤户时由/etc/login.defs⽂件定义中获取,在PASS_WARN_AGE
- 中定义;
- 第七字段:在⼝令过期之后多少天禁⽤此⽤户;此字段表示⽤户⼝令作废多少天后,系统会禁⽤此⽤
- 户,也就是说系统会不能再让此⽤户登录,也不会提示⽤户过期,是完全禁⽤;
- 第⼋字段:⽤户过期⽇期;此字段指定了⽤户作废的天数(从1970年的1⽉1⽇开始的天数),如果这
- 个字段的值为空,帐号永久可⽤; www.hackdig.com
- 第九字段:保留字段,⽬前为空,以备将来Linux发展之⽤;
- 如果更为详细的,请⽤ man shadow来查看帮助,您会得到更为详尽的资料
/etc/group:组⽂件
/etc/gshadow:组密码⽂件
/etc/skel/ ⽤户⽼家的模板
/home/xxx ⽤户家⽬录
/var/spool/mail/xxx ⽤户邮箱⽂件
2|21.用户与组相关的文件
- /etc/passwd : 用户文件
- /etc/shadow : 用户密码文件
- /etc/group : 组文件
- /etc/gshadow : 组密码文件
- /etc/skel : 用户老家模板目录
- /var/spool/mail/xxx : 用户邮箱文件
- /home/xxx : 用户家目录
用户
和⽤户、组相关的⽂件:
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
2|33.手动创建用户
手动添加用户:https://www.cnblogs.com/songhaixing/p/13893637.html
2|43.useradd : 添加用户
注意: 当创建一个用户没有指定用户主组, 将会创建一个同名的组作为用户的主组
-
常用选项
选项 | 功能 |
---|---|
-u | 指定用户的UID |
-g | 指定用户所属的主组 |
-G | 指定用户所属的附加组 |
-d | 指定用户的家目录 |
-c | 指定用户的备注信息 |
-s | 指定用户所用的shell |
-e | 修改过期时间 |
-M | 不创建家目录 |
-r | 创建系统用户, uid在1000以内,默认没有家目录 |
- 示例
🌵例如:在系统中新增⼀个⽤户user01,属组为police以及uid为600的命令:
useradd –u 600 –g police user01
# 其他练习
[root@root ~]# useradd user01
[root@root ~]# useradd user02 -u 503 # 创建⽤户usr02,指定uid
[root@root ~]# useradd user03 -d /aaa # 创建⽤户user03 指定家⽬录
[root@root ~]# useradd user04 -M # 创建⽤户user04,不创建家⽬录
[root@root ~]# useradd user05 -s /sbin/nologin # 创建⽤户并指定shell
[root@root ~]# useradd user06 -g hr # 创建⽤户,指定主组
[root@root ~]# useradd user07 -G sale # 创建⽤户,指定附加组
[root@root ~]# useradd user08 -e 2014-04-01 # 指定过期时间
[root@root ~]# useradd user10 -u 4000 -s /sbin/nologin
[root@aliyum ~]# useradd xxx -M -s /sbin/nologin # 创建普通⽤户,但是没有家⽬ 录,不能登录系统
[root@aliyum ~]# useradd -r yyy -s /sbin/nologin # yyy属于系统⽤户,uid处于系统⽤户uid范围内
2|54.usermod : 修改用户信息
-
常用选项
与 useradd 选项基本一致, 但这是修改
选项 | 功能 |
---|---|
-u | 指定修改用户的UID |
-g | 指定修改用户的主组 |
-G | 指定修改用户附属组,使用逗号分隔多个附属组,覆盖原有的附属组 |
-a | 与 "-G"连用, 让其变成追加附加组,而不是覆盖 |
-d | 指定修改用户家目录 |
-c | 指定修改用户注释信息 |
-s | 指定修改用户的 Bash Shell |
- 示例
usermod命令
同useradd参数基⼀致,只不过useradd是添加,usermod是修改
-u #指定要修改⽤户的UID
-g #指定要修改⽤户基本组
-a #将⽤户添加到补充组。仅与-G选项⼀起使⽤
-G #指定要修改⽤户附加组,使⽤逗号隔开多个附加组, 覆盖原有的附加组
-d #指定要修改⽤户家⽬录
-c #指定要修改⽤户注释信息
-s #指定要修改⽤户的bash shell
[root@root ~]# usermod -e 2013-02-11 user1000 # 修改过期时间
[root@root ~]# usermod -g group1 jj # 修改主组
[root@root ~]# usermod -a -G group2 jj # 修改附加组,-a添加,不加-a代表覆盖
其他选项
-m #将⽤户主⽬录的内容移动到新位置。如果当前主⽬录不存在,则不会创建新的主⽬录
-l #指定要修改⽤户的登陆名
-L #指定要锁定的⽤户
-U #指定要解锁的⽤户
-
其他参数
选项 | 功能 |
---|---|
-l | 指定修改用户的登入名 |
-L | 指定要锁定的用户 |
-U | 指定要解锁的用户 |
- 演示
2|65.userdel : 删除用户
3|0三.组管理命令
3|11.groupadd : 创建组
- 常用选项
选项 | 功能 |
---|---|
-g | 指定GID |
-r | 创建系统组 |
组管理命令汇总
groupadd
groupmod
groupdel
gpasswd # 设置组密码
newgrp # 切换主组
示例
3|22.groupmod : 修改组
- 常用参数
选项 | 功能 |
---|---|
-g | 修改成指定的GID |
-n | 修改组名称 |
- 示例
3|33.groupdel : 删除组
- 如果一个组是一个用户的主组的话, 那么该组不能被删除
- 删掉用户会默认一起删掉它的主组
- 能删掉的只能是不是任何用户主组的组
4|0四.组成员管理命令
4|11.组的分类
- 一类是基本组或称主组,用户只能有一个基本组,创建时可通过 -g 指定,如未指定则创建一个默认的组(与用户同名)
- 二是附加组,基本组不能满足授权要求时,可以创建附加组,将用户加入该组,用户可以属于多个附加组,加入一个组后就拥有了该组的权限
4|22.gpasswd : 设置组密码及对用户和组的操作
- 常用选项
选项 | 功能 |
---|---|
-a | 将某个用户加入到某个组 |
-M | 将多个用户加入到一个组 |
-A | 将某个用户设为某个组的组长,那么也有了增和删成员的权限 |
-d | 将用户从组中删除 |
- 示例
- 设置密码
4|33.newgrp : 切换主组
- 语法
- 创建一个文件
- 切换用户操作文件
__EOF__
本文链接:https://www.cnblogs.com/zeny/articles/14438832.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文来自博客园,作者:ଲ小何才露煎煎饺,转载请注明原文链接:https://www.cnblogs.com/zeny/articles/14438832.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报