一、用户和组账号管理
1.1用户账号
1.2组账号
- 基本组:有且唯一,默认新建用户时自动添加同名的组,基本组在 /etc/passwd 文件中指定
- 附加组:可有可无,可以有多个,附加组在 /etc/group 文件中指定
1.3ID
1.3.1UID
UID 是区分用户的基本依据,原则上每个用户的 UID 号应该是唯一的。
系统版本 |
超级用户 |
程序用户 |
普通用户 |
CentOS 6以前 |
0 |
1-499 |
500-60000 |
CentOS 7以后 |
0 |
1-999 |
1000-60000 |
1.3.2GID
与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID。
root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。
1.4用户账号管理
1.4.1用户文件位置
- /etc/passwd
存放保存用户名称、宿主目录、登录 Shell 等基本信息
| mtwm:x:1000:1000:mtwm:/home/mtwm:/bin/bash |
| mtwm 用户名称 |
| :x 密码占位符 |
| :1000 UID |
| :1000 GID |
| :mtwm 备注信息,描述 |
| :/home/mtwm 家目录路径 |
| :/bin/bash shell环境 |
| mtwm:$6$lUXP9zJMkSSSSJ.8$vkxPwwCWw25rfdlw0q7Zj.vHzG3p.Yen7b/pRB8cJbjtp.7sOTgvx434WCE0u/hNmQI3ItO4XFVaIhAEv6ySZ.::0:99999:7::: |
| |
| 第一mtwm:用户名 |
| 第二:密码 |
| 第三:最后一次修改密码时间 |
| 第四0:修改密码最小天数 |
| 第五99999:密码有效期 |
| 第六7:提前7天提醒 |
| 第七:宽限天数 |
| 第八:失效时间 |
| 第九:保留 |
1.4.2添加用户
| useradd [选项] 用户 |
| -u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。 |
| -d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。 |
| -e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 |
| -g:指定用户的基本组名(或使用 GID 号)。 |
| -G:指定用户的附加组名(或使用 GID 号)。 |
| -M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。 |
| -s:指定用户的登录 Shell /sbin/nologin |
| -r:创建系统用户 |
| -c:备注信息 |
1.4.3密码管理
| passwd [选项] 用户 |
| -d:清空指定用户的密码,仅使用用户名即可登录系统。 |
| -l:锁定用户账户。 |
| -S:查看用户账户的状态(是否被锁定)。 |
| -u:解锁用户账户。 |
1.4.4修改用户属性
| usermod [选项] 用户名 |
| -l 更改用户账号的登录名称(Login Name) |
| -L 锁定用户账户 |
| -u 修改用户的 UID 号 |
| -U 解锁锁用户账户 |
| -d:修改用户的宿主目录位置。 |
| -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 |
| -g:修改用户的基本组名(或使用 GID 号) |
| -G:修改用户的附加组名(或使用 GID 号) |
| -s:指定用户的登录 Shell |
1.4.5删除用户
| userdel [选项] 用户 |
| |
| -r 将宿主目录一起删除 |
1.4.6用户初始配置
用户宿主目录下的初始配置文件只对当前用户有效
| ~/ .bash_profile |
| |
| |
| ~/.bashrc |
| |
| |
| ~/.bash_logout |
| |
1.5组账号管理
1.5.1组账号文件
1.5.2添加组
| groupadd 组名 |
| |
| groupadd [-g GID] 组名 |
1.5.3管理组
| gpasswd 命令——添加、设置、删除组成员 |
| |
| -a:组内添加一个用户 |
| -d:组内删除一个用户 |
| -M:定义组成员列表,以逗号分隔 |
1.5.4删除组
1.6查询
- figure
查询用户帐号的详细信息
figure 用户账号
- w
查询已登录到主机的用户信息
| w [选项] [用户名] |
| -h 不显示输出信息的标题 |
| -l 用长格式输出 |
| -s 用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间 |
| -V 显示版本信息 |
- who
只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令
| who [选项] [file] |
| -a 列出所有信息,相当于所有选项。 |
| -b 列出系统最近启动的时间日期。 |
| -l 列出所有可登陆的终端信息。 |
| -m 仅列出关于当前终端的信息,`who -m` 命令等同于 `who am i`。 |
| -q 列出在本地系统上的用户和用户数的清单。 |
| -r 显示当前系统的运行级别。 |
| -s 仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。 |
| -u 显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。 |
| -T或-w 显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。 |
二、文件目录的权限和归属
2.1文件和目录的权限
二进制转换成十进制:
r =100(二进制)--->4(十进制)
w=010(二进制)--->2(十进制)
x =001(二进制)--->1(十进制)
二进制权限:
|
rwx |
rwx |
rwx |
二进制 |
111 |
111 |
111 |
十进制 |
7 |
7 |
7 |
-
对文件的权限

- r可以查看文件内容,如cat
- w可以修改文件内容
- x可以执行该文件
-
对目录的权限

- r可以使用ls查看此目录中文件列表
- w可以在目录中创建文件和删除文件,和文件本身权限无关
- x可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限
2.2修改文件和目录的权限chmod
| chmod #格式 |
| #1.模式法 |
| chmod [u:属主;g:属组;o:其他人;a:所有人][+:增加;-:减少;=:覆盖][r:读;w:写;x:执行]文件 |
| |
| #2.数字法 |
| chmod 三组数字 文件目录 |
| |
| -R 递归,将文件夹下所有文件都修改权限 |

2.3修改文件和目录的归属chown
| chown |
| |
| chown 属主 文件目录 |
| |
| chown :属组 文件目录 |
| |
| chown 属主:属组 文件目录 |
| |
| -R 递归,将文件夹下所有文件都修改权限 |

2.4umask
作用:保留在创建文件权限
| umask |
| 查看umask值:umask |
| 修改umask值:umask 数值 |
新建文件夹权限=777-umask(文件夹默认最高777)
新建文件权限=666-umask(文件默认最高666)
root的umask 默认是 022
非特权用户umask默认是 002
本文作者:德国南部之星
本文链接:https://www.cnblogs.com/mtwm/p/17575061.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)