【Linux篇】面试——用户和组、文件类型、权限、进程
目录
一、权限管理
1. 用户和组
(1)相关概念
(2)用户命令
① useradd(添加新的用户账号)
② userdel(删除帐号)
③ usermod(修改帐号)
④ passwd(用户密码的管理)
(3)组命令
① groupadd(增加一个新的用户组)
② groupdel(删除一个已有的用户组)
③ groupmod(修改用户组的属性)
(4)与用户账号有关的系统文件
① /etc/passwd 文件
② /etc/shadow 文件
③ /etc/group 文件
2. 文件基本属性
(1)文件类型
(2)文件权限
(3)chgrp 更改文件属组
(4)chown 更改文件属性
① 更改文件所有者(owner)、更改文件所属组
② 更改文件 9 个属性
二、进程相关
1. ps(显示进程状态)
(1)显示系统中全部的进程信息
(2)查找当前系统运行状态中指定的进程信息
(3)当前系统运行状态中指定用户的进程信息
2. top(实时显示系统运行状态)
3. kill(杀死进程)
(1)结束某个指定的进程(数字为对应的 PID 值)
(2)强制结束某个指定的进程(数字为对应的 PID 值)
4. netstat(显示网络状态)
(1)显示系统网络状态中的所有连接信息
(2)显示系统网络状态中的 UDP 连接信息
(3)显示系统网络状态中的 UDP 连接端口号使用信息
(4)显示网卡当前状态信息
(5)显示网络路由表状态信息
(6)找到某个服务所对应的连接信息
一、权限管理
1. 用户和组
(1)相关概念
用户 是 Linux 系统 中的一个 账户,代表 一个操作者 或 一个 服务进程。每个用户 都有一个 唯一的 用户名 和 身份标识(UID)。用户 登录系统时,需要 提供 有效的 用户名 和 密码,以 验证其身份。用户根据其身份 可以访问 特定的 文件和资源。
- 文件和目录的 权限设置 决定了 哪些用户 可以读取、写入或执行它们。每个用户 都有 自己的 家目录(如 /home/username),用于 存储 个人文件和配置。这提供了一定程度的隐私和安全隔离。
组 是一组用户的 集合,它 允许 对多个用户 应用相同的 权限设置。通过 将用户 添加到 组中,管理员 可以 轻松地 为组内的 所有用户 设置相同的 文件 和 目录权限。
- 组 可以用来 控制 对共享资源的 访问,如打印机、文件服务器等。组成员 可以 共享 相同的 文件和目录,方便协作 和 数据共享。
- 组 简化了 权限分配 和 管理的 过程。例如,通过 更改 组权限,可以 一次性 更新 组内 所有用户的权限,而不需要 单独 更改每个用户。
- 组策略 可以 限制 对敏感数据的 访问,提高 系统的 安全性。通过 将用户 分配到 不同的组,可以更好地 控制 对敏感资源的 访问。
(2)用户命令
① useradd(添加新的用户账号)
useradd 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
② userdel(删除帐号)
userdel 选项 用户名
-r 把用户的主目录一起删除
③ usermod(修改帐号)
usermod 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
④ passwd(用户密码的管理)
passwd 选项 用户名
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
默认用户名,则修改当前用户的口令。
(3)组命令
① groupadd(增加一个新的用户组)
groupadd 选项 用户组
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
② groupdel(删除一个已有的用户组)
groupdel 用户组
③ groupmod(修改用户组的属性)
groupmod 选项 用户组
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
(4)与用户账号有关的系统文件
① /etc/passwd 文件
Linux 系统中的 每个用户 都在 /etc/passwd 文件中 有一个 对应的 记录行,它 记录了 这个用户的 一些 基本属性。
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
- 用户标识号:系统内部 用它来 标识用户。通常 用户 标识号的 取值范围是 0~65 535。0 是 超级用户 root 的标识号,1~99 由 系统保留,作为 管理账号,普通用户 的 标识号从 100 开始。在 Linux 系统中,这个 界限是 500。
- 组标识号:记录的是 用户 所属的 用户组。它对应着 /etc/group 文件中的 一条记录。
- 主目录:用户的 起始 工作目录。它是 用户在 登录到 系统之后 所处的 目录。在 大多数系统中,各 用户的 主目录都 被组织在 同一个 特定的 目录下,而 用户 主目录的 名称 就是 该用户的 登录名。各 用户对 自己的 主目录有读、写、执行(搜索)权限,其他用户 对此目录的 访问 权限则 根据 具体情 况设置。
- Shell:用户登录后,要 启动一个进程,负责 将用户的 操作传给 内核,这个 进程是 用户 登录到 系统后 运行的命令 解释器 或 某个特定的 程序。
② /etc/shadow 文件
对 安全性 要求 较高的 Linux 系统都 把加密后的 密码字 分离出来,单独 存放在 一个文件中,这个文件是 /etc/shadow 文件。 有 超级用户 才拥有 该文件 读权限,这就 保证了 用户密码 的安全性。
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
- 登录名:是 与 /etc/passwd 文件中的 登录名 相一致的 用户账号。
- 密码字段:存放的是 加密后的 用户 口令字,长度为 13 个 字符。如果 为空,则 对应 用户 没有口令,登录时 不需要 口令;如果 含有 不属于 集合 { ./0-9A-Za-z } 中的 字符,则 对应的 用户 不能登录。
- 最后一次修改时间:表示的是 从某个 时刻起,到 用户最后 一次 修改口令时的 天数。时间 起点 对 不同的 系统可能 不一样。
- 最小时间间隔:指的是 两次 修改口令 之间 所需的 最小天数。
- 最大时间间隔:指的 是口令 保持有效的 最大天数。
- 警告时间:字段 表示的是 从系统 开始 警告用户到 用户密码 正式失效之间的 天数。
- 不活动时间:表示的是 用户 没有登录活动 但账号 仍能保持 有效的 最大天数。
- 失效时间:字段 给出的是一个 绝对的 天数,如果 使用了 这个字段,那么 就给出 相应账号的 生存期。期满后,该账号就不再是一个 合法的账号,也就不能 再用来登录了。
③ /etc/group 文件
将 用户 分组是 Linux 系统中 对用户 进行 管理及控制 访问权限的 一种手段。每个 用户 都属于 某个 用户组;一个 组中 可以有 多个用户,一个 用户 也可以 属于 不同的组。当一个 用户同时是 多个组中的 成员时,在 /etc/passwd 文件中 记录的是 用户所属的主组,也就是 登录时 所属的 默认组,而其他组 称为 附加组。
组名:口令:组标识号:组内用户列表
- 组名:是 用户组的 名称,由 字母或数字 构成。与 /etc/passwd 中的 登录名一样,组名 不应 重复。
- 口令:字段 存放的是 用户组 加密后的 口令字。一般 Linux 系统的 用户组 都没有口令,即 这个字段一般为空,或者是*。
- 组标识号:与 用户标识号 类似,也是一个 整数,被 系统内部 用来 标识组。
- 组内用户列表:是 属于这个组的 所有用户的 列表,不同 用户之间用 逗号(,)分隔。这个 用户组 可能是 用户的主组,也可能是 附加组。
2. 文件基本属性
在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组。
(1)文件类型
- d :目录文件。
- - :文件。
- l :表示为 链接文档(link file)。
- b :表示为 装置文件里面的可供储存的接口设备(可随机存取装置)。
- c :表示为 装置文件里面的 串行端口设备,例如键盘、鼠标(一次性读取装置)。
(2)文件权限
接下来的 字符中,以 三个 为一组,且均为 rwx 的三个参数的 组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。
(3)chgrp 更改文件属组
chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。
(4)chown 更改文件属性
① 更改文件所有者(owner)、更改文件所属组
chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名
② 更改文件 9 个属性
Linux 文件属性有 两种设置方法,一种是数字,一种是符号。Linux 文件的 基本 权限 就有 九个,分别是 owner/group/others(拥有者/组/其他)三种身份 各有 自己的 read/write/execute 权限。
// 数字修改
chmod [-R] xyz 文件或目录
xyz : 数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更
二、进程相关
1. ps(显示进程状态)
(1)显示系统中全部的进程信息
ps aux
(2)查找当前系统运行状态中指定的进程信息
ps -ef | grep ssh
// 以ssh为例
(3)当前系统运行状态中指定用户的进程信息
2. top(实时显示系统运行状态)
top -d 5 // 每隔5秒刷新一次信息
top -n 5 // 设定总显示次数为5次,随后自动退出
3. kill(杀死进程)
(1)结束某个指定的进程(数字为对应的 PID 值)
kill 9999
(2)强制结束某个指定的进程(数字为对应的 PID 值)
kilL -9 9999
4. netstat(显示网络状态)
(1)显示系统网络状态中的所有连接信息
netstat -a
(2)显示系统网络状态中的 UDP 连接信息
netstat -nu
(3)显示系统网络状态中的 UDP 连接端口号使用信息
netstat -apu
(4)显示网卡当前状态信息
netstat -i
(5)显示网络路由表状态信息
netstat -r
(6)找到某个服务所对应的连接信息
netstat -ap | grep ssh