介紹:主要對su和sudo的功能,區別以及使用進行介紹。
兩者之間的區別
su用于用戶之間的切換;
sudo用于普通用戶可以使用root權限來執行指定命令;
命令介紹
1. su
su簡介
su用于用戶之間的切換。但是前面的用戶依然保持在登錄狀態。這種切換如果超級權限用戶root向普通或虛擬用戶切換不需要密碼,而普通用戶切換到其它任何用戶都需要密碼驗證。
su用法
su在不加任何參數,默認為切換到root用戶,但沒有轉到root用戶家目錄下,也就是說這時雖然是切換為root用戶了,但并沒有改變root登錄環境;用戶默認的登錄環境,可以在/etc/passwd 中查得到,包括家目錄,SHELL定義等;
su
su 加參數 - ,表示默認切換到root用戶,并且改變到root用戶的環境;
su -
su切換到其他用戶
su test
su缺點
不安全-su工具在多人參與的系統管理中,并不是最好的選擇,su只適用于一兩個人參與管理的系統,畢竟su并不能讓普通用戶受限的使用;超級用戶root密碼應該掌握在少數用戶手中;
如果某個用戶需要使用root權限、則必須要把root密碼告訴此用戶;
2. sudo
sudo簡介
sudo是為所有想使用root權限的普通用戶設計的。可以讓普通用戶具有臨時使用root權限的權利。只需輸入自己賬戶的密碼即可。當然這個普通用戶必須在/etc/sudoers文件中有配置項、才具有使用sudo的權利;
sudo用法
[sudo 指令 或 sudo -u username 指令]表示以某用戶的環境執行命令, 不加用戶表示以root用戶的身份執行。
sudo -u appops
sudo執行流程
當用戶執行sudo時,系統在/etc/sudoers檔案中搜索該使用者是否具有 sudo執行權限;
若使用者具備可執行的sudo權限后,便讓使用者【輸入自己的密碼】來確認;
若密碼輸入成功,便開始執行sudo后續的指令(root執行sudo時無需輸入密碼);
若切換者的身份與執行者相同時,也無需輸入密碼。