Linux

“sudo su -”被認為是一種不好的做法嗎?

  • November 3, 2016

背景

su -我知道,sudo su -和之間的區別sudo <command>

  • su -- 將使用者切換到root,需要root密碼
  • sudo su -- 將使用者切換到root,只需要目前使用者的密碼
  • sudo <command>- 僅授予特定命令的 root 訪問權限;只需要目前使用者的密碼

我的問題是關於sudo su -在生產環境中使用是否是一種安全的做法。

一些想法:

  1. 似乎允許sudo su -通過使對根帳戶的訪問依賴於單個使用者密碼來構成安全風險。當然,這可以通過執行嚴格的密碼策略來緩解。我認為su -沒有更好的辦法,因為它需要管理員共享實際的 root 密碼。
  2. 允許使用者完全切換到 root 帳戶使得跟踪誰對系統進行了更改變得更加困難。我在日常工作中看到了多個使用者被授予sudo su -訪問權限的案例。使用者登錄系統時做的第一件事是執行sudo su -,然後開始工作。然後,有一天,出現了問題,無法追踪到誰rm -rf *在錯誤的目錄中執行。

問題

sudo su -考慮到上述問題,允許使用者使用甚至根本不是一個好主意su -嗎?

管理員是否有任何理由會配置使用者帳戶sudo su -su -代替sudo <command>(除了懶惰)?

**注意:**當 root 使用者禁用直接 ssh 訪問時,我忽略了使用者正在執行sudo su -su -管理員需要進行系統更改的情況。

讓我們看看你的案例:

su -

將使用 root 環境以 root 使用者身份執行 /bin/sh。需要 root 密碼,並且可以根據系統日誌設置記錄日誌(通常預設為 /var/log/auth.log)。

sudo /bin/sh

將使用目前的環境變數集以 root 使用者身份執行 shell(除了 sudoers 文件中定義的一些例外情況)。密碼是源使用者密碼,而不是根使用者密碼。sudo 通常會被記錄。

sudo su -

將以 root 使用者身份執行 shell(通常是 /bin/sh),以 root 使用者身份設置環境。這將需要源使用者的密碼,這通常會被記錄下來。

有時需要在您自己的環境之上擁有根環境,因此 su - 是一種合適的方法。請記住,在任何一種情況下,sudo 仍然會記錄 shell 命令的使用。

引用自:https://serverfault.com/questions/619133