Linux用戶user,組group詳解

1、用戶userlinux

Linux用戶分爲管理員和普通用戶,普通用戶又分爲系統用戶和自定義用戶。能夠查看/etc/passwd來查看。以下所示:(部分)shell

root:x:0:0:root:/root:/bin/bash
pulse:x:497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lilei:x:500:500::/home/lilei:/bin/bash
wangcai:x:502:503::/home/wangcai:/bin/bash


一、系統管理員:即root賬戶,UID號爲0,擁有全部系統權限,它相似於Windows系統中的administrator賬戶,是整個系統的全部者。
二、系統用戶:linux爲知足自身系統管理所內建的帳號,一般在安裝過程當中自動建立,不能用於登陸操做系統。UID在1-499之間(centos7爲1-999之間)。像上面的sshd、pulse等等用戶便是此類用戶。它相似於Windows中的system賬戶,固然權限遠沒有system賬戶高。
三、自定義用戶:由root管理員建立供用戶登陸系統進行操做使用的帳號,UID在500以上(centos7爲1000以上)。它相似於Windows系統中users用戶組中的賬戶 。
centos

而在該文件中,每一行用戶記錄的各個數據段用「:」分隔,分別定義了用戶的各方面屬性。各個字段的順序和含義以下:
安全

咱們以這個wangcai普通用戶爲例
bash

wangcai:x:502:503::/home/wangcai:/bin/bashssh

註冊名:口令:用戶標識號(uid):組標識號(gid):註釋性描述:用戶主目錄:用戶登錄的shell類型tcp


 (1)註冊名(login_name):用於區分不一樣的用戶。在同一系統中註冊名是唯一的。在不少系統上,該字段被限制在8個字符的長度以內;而且要注意,一般在Linux系統中對字母大小寫是敏感的,登陸名中不能有冒號(:),由於冒號在這裏是分隔符。爲了兼容起見,登陸名中最好不要包含點字符(.),而且不使用連字符(-)和加號(+)打頭。這與MSDOS/Windows是不同的。ide


 (2)口令(passwd):一些系統中,存放着加密後的用戶口令字。雖然這個字段存放的只是用戶口令的加密串,不是明文,可是因爲/etc/passwd文件對全部用戶均可讀,因此這還是一個安全隱患。所以,如今許多Linux系統(如SVR4)都使用了shadow技術,把真正的加密後的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,例如「x」或者「*」。超級用戶root可使用系統命令passwd來更改系統中全部用戶的口令,普通用戶也能夠在登陸系統後使用passwd命令來更改本身的口令post


(3)用戶標識號(UID):是一個整數,系統內部用它來標識用戶。通常狀況下它與用戶名是一一對應的。若是幾個用戶名對應的用戶標識號是同樣的,系統內部將把它們視爲同一個用戶,可是它們能夠有不一樣的口令、不一樣的主目錄以及不一樣的登陸Shell等。取值範圍是0-65535。0是超級用戶root的標識號,1-99由系統保留,做爲管理帳號,普通用戶的標識號從100開始。在Linux系統中,這個界限是500。ui


(4)組標識號(GID):這是當前用戶的工做組標識。具備類似屬性的多個用戶能夠被分配到同一個組內,每一個組都有本身的組名,且以本身的組標 識號相區分。像UID同樣,用戶的組標識號也存放在passwd文件中。在現代的Unix/Linux中,每一個用戶能夠同時屬於多個組。除了在 passwd文件中指定其歸屬的基本組以外,還在/etc/group文件中指明一個組所包含用戶。


(5)註釋性描述(users):字段記錄着用戶的一些我的狀況,例如用戶的真實姓名、電話、地址等,這個字段並無什麼實際的用途。在不一樣的Linux系統中,這個字段的格式並無統一。在許多Linux系統中,這個字段存放的是一段任意的註釋性描述文字,用作finger命令的輸出。


(6)用戶主目錄(home_directory):也就是用戶的起始工做目錄,它是用戶在登陸到系統以後所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱默認就是該用戶的登陸名。各用戶對本身的主目錄有讀、寫、執行(搜索)權限,其餘用戶對此目錄的訪問權限則根據具體狀況設置。


