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