乐趣区

关于linux:Linux-使用-su-切换用户或指定用户执行命令

应用阐明

# 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 运行某些(或全副)命令。
退出移动版