管理Linux 系統的用戶與用戶組

                                                                                           任務五 管理Linux系統的用戶與用戶組
【任務說明】
           Linux操作系統是多用戶多任務操作系統。
用戶可分爲普通用戶和超級用戶,除了用戶以外還有用戶組。所謂用戶組就是用戶的集合,CentOS組中有兩種類型,私有組和標準組。當創建一個新用戶時,若沒有指定他所

屬的組,CcntOS就建立一個和該用戶相同的私有組,此私有組中只包括用戶自己。標準組可以容納多個用戶,如果要使用標準組,那創建一個新的用戶時就應該指定他所屬於

的組。另外,同一個用戶可屬於多個組,例如某個單位的領導組和技術組,lik是該單位的技術主管,所以他就屬於領導組和技術組。當一個用戶屬於多個組時,其登錄後所屬的組是主組,其他組爲附加組。

        Linux 環境下的用戶與用戶組系統文件主要存放在etc/passwd、/etc/shadow 、/etc/group和/etc/gshadow這4個文件中。其基本含義後面會詳細介紹,root1~499是系統一標準

賬戶,普通用戶的UID是從500開始。

        初次接觸Linux 的朋友大概會覺得很奇怪,Linux有這麼多用戶,還要分用戶組(又叫做“羣組”),有什麼用呢? 其實,文件所屬的用戶與用戶組功能是一個相當健全的安全防

護。由於Linux是多人多工的操作系統,因此常常會有多人同時使用過部主機工作,爲了考慮每個人的隱私權,因此,“文件所有者”的角色就顯得相當重要。例如,當我們將某個

文件放在自己的工作目錄下,並且不希望這個文件的內容被別人看到,這時就應該把文件設定成“只有文件擁有者,也即我們自身才能查看和修改該文件的內容”,由於我們設定

了這樣的權限,因此其他用戶即使知道有這個文件存在,也無法看到該文件的內容。

        那麼爲什麼要爲文件設定它所屬的用戶組呢?其實,用戶組最簡單的功能之一,就是用於團隊開發資源。舉例來說,假設主機有兩個團體:第一個團體爲testgroup ,它的成

員是test1、test2、test3共3個;第二個閉體名稱爲treatgroup ,它的成員爲trea1、treat2、treat3。這兩個團體之間是互相有競爭性質的,要比賽看誰做的那份報告最好,然而每組

成員又需要同時能夠修改自己的團體內任何人所建立的文件,且不能讓非本團體的人看到這些文件內容。這時候就要通過用戶組的權限進行設置,禁止非本用戶組的用戶查看本

組的文件。同時,

        如果成員自己還有私人隱祕的文件,還可以設定文件權限,使本團隊其他成員也看不到此文件的內容。另外,如果有一個teacher用戶是testgroup 與treatgroup 這兩個用戶

組的老師,想要同時觀察兩個組的進度,就要設定teacher用戶同時支持testgroup 與treatgroup 這兩個用戶組,這樣就可以查看這兩個用戶組的文件。也就是說,每個用戶還可以

屬於多個用戶組。

         基於以上考慮,Linux系統中的每個用戶都至少屬於一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理。不同Linux系統對用戶組的規定有所不同,如Linux下

的用戶就默認屬於與它同名的用戶組,這個用戶組在創建用戶的時候同時創建。

本任務的主要目的是要向由靈活地管理用戶以及用戶組。

【任務實施】
          
         第1步:查看Linux系統中的用戶

系統中所有的用戶存放文件爲/etc/passwd,可通過【vim /etc/passwd】命令打開查看。Passwd文件由許多條記錄組成,每條記錄佔一行,記錄了一個用戶賬號的所有信息。每

條記錄由7個字段組成,字段間用冒號(:)隔開,其格式如圖所示。



(1)用戶名:它唯一地標識了一個用戶賬號,用戶在登錄時使用的就是它。

(2)加密口令: Passwd文件中存放的密碼是經過加密處理的。Linux 的加密算法很嚴密,其中的口令幾乎是不可能被破解的。盜用賬號的人一般都藉助專門的黑客程序,構造出

無數個密碼,然後使用同樣的加密算法將其加密,再和本字段進行比較,如果相同的話,就代表構造出的口令是正確的。因此,建議不要使用生日、常用單詞等作爲口令,它們

