歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 全面解析Linux特殊用戶權限的分配

全面解析Linux特殊用戶權限的分配

日期:2017/2/28 16:38:49   编辑:Linux教程

  對於比較大的系統,Linux管理員會有多人,Linux特殊用戶權限的分配就是必須來做的,如果每股而安利員都用root來登錄,那麼系統管理將變得十分的不安全和可靠。可有將Linux特殊用戶權限分配給普通用戶來解決這個問題。

  我們不可以使用su讓他們直接變成root,因為這些用戶都必須知道root的密碼,這種方法很不安全,而且也不符合我們的分工需求。一般的做法是利用權限的設置,依工作性質分類,讓特殊身份的用戶成為同一個工作組,並設置工作組權限。例如:要wwwadm這位用戶負責管理網站數據,一般Apache Web Server的進程httpd的所有者是www,您可以設置用戶wwwadm與www為同一工作組,並設置Apache默認存放網頁目錄/usr/local/httpd/htdocs的工作組權限為可讀、可寫、可執行,這樣屬於此工作組的每位用戶就可以進行網頁的管理了。

  但這並不是最好的解決辦法,例如管理員想授予一個普通用戶關機的權限,這時使用上述的辦法就不是很理想。這時您也許會想,我只讓這個用戶可以以root身份執行shutdown命令就行了。完全沒錯,可惜在通常的Linux系統中無法實現這一功能,不過已經有了工具可以實現這樣的功能——sudosudo通過維護一個特權到用戶名映射的數據庫將特權分配給不同的用戶,這些特權可由數據庫中所列的一些不同的命令來識別。為了獲得某一特權項,有資格的用戶只需簡單地在命令行輸入sudo與命令名之後,按照提示再次輸入口令(用戶自己的口令,不是root用戶口令)。例如,sudo允許普通用戶格式化磁盤,但是卻沒有賦予其他的root用戶特權。

  1、sudo工具由文件/etc/sudoers進行配置,該文件包含所有可以訪問sudo工具的用戶列表並定義了他們的特權。一個典型的/etc/sudoers條目如下:

  liming ALL=(ALL) ALL

  這個條目使得用戶liming作為超級用戶訪問所有應用程序,如用戶liming需要作為超級用戶運行命令,他只需簡單地在命令前加上前綴sudo。因此,要以root用戶的身份執行命令format,liming可以輸入如下命令:

  # sudo /usr/sbin/useradd sam

  注意:命令要寫絕對路徑,/usr/sbin默認不在普通用戶的搜索路徑中,或者加入此路徑:PATH=$PATH:/usr/sbin;export PATH。另外,不同系統命令的路徑不盡相同,可以使用命令“whereis 命令名”來查找其路徑。

  這時會顯示下面的輸出結果:

  We trust you have received the usual lecture from the local System

  Administrator. It usually boils down to these two things:

  #1) Respect the privacy of others.

  #2) Think before you type.

  Password:

  如果liming正確地輸入了口令,命令useradd將會以root用戶身份執行。

  注意:配置文件/etc/sudoers必須使用命令 Visudo來編輯。

  只要把相應的用戶名、主機名和許可的命令列表以標准的格式加入到文件/etc/sudoers,並保存就可以生效,再看一個例子。

Copyright © Linux教程網 All Rights Reserved