Linux基礎命令之su和sudo

2021-09-25 04:14:05 字數 1452 閱讀 2912

su

su 用於使用者之間的切換。但是切換前的使用者依然保持登入狀態。如果是 root 向普通或虛擬使用者切換不需要密碼,反之普通使用者切換到其它任何使用者都需要密碼驗證。

su 在不加任何引數,預設為切換到 root 使用者,但沒有轉到 root 使用者根目錄下;

su 加引數 - ,表示預設切換到 root 使用者,並轉到 root 使用者根目錄下。

su 不足:如果某個使用者需要使用 root 許可權、則必須要把 root 密碼告訴此使用者。

退出返回之前的使用者:exit

如何設定普通使用者的sudo許可權?

切換到root使用者

vi /etc/sudoers

在第一行新增如下內容:beifeng all=(root)nopasswd:all

進行儲存

加上sudo進行測試

本來/etc/hosts檔案是唯讀型別

加上sudo後對/etc/hosts檔案進行編輯,按i,發現可以插入內容,說明設定成功。

sudo 的工作過程如下:

如果想要更加精準的控制,就需要理解配置中的含義。

hadoop all=(all) all

第乙個 all 是指網路中的主機,我們可以指定主機名,這樣 hadoop 只可以在此主機上執行後面的命令。

第二個括號裡的 all 是指目標使用者,也就是以誰的身份去執行命令。

最後乙個 all 是指命令名了。

例如,我們想讓 hadoop 使用者在 node-23 主機上以 allen 的身份執行 kill 命令,就這樣編寫配置檔案:hadoop node-23=(allen) /bin/kill

案例:只允許 senior 使用者以 root 身份在 192.158.233.3上執行 ls 、cat 命令, 並且執行時候免輸入密碼。 配置檔案中:senior 192.168.233.3=nopasswd: /bin/ls, /bin/cat

進行測試:

說明senior使用者可以以root身份在192.158.233.3上執行 ls命令,並且不需要輸入密碼。

執行除了ls和cat之外的命令:sudo du /root

會出現如下圖的情況。可以看到,senior使用者沒有執行du命令的許可權。

Linux 基礎命令 su

命令 su 變更其他使用者的身份 用法 su options user arg su 選項 使用者 root fp 21 su help m,p,preserve environment 不重置環境變數 g,group group 指定初始的組 g,supp group group 指定補充組 l,...

su命令和su 命令的區別

su命令和su 命令最大的本質區別就是 前者只是切換了root身份,但 shell 環境仍然是普通使用者的 shell 而後者連使用者和shell環境一起切換成root身份了。只有切換了shell環境才不會出現path環境變數錯誤。su切換成root使用者以後,pwd一下,發現工作目錄仍然是普通使用...

Linux基礎程式設計 su命令

06 小結 su命令用於切換當前使用者身份到其他使用者身份,變更時須輸入所要變更的使用者帳號與密碼。普通使用者切換到root使用者,可以使用su 或su root,但是必須輸入root密碼才能完成切換。root使用者切換到普通使用者,可以使用su username,不需要輸入任何密碼即可完成切換。s...