linux下查看所有使用者及所有使用者組【理論篇】

來源:互聯網
上載者:User

linux下查看所有使用者及所有使用者組【理論篇】 一、理解Linux的單使用者多任務,多使用者多任務概念; Linux 是一個多使用者、多任務的作業系統;我們應該瞭解單使用者多任務和多使用者多任務的概念; 1、Linux 的單使用者多任務; 單使用者多任務;比如我們以beinan 登入系統,進入系統後,我要開啟gedit 來寫文檔,但在寫文檔的過程中,我感覺少點音樂,所以又開啟xmms 來點音樂;當然聽點音樂還不行,MSN 還得開啟,想知道幾個弟兄現在正在做什麼,這樣一樣,我在用beinan 使用者登入時,執行了gedit 、xmms以及msn等,當然還有IMEfcitx ;這樣說來就有點簡單了,一個beinan使用者,為了完成工作,執行了幾個任務;當然beinan這個使用者,其它的人還能以遠程登入過來,也能做其它的工作。 2、Linux 的多使用者、多任務; 有時可能是很多使用者同時用同一個系統,但並不所有的使用者都一定都要做同一件事,所以這就有多使用者多任務之說; 舉個例子,比如LinuxSir.Org 伺服器,上面有FTP 使用者、系統管理員、web 使用者、常規普通使用者等,在同一時刻,可能有的弟兄正在訪問論壇;有的可能在上傳軟體包管理子站,比如luma 或Yuking 兄在管理他們的首頁系統和FTP ;在與此同時,可能還會有系統管理員在維護系統;瀏覽首頁的用的是nobody 使用者,大家都用同一個,而上傳軟體包用的是FTP使用者;管理員的對系統的維護或查看,可能用的是普通帳號或超級許可權root帳號;不同使用者所具有的許可權也不同,要完成不同的任務得需要不同的使用者,也可以說不同的使用者,可能完成的工作也不一樣; 值得注意的是:多使用者多任務並不是大家同時擠到一接在一台機器的的鍵盤和顯示器前來操作機器,多使用者可能通過遠程登入來進行,比如對伺服器的遠端控制,只要有使用者權限任何人都是可以上去操作或訪問的; 3、使用者的角色區分; 使用者在系統中是分角色的,在Linux 系統中,由於角色不同,許可權和所完成的任務也不同;值得注意的是使用者的角色是通過UID和識別的,特別是UID;在系統管理中,系統管理員一定要堅守UID 唯一的特性;root 使用者:系統唯一,是真實的,可以登入系統,可以作業系統任何檔案和命令,擁有最高許可權;虛擬使用者:這類使用者也被稱之為偽使用者或假使用者,與真實使用者區分開來,這類使用者不具有登入系統的能力,但卻是系統運行不可缺少的使用者,比如bin、daemon、adm、ftp、mail等;這類使用者都系統自身擁有的,而非後來添加的,當然我們也可以添加虛擬使用者;普通真實使用者:這類使用者能登入系統,但只能操作自己家目錄的內容;許可權有限;這類使用者都是系統管理員自行添加的; 4、多使用者作業系統的安全; 多使用者系統從事實來說對系統管理更為方便。從安全形度來說,多使用者管理的系統更為安全,比如beinan使用者下的某個檔案不想讓其它使用者看到,只是設定一下檔案的許可權,只有beinan一個使用者可讀可寫可編輯就行了,這樣一來只有beinan一個使用者可以對其私人檔案進行操作,Linux 在多使用者下表現最佳,Linux能很好的保護每個使用者的安全,但我們也得學會Linux 才是,再安全的系統,如果沒有安全意識的管理員或管理技術,這樣的系統也不是安全的。 從伺服器角度來說,多使用者的下的系統安全性也是最為重要的,我們常用的Windows 作業系統,它在系紡許可權管理的能力只能說是一般般,根本沒有沒有辦法和Linux或Unix 類系統相比; 二、使用者(user)和使用者組(group)概念; 1、使用者(user)的概念;            通過前面對Linux 多使用者的理解,我們明白Linux 是真正意義上的多使用者作業系統,所以我們能在Linux系統中建若干使用者(user)。           比如我們的同事想用我的電腦,但我不想讓他用我的使用者名稱登入,因為我的使用者名稱下有不想讓別人看到的資料和資訊(也就是隱私內容)這時我就可以給他建一個新的使用者名稱,讓他用我所開的使用者名稱去折騰,這從電腦安全形度來   說是符合操作規則的;             當然使用者(user)的概念理解還不僅僅於此,在Linux系統中還有一些使用者是用來完成特定任務的,比如nobody和ftp 等,我們訪問LinuxSir.Org 的網頁程式,就是nobody使用者;我們匿名訪問ftp 時,會用到使用者ftp或nobody ;如果您想瞭解Linux系統的一些帳號,請查看 /etc/passwd ; 2、使用者組(group)的概念; 使用者組(group)就是具有相同特徵的使用者(user)的集合體;比如有時我們要讓多個使用者具有相同的許可權,比如查看、修改某一檔案或執行某個命令,這時我們需要使用者組,我們把使用者都定義到同一使用者組,我們通過修改檔案或目錄的許可權,讓使用者組具有一定的操作許可權,這樣使用者組下的使用者對該檔案或目錄都具有相同的許可權,這是我們通過定義組和修改檔案的許可權來實現的; 舉例:我們為了讓一些使用者有許可權查看某一文檔,比如是一個時間表,而編寫時間表的人要具有讀寫執行的許可權,我們想讓一些使用者知道這個時間表的內容,而不讓他們修改,所以我們可以把這些使用者都划到一個組,然後來修改這個檔案的許可權,讓使用者組可讀,這樣使用者組下面的每個使用者都是可讀的; 使用者和使用者組的對應關係是:一對一、多對一、一對多或多對多;一對一:某個使用者可以是某個組的唯一成員;多對一:多個使用者可以是某個唯一的組的成員,不歸屬其它使用者組;比如beinan和linuxsir兩個使用者只歸屬於beinan使用者組;一對多:某個使用者可以是多個使用者組的成員;比如beinan可以是root群組成員,也可以是linuxsir使用者群組成員,還可以是adm使用者群組成員;多對多:多個使用者對應多個使用者組,並且幾個使用者可以是歸屬相同的組;其實多對多的關係是前面三條的擴充;理解了上面的三條,這條也能理解; 三、使用者(user)和使用者組(group)相關的設定檔、命令或目錄; 1、與使用者(user)和使用者組(group)相關的設定檔; 1)與使用者(user)相關的設定檔;/etc/passwd 註:使用者(user)的設定檔;/etc/shadow 註:使用者(user)影子口令檔案; 2)與使用者組(group)相關的設定檔;/etc/group 註:使用者組(group)設定檔;/etc/gshadow 註:使用者組(group)的影子檔案; /etc/group檔案包含所有組/etc/shadow和/etc/passwd系統存在的所有使用者名稱 [plain] 1、/etc/group 解說;  /etc/group 檔案是使用者組的設定檔,內容包括使用者和使用者組,並且能顯示出使用者是歸屬哪個使用者組或哪幾個使用者組,因為一個使用者可以歸屬一個或多個不同的使用者組;同一用 戶組的使用者之間具有相似的特徵。比如我們把某一使用者加入到root使用者組,那麼這個使用者就可以瀏覽root使用者家目錄的檔案,如果root使用者把某個檔案 的讀寫執行許可權開放,root使用者組的所有使用者都可以修改此檔案,如果是可執行檔檔案(比如指令碼),root使用者組的使用者也是可以執行的;    使用者組的特性在系統管理中為系統管理員提供了極大的方便,但安全性也是值得關注的,如某個使用者下有對系統管理有最重要的內容,最好讓使用者擁有獨立的使用者組,或者是把使用者下的檔案的使用權限設定為完全私人;另外root使用者組一般不要輕易把普通使用者加入進去,    2、/etc/group 內容具體分析  /etc/group 的內容包括使用者組(Group)、使用者組口令、GID及該使用者組所包含的使用者(User),每個使用者組一條記錄;格式如下:  group_name:passwd:GID:user_list    在/etc/group 中的每條記錄分四個欄位:  第一欄位:使用者組名稱;  第二欄位:使用者組密碼;  第三欄位:GID  第四欄位:使用者列表,每個使用者之間用,號分割;本欄位可以為空白;如果欄位為空白表示使用者組為GID的使用者名稱   2、系統管理使用者(user)和使用者組(group)的相關工具或命令; 1)系統管理使用者(user)的工具或命令;useradd 註:添加使用者adduser 註:添加使用者passwd 註:為使用者佈建密碼usermod 註:修改使用者命令,可以通過usermod 來修改登入名稱、使用者的家目錄等等;pwcov 註:同步處理的使用者從/etc/passwd 到/etc/shadowpwck 註:pwck是校正使用者設定檔/etc/passwd 和/etc/shadow 檔案內容是否合法或完整;pwunconv 註:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 建立/etc/passwd ,然後會刪除 /etc/shadow 檔案;finger 註:查看使用者資訊工具 id 註:查看使用者的UID、GID及所歸屬的使用者組 chfn 註:更改使用者資訊工具su 註:使用者切換工具 sudo 註:sudo 是通過另一個使用者來執行命令(execute a commandas another user),su 是用來切換使用者,然後通過切換到的使用者來完成相應的任務,但sudo 能後面直接執行命令,比如sudo 不需要root 密碼就可以執行root 賦與的執行只有root才能執行相應的命令;但得通過visudo 來編輯/etc/sudoers來實現;visudo 註:visodo 是編輯/etc/sudoers 的命令;也可以不用這個命令,直接用vi 來編輯 /etc/sudoers 的效果是一樣的;sudoedit 註:和sudo 功能差不多;  2)系統管理使用者組(group)的工具或命令;groupadd 註:添加使用者組;groupdel 註:刪除使用者組;groupmod 註:修改使用者組資訊groups 註:顯示使用者所屬的使用者組grpck grpconv 註:通過/etc/group和/etc/gshadow 的檔案內容來同步或建立/etc/gshadow ,如果/etc/gshadow 不存在則建立;grpunconv 註:通過/etc/group 和/etc/gshadow 檔案內容來同步或建立/etc/group ,然後刪除gshadow檔案;groups 查看當前登入使用者的組內成員groups gliethttp 查看gliethttp使用者所在的組,以及組內成員whoami 查看當前登入使用者名稱3、/etc/skel 目錄;           /etc/skel目錄一般是存放使用者開機檔案的目錄,這個目錄是由root許可權控制,當我們添加使用者時,這個目錄下的檔案自動複製到新添加的使用者的家目錄下;/etc/skel 目錄下的檔案都是隱藏檔案,也就是類似.file格式的;我們可通過修改、添加、刪除/etc/skel目錄下的檔案,來為使用者提供一個統一、標準的、預設的使用者環境; [root@localhost beinan]# ls -la /etc/skel/總用量 92drwxr-xr-x    3 root root  4096  8月 11 23:32 .drwxr-xr-x  115 root root 12288 10月 14 13:44 ..-rw-r--r--    1 root root    24  5月 11 00:15 .bash_logout-rw-r--r--    1 root root   191  5月 11 00:15 .bash_profile-rw-r--r--    1 root root   124  5月 11 00:15 .bashrc-rw-r--r--    1 root root  5619 2005-03-08  .canna-rw-r--r--    1 root root   438  5月 18 15:23 .emacs-rw-r--r--    1 root root   120  5月 23 05:18 .gtkrcdrwxr-xr-x    3 root root  4096  8月 11 23:16 .kde-rw-r--r--    1 root root   658 2005-01-17  .zshrc   /etc/skel 目錄下的檔案,一般是我們用useradd 和adduser 命令添加使用者(user)時,系統自動複製到新添加使用者(user)的家目錄下; 如果我們通過修改 /etc/passwd 來添加使用者時,我們可以自己建立使用者的家目錄,然後把/etc/skel 下的檔案複製到使用者的家目錄下,然後要用chown 來改變新使用者家目錄的屬主; 4、/etc/login.defs 設定檔; /etc/login.defs 檔案是當建立使用者時的一些規劃,比如建立使用者時,是否需要家目錄,UID和GID的範圍;使用者的期限等等,這個檔案是可以通過root來定義的; 比如Fedora 的 /etc/logins.defs 檔案內容;# *REQUIRED* # Directory where mailboxes reside, _or_ name of file, relative to the # home directory. If you _do_ define both, MAIL_DIR takes precedence.# QMAIL_DIR is for Qmail# #QMAIL_DIR Maildir MAIL_DIR /var/spool/mail 註:建立使用者時,要在目錄/var/spool/mail中建立一個使用者mail檔案; #MAIL_FILE .mail# Password aging controls: ## PASS_MAX_DAYS Maximum number of days a password may be used.# PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_MIN_LEN Minimum acceptable password length.# PASS_WARN_AGE Number of days warning given before a password expires. # PASS_MAX_DAYS99999 註:使用者的密碼不到期最多的天數; PASS_MIN_DAYS0 註:密碼修改之間最小的天數;PASS_MIN_LEN5 註:密碼最小長度;PASS_WARN_AGE7 註: ## Min/max values for automatic uid selection in useradd# UID_MIN 500 註:最小UID為500 ,也就是說添加使用者時,UID 是從500開始的; UID_MAX60000 註:最大UID為60000; # # Min/max values for automatic gid selection in groupadd # GID_MIN500 註:GID 是從500開始; GID_MAX60000 # # If defined, this command is run when removing a user. # It should remove any at/cron/print jobs etc. owned by# the user to be removed (passed as the first argument). # #USERDEL_CMD /usr/sbin/userdel_local ## If useradd should create home directories for users by default # On RH systems, we do. This option is ORed with the -m flag on # useradd command line. # CREATE_HOME yes 註:是否創使用者家目錄,要求建立; 5、/etc/default/useradd 檔案;通過useradd 添加使用者時的規則檔案;# useradd defaults fileGROUP=100HOME=/home  註:把使用者的家目錄建在/home中;INACTIVE=-1  註:是否啟用帳號到期停權,-1表示不啟用;EXPIRE=   註:帳號終止日期,不設定表示不啟用;SHELL=/bin/bash  註:所用SHELL的類型;SKEL=/etc/skel   註: 預設添加使用者的目錄預設檔案存放位置;也就是說,當我們用adduser添加使用者時,使用者家目錄下的檔案,都是從這個目錄中複製過去的; 後記:關於使用者(user)和使用者組(group)管理內容大約就是這麼多;只要把上面所說的內容瞭解和掌握,使用者(user)和使用者組(group)管理就差不多了;由於使用者(user)和使用者組(group)是和檔案及目錄許可權聯絡在一起的,所以檔案及目錄許可權的操作也會獨立成文來給大家介紹; 本文只是讓新手弟兄明白使用者(user)和使用者組(group)一些原理,所以我在寫此文的時候,大多是解說內容,我的意思是通過解說和索引一些命令,讓新手弟兄明白一點理論是比較重要的,技術操作無非是命令的用法;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.