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