Linux命令详解 - SU命令

    技术2022-07-31  93

    Linux命令详解 - SU命令

    root权限下:

    进入 mike 用户,环境不变 /root

    root@Mikelucis:~# su mike mike@Mikelucis:/root$ pwd /root

    进入 mike 用户,环境改变 /home/mike

    root@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/mike

    mike@Mikelucis:~$ sudo su [sudo] password for mike: root@Mikelucis:/home/mike# pwd /home/mike

    mike 用户下,成功进入 root 用户(用 sudo 提升权限),环境改变 /root

    mike@Mikelucis:~$ sudo su - [sudo] password for mike: root@Mikelucis:~# pwd /root

    总结:

    su 命令内若加了 - 参数则会加载 root 的环境,与直接用 root 登陆相同。 因为这样便于执行 /sbin 文件夹或者 /usr/sbin 文件夹里的程序。 而普通用户一般 path 系统变量里是没有这两个路径的。

    如果不加 - 的话就只是权限切换。 这里的 - 本身是一个参数,而不跟其它的程序一样把 - 作为参数开始的指示符。

    归根结底,这个参数就是告诉 su 加载要切换的用户答的环境。 su - 如果后面不带用户名的话就是切换到 root ,如果带用户名就是切换到对应的用户。

    Processed: 0.010, SQL: 10