用戶組存在的原因主要還是方便分配權(quán)限。而用戶本身和權(quán)限的差別不是很大,各個(gè)用戶之間主要的不同是:是否擁有密碼;home目錄(普通用戶可以有一個(gè)以自己用戶名命名的home目錄,存放的地址是/home/username,root用戶的home目錄是:/root);shell。
像nobody這樣用來執(zhí)行Nginx的工作進(jìn)程的用戶,一般不分配密碼和shell,甚至連home目錄都沒有。為什么不分配密碼?如果設(shè)置了密碼,程序無法自動(dòng)使用。由于不會(huì)有人使用這個(gè)用戶登錄系統(tǒng),所以就沒有必要分配shell。(備注:其實(shí)嚴(yán)格上說是有分配shell,只是分配的shell是/sbin/nologin這個(gè)特殊的shell,沒有任何其他功能,主要功能是防止你登陸。)
所有用戶都可以通過查看/etc/passwd查看。文件的每一行代表著一個(gè)用戶,每一行由冒號(hào)“:”分割成7個(gè)字段,其結(jié)構(gòu)如下:

UID:UID 0 root用戶;UID 1~999 是占坑用戶,即一寫無法登錄的用戶(以前是系統(tǒng)是1~499,最近剛改);UID 1000 以上是正常的可登錄用戶。
GID:前面說了一個(gè)用戶可以屬于多個(gè)用戶組,但這里只有一個(gè),表示的是專職用戶組,即一個(gè)用戶只有一個(gè)專職用戶組,其屬于其他用戶組的關(guān)聯(lián)關(guān)系存儲(chǔ)在/etc/group 文件中。
其中比較特殊的是密碼字段,統(tǒng)一由x代替了,看/etc/passwd就知道一開始Linux是將密碼存在這個(gè)文件里的,由于考慮到/etc/passwd可以被所有人查看,所以將統(tǒng)一存儲(chǔ)到/etc/shadow文件(只有root權(quán)限可以訪問)中。
其結(jié)構(gòu)如下:

再來看看/etc/group文件,其結(jié)構(gòu)如下:

正常的使用中很少會(huì)用到用戶組密碼,其存儲(chǔ)在/etc/gshadow中。用戶組文件比較特特殊的是“”用戶組內(nèi)的用戶名”,其實(shí)就是這個(gè)組下的用戶列表,每個(gè)用戶之間用逗號(hào)“,”分割;本字段可以為空;如果字段為空表示用戶組為GID的用戶名普通用戶的權(quán)限非常的低,就連在系統(tǒng)里安裝軟件的權(quán)限都沒有,很多時(shí)候可以臨時(shí)給普通用戶以特權(quán),就是sudo(在命令前添加sudo)。
最后來學(xué)習(xí)下常用的shell命令:
useradd命令用于Linux中創(chuàng)建的新的系統(tǒng)用戶。useradd可用來建立用戶帳號(hào)。帳號(hào)建好之后,再用passwd設(shè)定帳號(hào)的密碼.而可用userdel刪除帳號(hào)。使用useradd指令所建立的帳號(hào),實(shí)際上是保存在/etc/passwd文本文件中。語法 : useradd(選項(xiàng))(參數(shù))
上一個(gè)教程:Linux文件權(quán)限命令的軟硬連接區(qū)別
下一個(gè)教程:這五個(gè)問題搞明白,Linux學(xué)習(xí)就會(huì)變簡單?