(7)登陸Shell(Shell):用戶登陸後,要啓動一個進程,負責將用戶的操做傳給內核,這個進程是用戶登陸到系統後運行的命令解釋器或某個特定的程序,即Shell。Shell是用戶與Linux系統之間的接口。Linux的Shell有許多種,每種都有不一樣的特色。經常使用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系統管理員能夠根據系統狀況和用戶習慣爲用戶指定某個Shell。若是不指定Shell,那麼系統使用sh爲默認的登陸Shell,即這個字段的值爲/bin/sh。而當用戶shell類型爲/sbin/nologin,則是該用戶沒法登錄系統。

  用戶的登陸Shell能夠指定爲某個特定的程序(此程序不是一個命令解釋器)。利用這一特色,咱們能夠限制用戶只能運行指定的應用程序,在該應用程序運行結束後,用戶就自動退出了系統。有些Linux系統要求只有那些在系統中登記了的程序才能出如今這個字段中



2、組group

在linux中的每一個用戶必須屬於一個組,不能獨立於組外。在linux中每一個文件有全部者、所在組、其它組的概念。一樣用戶組的信息咱們能夠在/etc/group中查看。以下所示(部分)

root:x:0:
bin:x:1:bin,daemon
stapdev:x:158:
tcpdump:x:72:
screen:x:84:
lilei:x:500:
admins:x:502:
wangcai:x:503:
sysadmins:x:504

這裏我一樣只展現出了一部分,它們各個數據間一樣用:分隔,每一個數據表明的意義也各有不一樣

咱們一樣用bin組爲例

bin:x:1:bin,daemon

組名:組密碼:組標識號(GID):附加組成員

linux組的類別:

  用戶的主要組(primary group):用戶必須屬於一個且只有一個組

  用戶的附加組(supplementary group):一個用戶能夠屬於一個或者零個附加組


而文件通常分爲

- 全部者

- 所在組

- 其它組


 

全部者

通常爲文件的建立者,誰建立了該文件,就自然的成爲該文件的全部者

用ls ‐ahl命令能夠看到文件的全部者

也可使用chown 用戶名 文件名來修改文件的全部者

 

文件所在組

當某個用戶建立了一個文件後,這個文件的所在組就是該用戶所在的組

用ls ‐ahl命令能夠看到文件的全部組

也可使用chgrp 組名 文件名來修改文件所在的組

 

其它組

除開文件的全部者和所在組的用戶外,系統的其它用戶都是文件的其它組


Linux用戶和組的主要配置文件

-/etc/passwd:用戶機器屬性信息(名稱、UID、主組ID等)

-/etc/group:組及其屬性信息

-/etc/shadow:用戶密碼及其相關信息

-/etc/gshadow:組密碼及其相關信息


前兩個配置文件咱們已經介紹過了,這裏咱們講一下/etc/shadow文件,/etc/shadow 是/etc/passwd的密碼映射過去產生的文件,由於/etc/passwd爲全部用戶均可讀的文件因此會致使用戶密碼不安全,而/etc/shadow文件只有root能看,其餘用戶不能訪問。

pwconv 將passwd當中的密碼映射到了/etc/shadow

pwunconv 取消映射,密碼仍然放在/etc/passwd當中

/etc/shadow裏的文件以下所示(部分)

postfix:!!:17539::::::
gdm:!!:17539::::::
pulse:!!:17539::::::
sshd:!!:17539::::::
tcpdump:!!:17539::::::
lilei:$6$uPmj3VzY$xXEir7SSxj9R.sjbki3PfqDjNmdjavplQ5HXZjcGtULLiyenLv1VLHe.6cdidI1wQNjEkijiDfbfXWQc0Plss0:17544:0:99999:7:::
wangcai:!!:17547:0:99999:7:::

這裏一樣以:爲分隔符,隔個字段含義以下

登錄用戶名:

用戶密碼(!!表示沒有設置密碼):

從1970年1月1日起到密碼最近一次被更改的時間:

密碼再過幾天能夠被更改(0表示能夠隨時被修改):

密碼再過幾天必須被更改(99999表示99999天后過時,也就至關於永不過時):

密碼過時前幾天系統提醒用戶(默認爲一週):

密碼過時幾天後帳號會被鎖定:

從1970年1月1日算起,多少天后帳號失效:


/etc/gshdow文件一樣是/etc/group文件裏的密碼映射文件

 

grpconv 將組密碼映射到了/etc/gshadow

 grpunconv 取消組密碼的映射


/etc/gshadow裏的文件以下所示:(部分)

stapdev:!::
tcpdump:!::
screen:!::
lilei:!::
admins:!::
wangcai:!::
sysadmins:!::

組名:組密碼:組管理員列表:以當前組爲附加組的用戶列表(分隔符爲逗號)

相關文章
相關標籤/搜索