一.用户切换与提权
大多数 Linux 服务器并不建议用户直接以 root 用户进行登录。一方面可以大大减少因误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险。鉴于这些原因,需要为普通用户提供一种身份切换或权限提升机制,以便在必要的时候执行管理任务。
Linux 系统为我们提供了 su、sudo 两种命令,其中 su 命令主要用来切换用户,而 sudo命令用来提升执行权限,下面分别进行介绍。
默认情况下,任何用户都允许使用 su 命令,从而有机会反复尝试其他用户(如 root)的登录密码,这样带来了安全风险。为了加强 su 命令的使用控制,可以借助于 pam_wheel
认证模块,只允许极个别用户使用 su 命令进行切换。实现过程如下:将授权使用 su 命令的用户添加到 wheel 组,修改/etc/pam.d/su 认证配置以启用 pam_wheel 认证。
2.PAM安全认证
PAM(Pluggable Authentication Modules),是 Linux 系统可插拔认证模块,是一种高效而且灵活便利的用户级别的认证方式,它也是当前 Linux 服务器普遍使用的认证方式 。
PAM 提 供 了 对 所 有 服 务 进 行 认 证 的 中 央 机 制 , 适 用 于 login , 远 程 登 录(telnet,rlogin,fsh,ftp),su 等应用程序中。系统管理员通过 PAM 配置文件来制定不同应用程序的不同认证策略。
我们的PAM认证配置文件就有我们的SU命令
vim /etc/pam.d/su 安全认证su配置
把lisi用户添加到wheel组
三.sudo提权
通过 su 命令可以非常方便地切换为另一个用户,但前提条件是必须知道目标用户的
登录密码。例如,若要从 jerry 用户切换为 root 用户,必须知道 root 用户的密码。对于生
产环境中的 Linux 服务器,每多一个人知道特权密码,其安全风险也就增加一分。
有没有一种折中的办法,既可以让普通用户拥有一部分管理权限,又不需要将 root 用
户的密码告诉他呢?答案是肯定的,使用 sudo 命令就可以提升执行权限。不过,需要由管
理员预先进行授权,指定允许哪些用户以超级用户(或其他普通用户)的身份来执行哪些命
令。
Cmnd_Alias 指令别名
User_Alias 用户别名
Host_Alias 主机别名
vim /etc/sudoers
原文地址:https://blog.51cto.com/14449524/2432775