天天看點

linux 權限管理sudo 權限

大家都知道 ,Linux 權限 管理 非常重要, 特别是一些 sudo 這樣的一些權限。

Ubuntu預設為一次時長15分鐘。

su : 切換到某某使用者模式,提示輸入密碼時該密碼為切換後賬戶的密碼,用法為“su 賬戶名稱”。如果後面不加賬戶時系統預設為root賬戶,密碼也為超級賬戶的密碼。沒有時間限制。

sudo -i: 為了頻繁的執行某些隻有超級使用者才能執行的權限,而不用每次輸入密碼,可以使用該指令。提示輸入密碼時該密碼為目前賬戶的密碼。 沒有時間限制。執行該指令後提示符變為“#”而不是“$”。想退回普通賬戶時可以執行“exit”或“logout” 。 其實,還有幾個類似的用法: sudo /bin/bash   : 這個指令也會切換到root的bash下,但不能完全擁有root的所有環境變量,比如PATH,可以擁有root使用者的權限。這個指令和 sudo -s 是等同的。 sudo -s : 如上 sudo su  : 這個指令,也是登入到了root,但是并沒有切換root的環境變量,比如PATH。 sudo su - :  這個指令,純粹的切換到root環境下,可以這樣了解,先是切換到了root身份,然後又以root身份執行了 su - ,這個時候跟使用root登入沒有什麼差別。這個結果貌似跟sudo -i 的效果是一樣的,但是也有不同,sudo 隻是臨時擁有了root的權限,而su則是使用root賬号登入了linux系統。

是以,我們再來總結一下: sudo su -  約等于  sudo -i sudo -s  完全等于  sudo  /bin/bash  約等于 sudo su sudo 終究被一個"臨時權限的帽子"扣住,不能等價于純粹的登入到系統裡。

舉個例子看看

可以在root 使用者下面 使用 visudo 打開配置檔案,加入以下幾行,(如果沒有這個指令 yum install visudo )

biaoge  ALL=(ALL)    ALL

這裡簡單解釋一下, 這個配置檔案有三列 ,

第一列 使用者名,

 第二列 ALL=(ALL) 代表 ALL代表host ,即 biaoge 這個使用者從哪台機器登入的, (ALL) 就是臨時擁有的身份,這裡ALL 就是 所有的使用者 (當然 這裡也可以配置成root),

第三列,代表擁有 biaoge 這個使用者可以使用的指令,ALL 就代表所有的指令。 這biaoge 這個使用者就可以(以root 身份)執行一些指令了。

linux 權限管理sudo 權限
linux 權限管理sudo 權限

這樣 就可以 以 臨時root的身份 去通路root 的家目錄了。 當然這樣每次都要輸入密碼。第一次要輸入之後 就不用輸入密碼了。

把配置檔案 改一下, 這樣就不用輸入密碼 了,可以直接使用 指令了。

biaoge  ALL=(root)    NOPASSWD:ALL

但是這樣 有時候 也不是特别好, 因為這樣 一些普通使用者通過一些指令 就可以 切換到 root 使用者下面, 比如通過

sudo /bin/bash , sudo -i , sudo -s , sudo su

看下面截圖:

linux 權限管理sudo 權限

這樣相對是比較 危險的,是以 要想法限制 這些特殊的指令,這些指令 可以 提升 普通使用者的權限

通過 修改 配置檔案,也是可以做到的,

biaoge  ALL=(root)    NOPASSWD:ALL, !/bin/su ,!/bin/bash

這裡限制 su ,和/bin/bash 就可以了。

linux 權限管理sudo 權限

看看效果 ,此時 普通使用者想要切換到root 使用者,就不可能了。

linux 權限管理sudo 權限

繼續閱讀