一、管理用户账号和组账号

1.1用户账号和组账号概述

1.1.1 用户分类与 UID 划分

1、超级管理员用户   UID 0 GID 0
2、程序用户        UID 1~999
3、普通用户        UID 1000+

权限隔离原理:普通用户无法操作 root 家目录等核心区域,如同公司员工不能随意进入老板办公室,确保了系统的安全性与隔离性。

1.1.2 用户组与特殊权限机制

用户组类比:用户组类似于公司部门(如财务部、销售部),用于管理具有相同权限的一批用户。

Sudo 权限组:`wheel` 或 `sudo` 组的作用,允许普通用户临时借用管理员权限执行特定命令,类比于企业 OA 流程中的临时授权审批。

1.2 用户账号文件

1.2.1 /etc/passwd 字段详解

保存用户名称、宿主目录、登录Shell等基本信息.

Shell 环境标识:最后一列若为 `/bin/bash` 表示允许登录系统,若为 `/sbin/nologin` 则表示禁止登录。

1.2.2 /etc/shadow

保存用户的密码、账号有效期等信息。

每一行对应一个用户的密码记录。

密码影子文件:`/etc/shadow` 文件存储加密后的密码及密码策略(如有效期),普通用户无读取权限。

1.3 组账号文件

与用户帐号文件相类似

/etc/group:保存组帐号基本信息。 /etc/gshadow:保存组帐号的密码信息

组类型定义:明确区分基本组(Primary Group)与附加组(Supplementary Group)。用户创建时默认生成同名基本组,附加组用于实现跨部门权限共享。

组的类型:1、基本组 2、附加值 (类似于员工基本工作和兼其他岗位)

二、管理目录和文件的属性

2.1 useradd命令添加用户账号

1 | useradd  [选项]...  用户名

useradd -M:不创建家目录。创建用户系统不会自动建立家目录,适用于仅需系统身份但无需独立工作空间的场景。

useradd -s:指定用户的登录 Shell。常用 -s /sbin/nologin创建不允许登录系统的用户(如程序用户)。

补充:批量创建用户:通过 `useradd` 结合大括号 `{}` 语法(如 `useradd test{1..9}`)可实现批量用户的快速创建。

2.2 设置/更改用户口令passwd

1 | passwd  [选项]...  用户名

密码修改命令:使用 `passwd 用户名` 命令为用户设置密码,系统会提示输入新密码。

2.3 删除用户账号userdel

1 | userdel  [-r]  用户名

强制删除用户:删除用户必须使用 `userdel -r 用户名` 命令,其中 `-r` 参数表示递归删除用户家目录及邮件池,避免残留文件导致后续创建同名用户失败。

2.4 添加组账号groupadd

1 | gpasswd  [选项]...  组帐号名

groupadd命令

1 | groupadd  [-g GID]  组账号名

2.5 添加删除组成员gpasswd

gpasswd命令

1 | gpasswd  [选项]...  组帐号名

常用选项

-a:向组内添加一个用户 -d:从组内删除一个用户成员 -M:定义组成员列表,以逗号分隔

2.6 删除组账号groupdel

groupdel命令

1 | groupdel  组帐号名

2.7 查询账号信息

2.7.1 groups命令 

查询用户所属的组

1 | groups  [用户名]

2.7.2 id命令 

查询用户身份标识

1 | id  [用户名]

2.7.3 finger命令

1 | inger  [用户名]

前提可能需要安装yum install 需要安装finger软件包

用户属性查询:`finger` 命令(需安装)可查看用户的登录属性、家目录及 Shell 环境。

补充:w 、who、users命令 查询已登录到主机的用户信息。

三、文件/目录的权限和归属

3.1.文件类型与归属

文件类型标识:第一列字符标识文件类型,`-` 表示普通文件,`d` 表示目录,`l` 表示软链接。

归属关系:第三列和第四列分别表示文件的属主(Owner)和属组(Group),决定了文件的基本管理权限。

3.2 权限位与数字表示法

权限位含义:权限分为三段(属主、属组、其他用户),`r` 代表读(4),`w` 代表写/修改/删除(2),`x` 代表执行/运行(1)。

数字权限计算:满权限为 `777`,例如 `rw-r--r--` 对应的数字权限为 `644`。

3.3 文件/目录的权限和归属

3.3.1 设置文件和目录的权限chmod 

chmod命令

常用选项 -R:递归修改指定目录下所有子项的权限

数字表示法(chmod):利用数字组合表示权限,如 755 表示属主(u)拥有读(4)、写(2)、执行(1)权限,属组(g)和其他用户(o)拥有读和执行权限。

递归修改权限:使用 `-R` 参数可递归修改目录及其子目录下所有文件的权限,例如 `chmod -R 666 abc` 将目录 `abc` 下所有文件权限设置为可读可写。

符号表示法(chmod):使用 `+`(增加)、`-`(去除)、`=`(设置)结合 `u/g/o` 和 `r/w/x` 进行权限调整,例如 `chmod u+x file` 表示为属主增加执行权限。

3.3.2 设置文件和目录的归属chown

chown命令

1 | chown  属主   文件或目录
2 | chown  :属组  文件或目录
3 | chown  属主:属组  文件或目录

常用选项 -R:递归修改指定目录下所有文件、子目录的归属

所有权转移:使用 `chown` 命令变更文件属主和属组,格式为 `chown user:group file`,其中 `:` 或 `.` 均可作为分隔符。

递归变更所有权:通过 `chown -R` 参数可递归变更目录及其下所有文件的属主和属组,例如 `chown -R zhangsan:zhangsan abc`。

单独修改属主或属组:若仅修改属主,格式为 `chown user file`;若仅修改属组,格式为 `chown :group file`。

最后可以通过逻辑验证

权限验证流程:通过 `ll` 命令查看文件权限后,切换至普通用户(如张三)尝试编辑文件,验证权限设置是否生效。

权限验证流程:通过 `ll` 命令查看文件权限后,切换至普通用户(如张三)尝试编辑文件,验证权限设置是否生效。

总结

1、用户的类型(3种)用户的UID范围(3种)
2、管理用户信息的文件(/etc/passwd 账号信息 /etc/shadow 密码信息) 

     管理组的文件(/etc/group /etc/gpasswd)
3、组的类型(2个)
4、用户和组的管理命令
useradd(-s -M)userdel (-r)groupadd gpasswd groupdel
用户的查询命令:
除了查看/etc/passwd之外,还有finger 用户名(查看用户登录信息),w/who 查看当前用户访问信息,last 查看最近登录成功的用户信息.

5、访问权限/管理所属ll --》查看详细信息时可以查看到的权限:
[root@localhost opt]# ll总用量 12- rw-r--r-- 1 root root   18 4月  16 09:20 1.txt

6、文件访问权限和管理所属对象命令:
chmod 管理访问权限 (数字表示、[ugo][+-][rwx] 独立设置文件权限) -R 表示递归设置
chown 管理的所属对象 chown 属主:属组 文件名 (-R表示递归设置)
 

更多推荐