Debian

如何創建一個 sudo 提示輸入 root 密碼而不是目前使用者的 linux 使用者

  • March 17, 2020

我創建了一個新使用者,adduser但是當我嘗試從他的帳戶中使用 sudo 時,我得到了xxxx * is not in the sudoers file. This incident will be reported..

所以我開始篡改visudo命令……

我得到該 root 帳戶具有以下配置:

root    ALL=(ALL:ALL) ALL

但我不想為我的新使用者複製這個……


我希望我的使用者 xxxx 沒有 root 訪問權限,除非使用 sudo

使用 sudo 時,我希望 xxxx 使用者提示輸入 root 密碼,而不是他自己的密碼!

謝謝


使用 debian 10

虛擬機,僅 ssh

我希望我的使用者 xxxx 沒有 root 訪問權限,除非使用 sudo。

這實際上是普通使用者的正常狀態:您不必做任何事情,除了配置sudo以指定允許哪些命令。

root    ALL=(ALL:ALL) ALL

sudo如果您已經切換到 root 使用者,此行的存在只是為了允許使用。授予非 root 使用者權限的重要行是這一行:

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

(在某些 Linux 發行版中,在作業系統安裝期間生成的第一個普通使用者可能會成為該sudo組的成員,因此會自動為他們啟用 root 訪問權限。這是一個例外,並非所有使用者的預設設置。)

sudoers 文件中權限規範的基本形式是

<who>  <where>=(<as_who>) <what>
  • <who>指定哪些使用者可以使用此條目。它可以是使用者、組(以 % 符號為前綴)或先前定義的 User_Alias(基本上是一長串使用者和/或組的簡寫)和其他一些東西。
  • <where>可以是主機名:它將此條目限制為特定係統。它在企業環境中可能很有用,您可以sudoers在所有主機上使用集中管理的標准文件,但通常將其指定為 ALL 以避免在主機名解析不起作用或系統配置錯誤時出現問題。
  • (<as_who>)定義可以執行命令的使用者帳戶。預設值為 root,但您也可以限制使用者只能在某些特定的非 root 應用程序帳戶上使用 sudo 執行命令,例如。
  • <what>是允許的命令(或命令,用逗號分隔)。

還有各種標籤和選項,但sudoers簡而言之,以上是文件的重要部分。

使用 sudo 時,我希望 xxxx 使用者提示輸入 root 密碼而不是他自己的密碼

這是可能的,而且很容易做到。如果將這些行添加到sudoers文件中:

Defaults:xxxx rootpw,timestamp_timeout=0
xxxx    ALL=(ALL:ALL) ALL

然後對於使用者xxxx(並且針對他們),該sudo命令將要求輸入 root 密碼 - 並且每次使用sudo命令時都會詢問,而不是預設行為允許最多 15 分鐘的時間來使用該sudo命令而不要求輸入再次輸入密碼。

如果您計劃監視使用者並在該使用者需要時自己輸入 root 密碼,這一點很重要 - 如果您錯過了該timestamp_timeout=0選項,使用者可能會首先要求您輸入 root 密碼以進行某些合法操作,然後彌補一些干擾在接下來的 15 分鐘內為您服務,在此期間,他們將能夠使用sudo他們想要的任何東西。

但請注意,如果您告訴使用者 root 密碼,他們也可以將其與su命令一起使用,除非您對su. 經典的(通常也是唯一的)限制方法su是要求使用者成為特定組的成員,否則他們將根本無法使用su。要應用此限制,請編輯/etc/pam.d/su並在開頭附近找到此部分:

# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth       required   pam_wheel.so

只需#從最後一行的開頭刪除 ,該su命令將root僅供該組的成員使用。

引用自:https://unix.stackexchange.com/questions/573295