為什麼需要 sudo bash?

為什麼需要 sudo bash?

我正在閱讀以下程式碼:

$ sudo bash
# cd /home/
# ./gitpull.sh

為什麼我需要第一行,它到底有什麼作用?如果我只是這樣做$ sudo而不是呢$ sudo bash

答案1

它以級別使用者身分啟動 bash shell root。您需要它,因為通常普通用戶無法訪問/home/

你所做的事情的危險在於你處於 root shell 中——你很容易就會搞亂你的機器。

答案2

你最好這樣做:

$ sudo sh -c 'cd /home; ./gitpull.sh'

因為以 root 身分呼叫的命令將被記錄。直接透過 sudo 呼叫 shell 會避免 sudo 的所有安全優勢,因此應該避免。

答案3

sudo <shell>,如果它有效,則暴露了 sudo 安裝不當和潛在的安全漏洞。

sudo不應配置為允許任意命令,例如 shell;目的sudo是允許經過身份驗證的非 root 使用者以 root 身分執行某些命令,而無需知道 root 密碼。

如果sudo bash允許任何使用者使用,則該使用者只需知道自己的密碼即可成為 root。

如果攻擊者獲得了任何一個能夠執行此操作的帳戶的密碼sudo bash,則攻擊者就擁有了 root 權限。

sudo bash執行相當於(取得 root shell)的正確方法是su,然後提供 root 密碼,而不是您自己的密碼。

答案4

sudo允許使用者以另一個使用者(通常是超級使用者或 root)的安全權限來執行程式。
bash啟動一個新的 bash shell。
因此,sudo bash使用 root 使用者的安全權限啟動一個新的 bash shell。

相關內容