程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sudo-關於Linux sudo配置

sudo-關於Linux sudo配置

編輯:編程綜合問答
關於Linux sudo配置

beinan ALL=(root) /bin/chown, /bin/chmod (root)這個是干什麼的,下面的解釋沒看懂
實例一:

  beinan ALL=/bin/chown,/bin/chmod

  如果我們在/etc/sudoers 中添加這一行,表示beinan 可以在任何可能出現的主機名的系統中,可以切換到root用戶下執行 /bin/chown 和/bin/chmod 命令,通過sudo -l 來查看beinan 在這台主機上允許和禁止運行的命令;

  值得注意的是,在這裡省略了指定切換到哪個用戶下執行/bin/shown 和/bin/chmod命令;在省略的情況下默認為是切換到root用戶下執行;同時也省略了是不是需要beinan用戶輸入驗證密碼,如果省略了,默認為是需要驗證密碼。

  為了更詳細的說明這些,我們可以構造一個更復雜一點的公式;

  授權用戶 主機=[(切換到哪些用戶或用戶組)] [是否需要密碼驗證] 命令1,[(切換到哪些用戶或用戶組)] [是否需要密碼驗證] [命令2],[(切換到哪些用戶或用戶組)] [是否需要密碼驗證] [命令3]....

  注解:

  凡是[ ]中的內容,是可以省略;命令與命令之間用,號分隔;通過本文的例子,可以對照著看哪些是省略了,哪些地方需要有空格;

  在[(切換到哪些用戶或用戶組)] ,如果省略,則默認為root用戶;如果是ALL ,則代表能切換到所有用戶;注意要切換到的目的用戶必須用()號括起來,比如(ALL)、(beinan)

  實例二:

  beinan ALL=(root) /bin/chown, /bin/chmod

  如果我們把第一個實例中的那行去掉,換成這行;表示的是beinan 可以在任何可能出現的主機名的主機中,可以切換到root下執行 /bin/chown ,可以切換到任何用戶招執行/bin/chmod 命令,通過sudo -l 來查看beinan 在這台主機上允許和禁止運行的命令;
。。。。。(root)上面什麼意思,看不懂,自己測試也沒試出來,切換到任何用戶致命該命令,怎麼切換??還是說運行這個語句的時候,是以括號裡的身份運行的,-.-

最佳回答:


這個問題很難嗎。自己都弄懂了。。。。。
(root)表示可以暫時切換到該用戶,以該用戶的身份運行相關語句,但即使可以暫時切換到root身份,依然不能使用除sudo配置文件已寫入的相關權限以外的命令。
而如果是sudo為某一用戶分配了只能root身份運行的命令, 但設置的可切換用戶中
沒有root,則該命令不能運行。(自己測試所得,不一定准確)
Eg:
/**************************************************************************/

用戶 student 可以在該主機上運行以下命令:
(root) /bin/chmod, (root) /bin/chown
[student@localhost home]$ sudo -root chmod 777 2
sudo:/etc/sudo.conf 可被任何人寫
sudo:/etc/sudoers.d 可被任何人寫
sudo:無法獲取 oot 角色的默認類型
[student@localhost home]$ sudo -u root chmod 777 2
sudo:/etc/sudo.conf 可被任何人寫
sudo:/etc/sudoers.d 可被任何人寫
[student@localhost home]$ sudo -u root useradd2
sudo:/etc/sudo.conf 可被任何人寫
sudo:/etc/sudoers.d 可被任何人寫
sudo:useradd2:找不到命令
[student@localhost home]$ sudo -u root useradd 2
sudo:/etc/sudo.conf 可被任何人寫
sudo:/etc/sudoers.d 可被任何人寫
對不起,用戶 student 無權以 root 的身份在 localhost.localdomain 上執行 /sbin/useradd 2。
[student@localhost home]$ sudo -u yz chmod 2
sudo:/etc/sudo.conf 可被任何人寫
sudo:/etc/sudoers.d 可被任何人寫
對不起,用戶 student 無權以 yz 的身份在 localhost.localdomain 上執行 /bin/chmod 2。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved