用戶身份切換

su命令

命令 su
語法 : su [-] username
後面能夠跟「-」,也能夠不跟。普通用戶 su 不加 username 時就是切換到 root 用戶,固然 root 用戶一樣能夠 su 到普通用戶。 ―-‖這個字符的做用是,加上後會初始化當前用戶的各類環境變量,。下面作個簡單的實驗來講明加與不加「-」的區別:shell

若是不加「-」切換到 root 帳戶下時,當前目錄沒有變化。而加上「-」切換到 root 帳戶後,當前目錄爲 root帳戶的家目錄。這跟直接登陸 root 帳戶是同樣的。當用 root 切換普通用戶時,是不須要輸入密碼的。ssh

sudo命令

語法: sudo (選項) (參數)
選項: (該部分只作瞭解)
-b:在後臺執行指令;
-h:顯示幫助;
-H:將HOME環境變量設爲新身份的HOME環境變量;
-k:結束密碼的有效期限,也就是下次再執行sudo時便須要輸入密碼;
-l:列出目前用戶可執行與沒法執行的指令;
-p:改變詢問密碼的提示符號;
-s:執行指定的shell;
-u<用戶>:以指定的用戶做爲新的身份。若不加上此參數,則預設以root做爲新的身份;
-v:延長密碼有效期限5分鐘;
-V :顯示版本信息。spa

用來以其餘身份來執行命令,預設的身份爲root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經受權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,必須先輸入密碼,以後有5分鐘的有效期限,超過時限則必須從新輸入密碼。ip

sudo文件配置

  默認 root 可以 sudo,是由於這個文件中有一行―root ALL=(ALL) ALL‖。在該行下面加入「test ALL=(ALL) ALL」就可讓 test 用戶擁有了 sudo 的權利。這一行能夠說是核心配置,該配置分爲三部分,最左側是用戶名,指定哪一個用戶將擁有 sudo 的權利,第二部分左邊的 ALL 實際上是一個用戶名,即test 用戶能夠切換到哪一個用戶的身份,若是是 ALL 就表示全部用戶。小括號裏面指定主機名或者主機 IP,即, test 用戶從哪一個 ip 登陸來的, ALL 就是全部。最後面那個 ALL,用來指定 test 用戶可使用的命令都有哪些, ALL 就是所有命令均可以。若是是多個命令,用英文逗號隔開。使用「visudo」命令編輯/etc/sudoers配置文件,其實它的操做方法和前面介紹的―vi‖命令使用方法是同樣的,按 i 進入編輯模式,編輯完成後,按「Esc」,再輸入:wq 完成保存。該配置文件修改後不用重啓任何服務便可生效。it

因爲切換到 test 帳戶後的當前目錄依舊是在/root 下, test 帳戶沒有任何權限,因此 ls 的時候提示說權限不夠。然而使用 sudo ls 輸入 test 帳戶自身的密碼後就有權限了。初次使用 sudo 時會有上面的一大段提示,然後再次使用 sudo 命令則再也不提示。test

把想讓有 sudo 權利的全部用戶加入到 wheel 這個組中:登錄

限制root遠程登陸

該方法只適用於經過ssh遠程登陸Linux的時候。修改配置文件vi /etc/ssh/sshd_config,修改「#PermitRootLogin yes」爲「PermitRootLogin no」,即不容許root遠程登陸。後臺

相關文章
相關標籤/搜索