如何創建一個 sudo 提示輸入 root 密碼而不是目前使用者的 linux 使用者
我創建了一個新使用者,
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
僅供該組的成員使用。