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