在黑客程序面前幾乎是不堪一擊的。特別是對那些直接連人較大網絡的系統來說,系統安全性顯得尤爲重要。
 
(3)用戶ID:用戶識別碼,簡稱UID。Linux系統內部使用UID來標識用戶,而不是用戶名。tilD是一個整數,用戶的UID互不相同。普通用戶的UID默認是從500開始的。

(4)組ID:用戶組識別碼,簡稱GID。不同的用戶可以屬於同一個用戶組,享有該用戶組共有的權限. UID類似,GID唯一地標識了一個用戶組。普通用戶的GID默認是從500開始

的。UID與GID默認情況下是一致的。

(5)用戶描述:這是給用戶賬號做的註解。它一般是用戶真實姓名、電話號碼、住址等,當然也可以懸空的。

(6)家目錄:這個目錄屬於該賬號,當用戶登錄後,它就會被置於此目錄中,就像回到家一樣。一般來說,root賬號的家目錄是/root,其他賬號的家目錄都在/home目錄下,並且和

用戶名同名。

⑺登錄shell:用戶登陸後執行的命令。一般來說這個命令將啓動一個shell 程序。

例如,用bbs 賬號登錄後、會直接進入bbs系統,這是因爲bbs賬號的login command指向的是bbs 程序,等系統登錄到bbs時就自動運行這些命令。

備註:UID 是用戶識別碼,GID 是用戶組識別碼。如果把普通用戶的UID和GID改成與root 用戶的一樣,那麼此用戶就變成了管理員,擁有管理員的權限。

第2步:查看用戶密碼以及有效期的文件

用戶密碼以及有效期的存放文件/etc/shadow可通過【vim /etc/shadow】命令打開

查看。

shadow文件由許多條記錄組成。每條記錄佔一行。記錄了一個用戶賬號的所有用戶密瑪以及有效期等信息。每條記錄由8個字段組成,字段間用冒號(: )隔開,其格式如圖



例如,用bbs 賬號登錄後、會直接進入bbs系統,這是因爲bbs賬號的login command指向的是bbs 程序,等系統登錄到bbs時就自動運行這些命令。

備註:UID 是用戶識別碼,GID 是用戶組識別碼。如果把普通用戶的UID和GID改成與root 用戶的一樣,那麼此用戶就變成了管理員,擁有管理員的權限。

(1)用戶名:竈與/etc /passwd文件中的登錄名相一致的用戶賬號。

⑵加密口令:存放的是加密後的用戶口令字符,長度爲13個字符。如果爲空,則對應用戶沒有口令,能夠登錄但是不需要口令;如果是兩個感嘆號,則表示該用戶沒有設置密碼、

不能登錄進系統;如果含有不屬於集合{./0-9A-Za-z}中的字符,則對應的用戶不能登錄。

⑶最後一次修改時間:表示從某個時刻起,到用戶最後一次修改口令時的天數。時間起點對不同的系統可能不一樣。例如,在SCOLinux 中,這個時間起點足1970年1月1日。

(4)最小時間間隔:指兩次修改口令之間所需的最小天數。

(5)最大時間間隔:指口令保持有效的最大天數。

(6)警告時間:表示從系統開始警告用戶到用戶密碼正式失效之間的天數。

(7)不活動時間:表示用戶沒有登錄活動但賬號仍能保持有效的最大天數。

(8)失效時間:給出的是一個絕對的天數。如果使用了這個字段,那麼就給出相應賬號的生存期。期滿後,該賬號就不再是一個合法的賬號,也不能再用來登錄。

系統中還有一些默認的賬號,如daemon、bin 等。這些賬號有特殊的用途,一般用於系統管理。這些賬號的口令大部分用(*)號表示,代表它們不能在登錄時使用。

【vim /etc/shadow】編輯用戶密碼的存放文件。把user2所在行的第一個冒號與第二個營 號之間的字符刪除掉,設置user2的密碼爲空。

第3步:查看賬號所屬組文件

/etc/group 文件是用戶組的配置文件,內容包括用戶和用戶組,並且能顯示出用戶是歸屬哪個用戶組或哪幾個用戶組,因爲一個用戶可以歸屬一個或多個不同的用戶組;同一用戶

