1. 用户管理原则
禁用 root 用户,严格控制 sudo 权限,合理分配普通用户。
root 用户,又称超级用户,在 Linux 系统中具有最高级别权限,并且不受系统安全设置的限制。例如,使用 !wq
可以无视权限强行修改文件内容,使用 rm -rf /
可以不加警告地删除系统根目录。在系统管理和日常使用中,应该禁用 root 用户以保证系统安全。
对于系统管理需求,推荐设置专用的管理员用户,赋予 sudo 权限,允许其临时以 root 身份执行命令。管理员用户数量不宜过多,需要严格控制。
对于日常使用需求,推荐合理地分配普通用户。长期闲置无人管理的僵尸用户是重要的安全风险,可以通过设置用户有效期,自动封禁过期用户。
2. 超级用户管理
2.1 相关操作
sudo passwd root # 启用 root 用户并设置密码
sudo passwd -l root # 禁用 root 用户
sudo vim /etc/ssh/sshd_config # 修改 PermitRootLogin 禁止/允许 root 用户远程登录
2.2 PermitRootLogin 可选项
/etc/ssh/sshd_config
用于配置远程连接,其中 PermitRootLogin
指定 root 用户通过 ssh 远程连接时的登录方式,如禁止登录、禁止使用密码登录、仅允许密钥登录和开放登录等,具体如下:
参数 | 解释 | 是否允许远程登陆 | 登录方式 | 交互式shell |
---|---|---|---|---|
yes | 开放登录 | 是 | 无限制 | 无限制 |
without-password | 禁止使用密码登录 | 是 | 不允许密码 | 无限制 |
forced-commands-only | 仅允许密钥登录 | 是 | 仅允许密钥 | 仅允许已授权的命令 |
no | 禁止登录 | 否 |
3. 普通用户管理
3.1 创建用户
sudo adduser ubuntu # 根据提示输入用户名、登陆密码、联系电话等必要信息
adduser
自动创建用户目录,通过文本指引配置密码、shell 等用户信息;
useradd
提供参数选项配置用户信息,如果无参数,则创建的用户无密码、无主目录、不指定 shell 脚本。
3.2 配置 sudo 权限
修改 /etc/sudoers
配置文件,添加/移除 sudo 权限。注意,用户组权限配置会覆盖用户配置,为用户添加 sudo 权限的同时,应该同时修改其用户组的权限配置。
user_name/group_name ALL=(ALL:ALL) ALL # 需要输入密码
user_name/group_name ALL=(ALL:ALL) NOPASSWD: ALL # 无需输入密码
3.3 删除用户
sudo userdel -r ubuntu # -r 删除用户目录