su、sudo、su - root的区别

su和sudo的区别

共同点:都是root用户权限;
不同点:su只获得root权限,工作环境不变,还是在切换之前用户的工作环境;sudo是完全获得root的权限和root的工作环境。
sudo:表示获取临时的root权限执行命令。
sudo执行命令的流程:

1、当前用户切换到root(或其他指定切换到的用户),
2、以root(或其他指定的切换到的用户)身份执行命令,
3、执行完成后,直接退回到当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。

su - root和su root区别

su - root:以root身份登录,then the shell is login shell, .bash_profile and .bashrc will be sourced.
su root/其他命令:与root建立一个连接,通过root执行命令。then only .bashrc will be sourced.
最直接的区别是su目录还是原先用户目录,su - root后目录就变为root用户的主目录

因此,可以在.bashrc修改PATH、PHP、APACHE、Mysql等路径。

Mac上的sudo -i

sudo -i :切换用户到root

posted @ 2018-03-07 23:32  AmyZYX  阅读(25499)  评论(0编辑  收藏  举报