使用者管理 3 su sudo

2021-07-22 23:45:40 字數 2510 閱讀 4376

su就是切換使用者身份的命令。通過su命令可以在使用者之間切換,超級許可權使用者root向普通或虛擬使用者切換不需要密碼驗證。其他普通使用者之間或者普通使用者切換到root,都需要切換使用者的密碼驗證。

su [選項引數] [使用者]

引數選項

說明-,-l,–login

使乙個shell成為登入的shell,如執行su - ian時,表示該使用者想改變身份為ian,並且使用ian使用者的環境變數配置如:/home/ian/.bash_profile等

-c,–command

切換到乙個shell下,執行乙個命令,然後退出所切換的使用者環境

1.-c引數的運用。在root下,以lisa身份建立乙個檔案。

2.如何讓系統在每一次開機時也要以普通使用者啟動指定的服務指令碼呢?

把要執行的指令碼放入開機自啟動配置檔案/etc/rc.local中。通過su - 使用者 -c 「命令」執行啟動服務的命令。

[root@ianlinux ~]# tail -5 /etc/rc.local

## 分使用者方案啟動服務命令

su - lisa -c "/bin/sh /home/lisa/bin/deploy.sh"

/bin/sh /home/lisa/bin/deploy.sh就是僅能在lisa使用者下啟動的服務命令指令碼。

sudo以root身份執行普通使用者無法執行的任務。

當用sudo執行命令時,系統會首先查詢/var/run/sudo/%home(或者是/var/db/sudo/%home)目錄中是否有使用者時間戳檔案,如果時間戳檔案過期,則提示使用者是否輸入自身的密碼。

當密碼驗證成功後,系統會查詢.etc/sudoers配置檔案,判斷使用者是否有執行相應sudo命令許可權。

如果具備執行相應sudo命令許可權,就會自動由當前使用者切換到root,然後以root身份執行該命令。

執行完成後,又會自動的直接退回到當前使用者shell下。

驗證:

visudo

一開始/var/db/sudo/lisa/是沒有時間戳的。

在刪除時需要輸入當前使用者密碼,驗證密碼正確後,檢查/etc/sudoers配置檔案裡是否存在執行相關命令的許可權,如果有,執行並返回結果。

刪除後就有時間戳了,而且5分鐘內再次刪除時不需要輸入密碼。

時間戳

這是/etc/sudoers配置檔案裡不存在執行相關命令的許可權情況,直接退出sudo。

sudo [引數選項] 命令

引數選項

說明-l

列出使用者在主機上可用的和被禁止的命令。當配置好sudo授權規則後,可用這個引數來檢視授權情況

-k同-k。刪除時間戳,下乙個sudo命令要求提供密碼,前提是該使用者授權中不能有nopasswd:引數。時間戳預設5分鐘也會失效

[lisa@ianlinux ~]$ sudo -l

[sudo] password for lisa:

...使用者 lisa 可以在該主機上執行以下命令:

(all) /bin/rm

[lisa@ianlinux ~]$

visudo修改/etc/sudoers配置檔案,給使用者進行授權。visudo -c能檢查語法。

檔案許可權440。

如果這個配置檔案裡面語法錯了,或者許可權改變了,sudo就不能用了。

如何利用sudo控制使用者對系統命令的使用許可權。

切換使用者身份的su命令為我們管理linux系統帶來了很多方便,通過切換到root下,可以完成各種系統管理工作,只要任何乙個普通使用者知道了root使用者的密碼,都能以普通使用者的身份切換到root來完成本來無法完成的系統管理的工作。

但是這樣通過su命令切換到root後,也帶來了安全管理問題。系統有多個普通使用者,都可以通過su切換到root身份進行系統管理,甚至還可以改掉root密碼,讓其他的普通使用者無法再實現系統管理。這樣的非集權式管理,在一定程度上就對系統的安全造成了較大的威脅。

我們既希望超級使用者root密碼掌握在少數或唯一的管理員手上,又希望多個系統管理員能夠完成更複雜的系統管理的工作,即希望多個系統管理員都能管理系統而又不讓超級許可權氾濫。這就需要sudo命令來代替su命令了。

使用者身份切換 su sudo

使用一般賬號 系統平日操作的好習慣 事實上,為了安全的緣故,盡量一般以一般身份使用者來操作linux的日常作業,等到需要設定系統環境時,才變換身份稱為root來進行系統管理,相對比較安全,避免做錯一些嚴重的命令,例如 rm rf 用較低許可權啟動系統服務 相對於系統安全,有的時候,我們必須要以某些系...

使用者身份切換 su sudo

1.1 完整的切換到新使用者環境 環境變數也會切換 su username 或su l username1.2 僅想執行一次root命令 su c 命令串 1.3 使用root切換成為任何使用者時,並不需要輸入新使用者的密碼。僅需要自己的密碼,甚至可以設定不需要密碼即可執行sudo 但僅有 etc ...

liunx 使用者切換 su sudo

liunx 使用者操作 useradd test passwd test 使用者身份切換 su 切換使用者 需要知道切換使用者的密碼 1.su lm c命令 username su login shell方式登入root賬號 su login nologinshell登入 su c head n 3...