本文將介紹Linux下用戶和組的概念及相關配置文件,通過本文,能更好的認識/etc/pssswd ,/etc/group,以及UID、GID的概念,最后將通過修改用戶配置文件來實現用戶和組的管理工作,對Linux的多任務、多用戶有一個更清楚的認識。
一、用戶(USER)
在LInux上用戶的管理工作是通過修改相關的配置文件來實現的,在日常的工作中主要包含對用戶的查詢、增加、修改和刪除,由此可見,修改配置文件對用戶管理的重要性,下面將對用戶(USER)的配置文件來具體說明。
用戶的配置文件包括/etc/passwd和/etc/shadow文件,這兩個文件是用來記錄用戶的密碼、UID、GID等信息的,但密碼是以加密的形式來存放的,且加密算法本身會產生雪崩效應:即初始條件的微小變化,將引起結果的巨大變活,所以想要破解密碼基本是不可能的,下面將詳細說明用戶組的兩個配置文件的區別:
1、/etc/passwd內容的詳解:
在/etc/passwd中,每一行都代表的是一個用戶的信息,一行有7段,用:來分割,如下所示:
root:x:0:0:root:/root:/bin/bash |
第一字段:用戶名(也被稱為登錄名);在上面的例子中,我們看到這個用戶的用戶名是root,即管理員;
第二字段:口令;我們看到的是一個x,表示其為密碼占位符,真實的密碼已被保存到/etc/shadow 文件中;
第三字段:UID ;用戶的用戶ID號;
第四字段:GID;用戶組的ID號;
第五字段:用戶名全稱;
第六字段:用戶的家目錄所在位置;
第七字段:用戶所用SHELL 的類型,由上可見系統默認的是bash;
用戶的UID:
UID即為用戶在系統中的ID號,眾所周知,Linux系統識別用戶不是看用戶名,而是看它自身的ID號來識別,每個用戶的ID號都是唯一的,系統用戶的UID從0開始,到65535,都可以分配用戶,但他們之間是有區別的。我們的Linux系統分為管理員和普通用戶兩種,普通用戶為1-65535,普通用戶又分為系統用戶和登錄用戶,ID號分別為1-,999和1000-65535。
上面說過,每個用戶的UID號都是唯一的,把幾個用戶共用一個UID是危險的,比如我們上邊說的root用戶,如果把普通用戶的UID改為0,和root共用一個UID,這事實上就造成了系統管理權限的混亂,如我們想用root權限,可用su命令實現,但絕不可以讓一個用戶和root分享同一個UID。
2、/etc/shadow內容的詳解:
shadow,顧名思義,是passwd的影子文件,/etc/shadow文件包括用戶、被加密的密碼及用戶的有限期限等,這個文件只有root權限才可以讀取和操作,如下:
root:$6$6aHonQcR$Dt8.0GnvD3IO5cyVKDvRZLb8/zQMRz5.o6dflIsR/3E1Py1kCSMJ5P2Xga8Deh0ZTQxesQd5wgdyYWTOCvvcv0:17086:0:99999:7::: |
第一字段:用戶名(也被稱為登錄名),和/etc/passwd 是相同的;
第二字段:密碼(已被加密),如果是有些用戶在這段是x,表示這個用戶不能登錄到系統;這個字段是非空的;
第三字段:上次修改口令的時間;這個時間是從1970年01月01日到最近一次修改口令的時間間隔(天數),可以通過passwd 來修改用戶的密碼;
第四字段:兩次修改口令間隔最少的天數;如果設置為0,則禁用此功能;也就是說用戶必須經過多少天才能修改其口令;默認值是通過/etc/login.defs文件定義中獲取,PASS_MIN_DAYS 中有定義;
第五字段:兩次修改口令間隔最多的天數;這個能增強管理員管理用戶口令的時效性,應該說在增強了系統的安全性;如果是系統默認值,是在添加用戶時由/etc/login.defs文件定義中獲取,在PASS_MAX_DAYS 中定義;
第六字段:提前多少天警告用戶口令將過期;當用戶登錄系統后,系統登錄程序提醒用戶口令將要過期;如果是系統默認值,是在添加用戶時由 /etc/login.defs文件定義中獲取,在PASS_WARN_AGE 中定義;
第七字段:在口令過期之后多少天禁用此用戶;此字段表示用戶口令作廢多少天后,系統會完全禁用此用戶;
第八字段:用戶過期日期;此字段指定了用戶作廢的天數(從1970年的1月1日開始的天數),如果這個字段的值為空,帳號永不過期;
第九字段:保留字段;
二、關于用戶組(GROUP):
用戶組的配置文件主要有/etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件;
1、/etc/group:
root:x:0: |
在/etc/group 中的每條記錄分四個字段:
第一字段:用戶組名稱;
第二字段:用戶組密碼;
第三字段:GID
第四字段:用戶列表,每個用戶之間用,號分割;本字段可以為空;如果字段為空表示用戶組為GID的用戶名;
/etc/group文件使用戶組的配置文件,內容包括用戶和用戶組,從中可以很清楚的看出用戶所屬的某個組或某些組。其中同一用戶組的用戶之間具有相同的權限。這一特性使得管理員在系統管理中獲得了極大的方便。
2、/etc/gshadow:
/etc/gshadow的內容包括用戶組(GROUP)、口令、GID及每個組所包含的用戶:
root::: |
第一字段:用戶組 ;
第二字段:用戶組密碼,這個段可以是空的或!,如果是空的或有!,表示沒有密碼;
第三字段:用戶組管理者,這個字段也可為空,如果有多個用戶組管理者,用,號分割;
第四字段:組成員,如果有多個成員,用,號分割;
三、通過修改用戶(USER)和用戶組(GROUP)配置文件來修改用戶或用戶組:
1、我們可以修改/etc/passwd和/etc/group來修改用戶和用戶做歸屬的組,通過修改/etc/passwd來實現,當然也可以修改用戶的bash類型,家目錄等等;
2、修改用戶所歸屬的組,可通過/etc/group修改來實現;
3、刪除用戶及用戶組,我們可以通過刪除/etc/passwd和/etc/group相應的用戶和用戶組就能達到目的,當然也能通過userdel和groupdel來實現對用戶及用戶組的刪除;
通過對用戶和用戶組的描述,可以使我們清楚的知道配置文件對Linux系統的重要性,也從另一面反映出Linux系統的哲學思想之一,即:使用文本文件保存程序的配置數據,使用一個文本編輯器即可完成系統及服務配置工作。
原創文章,作者:maomaosan2008,如若轉載,請注明出處:http://www.www58058.com/53743