)
1. Linux 对用户和组的管理涉及三个重要的系统文件请给出各自的名称并简述其条目结构。答/etc/passwd用户信息文件格式为用户名:密码占位符:UID:GID:注释:家目录:登录shell/etc/shadow用户密码文件存储加密密码及密码时效信息/etc/group用户组信息文件格式为组名:密码占位符:GID:组成员列表2. 为什么要有组的概念用户的主要组和补充组辅助组有什么区别答1原因为了方便管理可以将同样功能的组放在一起实现资源的集中授权与共享2区别主要组是用户创建文件时默认所属的组每个用户有且仅有一个补充组用于附加权限一个用户可属于多个补充组方便跨组访问资源3. 在 shell 切换用户时 su user 和 su - user 这两个命令有什么区别答su user只切换身份 (UID)环境不变还在原来的工作目录用的是原来用户的环境变量 (比如 PATH, HOME )su - user完整切换用户身份环境也变会模拟该用户全新登录的过程会切换到该用户的家目录 (/home/user)。4. sudo 命令有什么作用答sudo允许普通用户临时以指定用户通常是root的身份去执行一条需要高权限的命令。不用告诉普通用户 root 密码也能让普通用户完成需要管理员权限的任务并且系统会记录谁在什么时候用了 sudo 执行了什么命令实现权限精细化管理。5. 普通用户要使用 sudo 命令需要满足什么条件答这个普通用户的用户名必须被明确地添加到 sudo 的授权配置里/etc/sudoers由 root配置用户名 ALL(ALL) ALL6. 说明 su、sudo 和 sudo -i 的区别。答su直接切换成 root需要 root 密码全程都是 rootsudo用当前用户密码只让这条命令享受 root 待遇执行完就退回普通身份sudo -i直接开一个 root 登录 shell环境也完整切换但仍用当前用户密码7. 从命令行使用 userdel 删除用户时加-r 选项和不加-r 选项有什么区别答加-r选项删除用户的同时一并删除用户的家目录不加-r选项仅删除用户账户信息家目录还留在硬盘里。8. 如何添加组成员答用usermod -aG 组名 用户名命令将用户添加到指定补充组-a 表示“追加”不会把原来的组踢掉9. 能否删除主组为什么答不能直接删除用户的主组因为主组与用户的UID/GID绑定用户创建的文件默认属于主组删除主组会导致文件的组归属失效影响文件权限管理。每个用户必须有一个主组。必须先修改那些用户的主组用 usermod -g 新主组 用户名确保没有任何用户再用这个组作为主组了然后才能删除它 (groupdel 组名)。10. 配置密码期限有几种方法分别说明。答1使用chage命令如chage -M 90 用户名设置密码最大有效期为90天2 直接编辑/etc/shadow文件修改对应条目里的密码时效字段11. nologin shell 在什么时候会用到答nologin shell用于系统服务账户如apache当某个账号只用来跑服务或做共享目录不希望有人真正登录系统时就把它的 shell 设成 /sbin/nologin这样一登录就被踢出。