組的用戶之間具有相似的特徵。例如,我們把某一用戶加入到root用戶組,那麼這個用戶就可以測覽rooe用戶家目錄的文件;如果root用戶把某個文件的讀寫執行權限開放,root用

戶組的所有用戶都可以修改此文件,如果是可執行的文件(例如腳本),root用戶組的用戶也是可以執行的。

Linux中每建立一個用戶時,同時也建立一個同名的組,此用戶默認是加入到此組中。組用戶文件存放在/etc/group 裏面,可以通過【vim /etc/group 】命令查看,如圖所示。



在圖所示的文件中,有4列,每一列對應的釋義如下。

第一列:用戶組名稱

第二列:用戶組密碼;

第三列: GID,即組ID

第四列:用戶列表,每個用戶之間用逗號(,)分割;本字段可以爲空,如果爲空表示用戶組爲GID的用戶名。

第4步:查看用戶組密碼文件

/etc /gshadow 是/etc /group 的加密資訊文件,例如用戶組(Group )管理密碼就存放在這個文件中。/etc /group 是互補的兩個文件;

對於大型服務器,針對很多用戶和組,定製一些關係結構比較複雜的權限模型,設置用戶組密碼是極有必要的。例如,我們不想讓一些非用戶組成員永久擁有用戶組的權限和特
性,這時可以通過密碼驗證的方式來讓某些用戶臨時擁有一些用戶組特性,這時就要用到用戶組密碼。

通過【vim /etc/gshadow】命令可以查看用戶組密碼存放文件,每個用戶組獨佔一行,如圖所示。


在圖所示的文件中,有4列,每一列對應的釋義如下。

第一列:用戶組名稱;

第二列:用戶組密碼,這個段可以是空的或有歎號(!),如果是空的或有歎號(!),表示沒有密碼;

第三列:用戶組管理者,這個字段也可爲空,如果有多個用戶組管理者,用“,”號分割;

第四列:組成員,如果有多個成員,用逗號(,)分割。

第5步:建立與刪除用戶 的主要命令以及釋義如下:

CentOS中,建立與刪除用戶的主要命令以及釋義如下。

【useradd yhy】新建yhy用戶。

【passwd yhy】爲yhy用戶設置密碼,密碼輸入時無任何顯示。

【useradd ybs-d /home/y】新建ybs用戶,並指定家目錄爲/home/y。

【useradd user1-d / home/userl】此處可以不加-d 參數,因爲用戶的默認家目錄就在/home下與用戶名相同的目錄下。

【useradd user2】增加新用戶user2,用戶默認家目錄爲/ home/user2。

【userdel yhy】刪除用戶,但不刪除家目錄。

【userdel-r ybs】刪除ybs用戶,並刪除用戶家目錄。

【usermod-I user2 user1】修改用戶user1名稱爲user2。

【usermod-L user2】鎖定用戶名user2,鎖定後user2不能登錄。

【usermod-U user2】解鎖用戶名user2。

【su-user1】root用戶切換到普通用戶,不需要密碼。

【su-roof】普通用戶切換到root用戶,需要root密碼。

備註:【su】命令後加“-”橫杆,切換用戶時切換到用戶的家目錄,否則,不改變當前路徑




第6步:建立與管理用戶組

CentOS中,建立與管理用戶組的主要命令以及釋義如下。

【groupadd grp 1】新建用戶組grp1

【grouPdei grp1】刪除用戶組grp1

【groupmod grp2 grp1】修改用戶組名稱grp1爲grp2。

【gpasswd-a user2 grp2】把用戶user2加人到用戶組grp2中

【gpasswd-d user2 grp2】把用戶user2從用戶組grp2中刪除。

第7步:幾個重要的命令補充

有關用戶的操作還有以下命令,詳細釋義如下。

[who am i 】顯示當前以哪個用戶登錄。

【w】顯示目前登人系統的用戶詳細信息,包括登錄IP地址等。

【who】顯示目前登入系統的用戶簡要信息。

【last】記錄每個用戶的登錄次數和持續時間等信息。

【finger】查找並顯示用戶信息如【finger zhangs】表示查看zhangs用戶信息。

【su user]切換用戶但不切換當前目錄。

【su - userl】切換用戶並切換到user的家目錄。

【ntsysv】啓動/關閉系統中的服務。

【setup】設置系統運行參數。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章