Linux 使用 su 切换用户或指定用户执行命令
Posted 小伍
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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"
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 运行某些(或全部)命令。 |
以上是关于Linux 使用 su 切换用户或指定用户执行命令的主要内容,如果未能解决你的问题,请参考以下文章