1. su命令详解
本文主要讲解Linux怎么使用su命令切换用户,该命令用于切换当前用户到其他用户,如果由非root切换到其他账号时须输入目标帐号密码,root用户切换到其他用户,无须用户密码。
2. 实例
切换到root
命令:
[root@zcwyou ~]# su -
或者
[root@zcwyou ~]# su
默认情况下,如果su后面不指定账号,则表示目标切换到root。-表示切换到目标账号的变量环境。由目标用户 ~/.bashrc 文件所指定的环境。
Linux切换到root帐号
查看当前账号:
[root@zcwyou ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
查看当前用户账户
3. 使用root用户执行任务,执行完后自动退回原账户。
使用root的身份执行pwd
[root@zcwyou ~]# su -c pwd root
Linux临时切换用户
还有一个值得一提的 su 命令行选项为:-c。该选项允许你提供在切换到目标用户之后要运行的命令。
4. su与sudo
两个命令的最大区别是:sudo 命令需要输入当前用户的密码,su 命令需要输入 root 用户的密码。
如果需要使用root权限,推荐使用sudo。因为多用户环境下,每个使用sudo的账号只需要使用自己的密码,而su则要分享root密码。所以应该限制使用su.
5. 关于日志
默认情况下,sudo会使用root的身份执行命令,但是它们会使用 sudoer 所配置的用户名来记录是谁执行命令。但使用su命令切换到root后,无法记录原用户所执行的操作,只能记录root用户的操作。