应用阐明
# su -h用法: su [选项] [-] [USER [参数]...]将无效用户 id 和组 id 更改为 USER 的 id。如果未指定 USER,默认为 root。选项: -, -l, --login 切换用户时,同时切换环境变量(home,shell,user,logname,path等),不应用则获得用户的长期权限,不加载环境变量。用su命令切换用户后,能够用 exit 命令或快捷键[Ctrl+D]返回原登录用户 -c, --command <命令> 应用 -c 向 shell 传递一条命令 -s, --shell <shell> 指定应用的shell,默认为/etc/passwd文件中设定的值应用示例:su - admin -s /bin/sh -c "id"
常见的shell:
/bin/sh/bin/bash/sbin/nologin
runuser、su、sudo 的区别
命令 | root到用户 | 用户到root | 用户到用户 | 认证形式 | 日志文件 | 备注 |
---|
runuser | Y | N | N | 无 | 无 | 比 su 更底层。 |
su | Y | Y | Y | 指标用户的明码 | /var/log/auth.log 或/var/log/secure | root 明码泄露危险。 |
sudo | Y | Y | Y | 本人的明码 | /var/log/auth.log 或/var/log/secure | 让用户以 root 运行某些(或全副)命令。 |