目录
1. Linux 对用户和组的管理涉及三个重要的系统文件,请给出各自的名称并简述其条目结构。
2. 为什么要有组的概念?用户的主要组和补充组(辅助组)有什么区别?
3. 在 shell 切换用户时, su user 和 su - user 这两个命令有什么区别?
7. 从命令行使用 userdel 删除用户时加 -r 选项和不加 -r 选项有什么区别?
1. Linux 对用户和组的管理涉及三个重要的系统文件,请给出各自的名称并简述其条目结构。
① /etc/passwd :包含了系统中所有用户的基本信息,每行一个用户。条目结构包括用户名、加
密后的密码、用户 ID(UID)、主组 ID(GID)、用户描述信息、家目录路径和登录 shell ;
② /etc/group :包含了系统中所有组的信息,每行一个组。条目结构包括组名、密码占位符、
组 ID(GID)和组成员列表;
③ /etc/shadow :包含了系统中所有用户的加密密码和相关的安全设置,只有超级用户可以访
问。条目结构包括用户名、加密后的密码、上次修改密码日期、密码过期期限等。
2. 为什么要有组的概念?用户的主要组和补充组(辅助组)有什么区别?
(1)组的概念:
组是用于管理和控制用户权限的一种方式。它允许管理员按照组别分配权限,简化了权限管理。
(2)主要组:
主组是每个用户在创建时自动分配的一个组,用户对文件的所有权默认归属于主要组。
(3)补充组(辅助组):
辅助组是用户除了主组以外所属的其他组,允许用户共享文件和资源,并获取额外的权限。
3. 在 shell 切换用户时, su user 和 su - user 这两个命令有什么区别?
① su user :切换到用户user 的身份,但环境变量和工作目录不会改变;
② su - user :切换到用户user 的身份,同时也切换环境变量和工作目录到 user 的家目录,类似于完整登录该用户。
4. sudo 命令有什么作用?
sudo 允许普通用户以超级用户(root)的权限执行特定命令。
提升了系统安全性,避免了长期使用 root 账户的风险。
5. 普通用户要使用 sudo 命令需要满足什么条件?
普通用户需要在 /etc/sudoers 文件中被明确授权,以及输入自己的密码来验证身份。
6. 说明 su、sudo 和 sudo -i 的区别。
① su :切换用户身份;
② sudo :以当前用户的权限执行特定命令;
③ sudo -i :以 root 用户的环境变量登录,效果类似于使用 su - 切换到 root 用户。
7. 从命令行使用 userdel 删除用户时加 -r 选项和不加 -r 选项有什么区别?
① userdel -r :删除用户及其相关文件,包括家目录;
② userdel :仅删除用户的账号信息,保留家目录和其他文件。
8. 如何添加组成员?
使用 usermod 命令来添加组成员。
9. 能否删除主组,为什么?
一般不建议删除主组,因为主组决定了文件的所有权。
如果要更改用户的主组,可以通过 usermod 命令来修改。
10. 配置密码期限有几种方法,分别说明。
① chage 命令:可以设置用户的密码过期时间、最短更改时间间隔、最长有效时间等。
② passwd 命令:可以设置用户的密码过期期限,例如 passwd -x days username。
11. nologin shell在什么时候会用到?
nologin shell 是一种特殊的 shell ,其目的是禁止用户登录系统,但允许其他服务或程序使用该用户的身份运行服务。
通常用于系统账号或者某些服务账号,防止其被误用登录系统。