第 6 章 管理本地用户和组
1. Linux对用户和组的管理涉及三个重要的系统文件,请给出各自的名称并简述其条目结构。
答:
(1):/etc/passwd:username:x:UID:GID:comment:home_directory:shell.
(用户名:加密密码占位符:UID:GID:简短注释、描述或真实姓名:用户的主目录:用户默认的shell程序,在登陆时运行)。
- :/etc/group:groupname:x(组密码占位符):GID:补充组
- :/etc/shadow:username:加密的哈希密码:上次密码修改相隔纪元天数:两次密码修改之间相隔天数:密码过期之前最大不修改密码天数:密码过期前多少天警告用户:自密码过期之日起账户自动锁定之前能够无活动的天数:密码到期之日距离纪元的天数:
2. 为什么要有组的概念?用户的主要组和补充组(辅助组)有什么区别?
答:
- :组是需要共享文件和其他系统资源的用户集,组的存在使得系统可以按组的单位来管理用户,提高了系统的管理效率。
- 主要组和补充组除了登录在其他功能上并无区别,用户会按照对于组权限来进行操作;但主要组是用户在被创建时系统自动分配与其同名的组,可在/etc/passwd中查看,具有唯一性,并且用户在登陆时会默认成为该组的成员,且该用户创建的文件的所有组也是主要组,而补充组是按照需要人为后来添加的。
3. 在 shell 切换用户时, su user 和 su - user 这两个命令有什么区别?
答:su启动的是非登录shell,su user以该user用户身份启动shell但使用的是原始用户的环境设置,即不会运行user的登录shell;su - 启动的是登录shell,会如同user用户重新登录一般设置shell环境,且会运行user的登录shell。
4. sudo命令有什么作用?
答:sudo命令将以root用户的权限来执行命令。
5. 普通用户要使用 sudo命令需要满足什么条件?
答:
- :该普通用户在wheel组中
- :该普通用户文件被放入了/etc/sudoers.d目录,且在/etc/sudoers.d/用户名文件中包含
%用户名 ALL=(ALL) ALL内容。
6. 说明 su、sudo和 sudo -i 的区别。
答:su是切换到root用户,需要root用户的密码;sudo是以root用户权限来执行命令;sudo -i是切换到root用户,需要当前用户的密码。
7. 从命令行使用 userdel删除用户时加-r选项和不加-r选项有什么区别?
答:不加-r仅删除/etc/passwd中用户的信息;加-r不仅删除/etc/passwd中用户的信息,并且删除用户的主目录。
8. 如何添加组成员?
答:(1):使用usermod -aG groupname username指令。
(2):使用gpasswd -a username groupname指令。
- :使用groupadd groupname username指令。
9. 能否删除主组,为什么?
答:可以删除当前主组,但更为准确的说是更改了主组,因为每个用户都必须拥有一个主组,并且在更换主组后,用户会失去与其主目录相关的权限,在实际应用更多是使用newgrp来切换主组。
10. 配置密码期限有几种方法,分别说明。
答:
- chage 指令
(chage -m:最短期限 -M:最长期限 -W:警告期 -I:不活动期 -E:修改到期日期 -d:修改修改密码间隔时间)
- 编辑/etc/login.defs文件。
- nologin shell在什么时候会用到?
答:在不打算以交互方式登录系统的用户账户的替代shell