Linux命令详解 - SU命令
Linux命令详解 - SU命令
root权限下:
-
进入
mike用户,环境不变/rootroot@Mikelucis:~# su mike mike@Mikelucis:/root$ pwd /root -
进入
mike用户,环境改变/home/mikeroot@Mikelucis:/home/mike# su - mike mike@Mikelucis:~$ pwd /home/mike
普通用户下:
-
mike用户下,su无效无法切换到root用户下mike@Mikelucis:~$ su Password: su: Authentication failure //权限不足 mike@Mikelucis:~$mike@Mikelucis:~$ su - Password: su: Authentication failure //权限不足 mike@Mikelucis:~$ -
mike用户下,成功进入root用户(用sudo提升权限),环境不变/home/mikemike@Mikelucis:~$ sudo su [sudo] password for mike: root@Mikelucis:/home/mike# pwd /home/mike -
mike用户下,成功进入root用户(用sudo提升权限),环境改变/rootmike@Mikelucis:~$ sudo su - [sudo] password for mike: root@Mikelucis:~# pwd /root
总结:
su 命令内若加了 - 参数则会加载 root 的环境,与直接用 root 登陆相同。
因为这样便于执行 /sbin 文件夹或者 /usr/sbin 文件夹里的程序。
而普通用户一般 path 系统变量里是没有这两个路径的。
如果不加 - 的话就只是权限切换。
这里的 - 本身是一个参数,而不跟其它的程序一样把 - 作为参数开始的指示符。
归根结底,这个参数就是告诉 su 加载要切换的用户答的环境。
su - 如果后面不带用户名的话就是切换到 root ,如果带用户名就是切换到对应的用户。

浙公网安备 33010602011771号