如何給使用者分配root權限?

如何給使用者分配root權限?

我的桌面上有 Suse Linux。所以我是 root 和「普通」用戶。通常,例如啟動 tomcat 或安裝/刪除我應該使用sudo或切換到超級用戶的程式。但我在.bashrc、 路徑.profile等中定義了許多別名。

是否可以為普通用戶分配超級用戶的一些權限?例如安裝程式?

答案1

是的,但這是你能做的最糟糕的事情。您的作業系統中有不同的使用者俱有不同的權限。這是故意的。永久授予使用者 root 權限會損害系統的安全性。 (還記得 Windows 9x 和所有病毒嗎?)

我猜執行命令sudo不需要任何自訂內容,除非您執行/bin/sh(shell)。

為了達到您想要的效果,您可以執行以下操作:

您可以將您的內容從系統移出~/.bashrc~/.profile移入系統/etc/bash/bashrc/etc/profile甚至更好地將它們放在單獨的腳本中/etc/profile.d/mystuff.sh(不要忘記chmod +x /etc/profile.d/mystuff.sh)。這些文件將為每個登入會話執行。

然後啟動 root 會話su --傳遞給的(減號)符號su將執行登入會話,因此將執行上述文件。根據您的 Linux 發行版,您可能需要撥打電話sudo su -

完成 root 會話後,最好logout保留 root 權限。

如果您只需要特定二進位檔案的 root 權限,還有另一種方法,稱為有效 UID。例如,您可以將其用於mtr二進位:

chmod a+s `which mtr`

這樣,當您執行mtr二進位檔案時,它將獲得擁有該二進位檔案的使用者的有效權限 - 在本例中為 root ( chown root /path/to/mtr)。它會節省您輸入 sudo 的時間,但您應該仔細選擇要授予 root 權限的二進位。如果您不知道風險,那就很危險。最好使用第一個選項。

答案2

tomcat 的啟動應該在初始化腳本。如果您想授予一組使用者(重新)啟動 tomcat 的權利,請新增一行/etc/sudoers使用visudo。這可能看起來像:

%tomcatcontrol localhost = NOPASSWD : /etc/init.d/tomcat *

將 localhost 替換為您的電腦的名稱。然後該群組的每個用戶湯姆貓控制將能夠發出:

sudo /etc/init.d/tomcat restart(或狀態、或停止、或開始)。

這就是 sudo 的用途。如果您想使用 root 帳戶工作更長時間,您可以這樣做su -。如果您希望其他使用者實際管理 tomcat 內容(使用者 tomcat 擁有的檔案),您可以允許su - tomcat一個使用者或一組使用者。

至於你的別名 - 我認為 OpenSuSE 有 /etc/profile.local 用於此目的:在那裡你可以放置對每個用戶都有效的內容。

相關內容