題 sudo:必須是setuid root


我租了一台服務器(ubuntu 12.04)。他們給了我一個root用戶帳戶。

接下來,我進入並使用以下方法創建了一個新用戶:

# adduser <newusername>

並添加了密碼。

新用戶帳戶工作正常。我可以使用其用戶名和密碼SSH到該帳戶。

但是,當我在我的新用戶帳戶中時,我再也無法使用:

sudo

如果我這樣做:

sudo apt-get install build-essential

或類似的東西:

sudo su

我收到的消息是:

sudo:必須是setuid root

救命?

(我知道之前提出的類似問題,但在那裡找不到我的解決方案。)


2
2017-10-15 20:49


起源


一般 /usr/bin/sudo 應該由root擁有,是的,必須設置setuid位。你能做一個嗎? ls -l $(which sudo)? - noggerl
謝謝你的幫助。我做到了,這是輸出“-rwxr-xr-x 1 root root 69708 Jun 1 2012 / usr / bin / sudo” - thanks_in_advance
剛剛發布了答案。但請幫我一個忙:在你繼續使用服務器之前,可能會發生一些令人討厭的事情,請閱讀一些關於互聯網服務器安全性和linux管理基礎知識的教程,因為錯誤的可執行文件上的setuid可能非常危險。 - noggerl
建議。謝謝。 - thanks_in_advance


答案:


我不知道為什麼但sudo可執行文件的setuid位沒有設置,這是正常工作所必需的。

設置這個只是做一個 chmod u+s $(which sudo)。該聲明 $(which sudo) 找到文件系統中找到sudo可執行文件的路徑(通常是/ usr / bin / sudo),所以命令擴展為 chmod u+s /usr/bin/sudo。有關Linux / Unix-Systems上特殊位的更多詳細信息,請查看 維基百科


2
2017-10-15 21:00



好的,我們可能正在取得進展。我這樣做了,現在當我嘗試sudo我的用戶名“username1”時,我得到以下消息:“username1不在sudoers文件中。將報告此事件。” - thanks_in_advance
所以請看這裡: google.de/#q=sudo+configuration 因為我覺得你缺少很多linux管理基礎知識。 - noggerl
我當然是。我是新手。問題是Linux管理員中最小的東西是如此巨大,以至於它們令人生畏。但是非常感謝你的鏈接,我將探索sudo配置。 - thanks_in_advance
也許你也應該研究這些(我經常使用的最後兩個): google.com/#q=linux+administration+basics  - cyberciti.biz/tips/linux-security.html  - plusbryan.com/... - noggerl