🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# su 命令 >[info] **su命令**用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。 在不加参数的情况下,**su命令**默认表示切换到root用户,之后只要输入root密码就可以切换身份为root了,操作完成后,使用`exit`或者`Ctrl+D`可以退出root切换到原先的用户。 ### 语法 su (选项) (参数) ### 选项 `-`或`-l`或`--login` 改变身份时,也同时变更工作目录,以及HOME、SHELL、USER、logname。此外,也会变更PATH变量 ### 参数 指定要切换的目标用户 ## 不加参数切换到root用户 ~~~ [luo@localhost ~]$ su 口令: # 这里输入root用户密码 [root@localhost.localdomain /home/luo] # pwd /home/luo [root@localhost.localdomain /home/luo] # exit exit [luo@localhost ~]$ ~~~ >[info] **su命令**后面还可以加上一个`-`参数,加上这个参数后,切换成root用户时,不但身份变成root,而且还能应用root的用户环境(所谓的用户环境就是`/etc/passwd`中自定义的用户家目录、使用Shell,以及关于这个用户的个性化设置等)。 ## 增加参数切换到root用户 ~~~ [luo@localhost ~]$ su - 口令: # 这里输入root用户密码 [root@localhost.localdomain ~] # pwd /root [root@localhost.localdomain ~] # exit [luo@localhost ~]$ ~~~ ## `su - param`切换到指定用户 ~~~ [luo@localhost ~]$ su - rose 口令: # 输入rose用户密码 [rose@localhost ~]$ pwd /home/rose [rose@localhost ~]$ ~~~ >[danger] 注意:从普通用户切换到root用户需要提供密码,从root切换到普通用户不需要密码 **su命令**虽然很方便,但是缺陷也很明显,就是切换成其他用户的时候需要知道对方密码。 如果需要切换到root用户就需要root密码,root是系统权限最高的用户,如果让太多人知道root密码,必然会不安全。为了解决这个问题我们可以使用**sudo命令**