Linux使用者、使用者組、檔案許可權學習筆記

urgel_babay發表於2016-03-01

參考網址:http://www.sourcejoy.com/other_dev_tech/linux-user-and-file-manage.html

最近打算更仔細學習一下linux作業系統。先是惡補了一下使用者、使用者組、檔案許可權這三樣比較重要的知識。
學習這幾樣東西,得先掌握linux的許可權系統相關知識。
linux的許可權系統主要是由使用者、使用者組和許可權組成。
使用者就是一個個的登入並使用linux的使用者。linux內部用UID表示。
使用者組就是使用者的分組。linux內部用GID表示。
許可權分為讀、寫、執行三種許可權。

linux的使用者資訊儲存在/etc/passwd檔案中,另外,/etc/shadow檔案存放的是使用者密碼相關資訊。

/etc/passwd檔案格式:
使用者名稱:密碼:UID:GID:使用者資訊:HOME目錄路徑:使用者shell
其中UID為0則是使用者root,1~499為系統使用者,500以上為普通使用者

/etc/shadow儲存使用者密碼資訊,包括加密後的密碼,密碼過期時間,密碼過期提示天數等。

使用者組資訊儲存在/etc/group檔案中.
格式如下:
使用者組名:組密碼:GID:組內帳號(多個帳號用逗號分隔)

使用者登入後,/etc/passwd檔案裡的GID為使用者的初始使用者組。
使用者的初始使用者組這一事實不會再/etc/group中體現。

檢視當前使用者的使用者組命令:
[root@local opt]#groups
root bin daemon sys adm disk wheel
輸出的資訊中,第一個使用者組為當前使用者的有效使用者組(當前使用者組)

切換有效使用者組命令:
[root@local opt]#newgrp 使用者組名
要離開新的有效使用者組,則輸入exit回車。

新建使用者命令:
[root@local opt]#useradd 使用者名稱 -g 初始使用者組 -G 其他使用者組(修改/etc/group) -c 使用者說明 -u 指定UID

建完使用者需要為使用者設定密碼:
[root@local opt]#passwd 使用者名稱

使用者要修改自己密碼命令:
[root@local opt]#passwd

修改使用者資訊命令:
[root@local opt]#usermod 引數 使用者名稱
引數:
 -c 說明
 -g 組名 初始使用者組
-e 過期日期 格式:YYYY-MM-DD
 -G 組名 其他使用者組
 -l 修改使用者名稱
 -L 鎖定賬號(在/etc/shadow檔案中使用者對應密碼密碼串的前面加上兩個歎號(!!))
 -U 解鎖

刪除使用者命令:
[root@local opt]#userdel [-r] 使用者名稱
其中,引數-r為刪除使用者的home目錄。
其實,可能在系統其他地方也有該使用者檔案,要完整刪除一個使用者和其檔案要先找到屬於他的檔案:
[root@local opt]#find / -user 使用者名稱
然後刪除,再執行userdel刪除使用者。

檢視可用shell命令:
[root@local opt]#chsh -l
修改自己的shell命令:
[root@local opt]#chsh -s

檢視自己或某人UID/GID資訊:
[root@local opt]#id [使用者名稱]
返回資訊中groups為有效使用者組

新增使用者組命令:
[root@local opt]#groupadd 使用者組名

修改使用者組名命令:
[root@local opt]#groupmod -n 名稱

刪除使用者組命令:
[root@local opt]#groupdel 使用者組名

設定使用者組密碼命令:
[root@local opt]#gpasswd 使用者組名

如果gpasswd加上引數則有其他功能

設定使用者組管理員命令:
[root@local opt]#gpasswd -A 使用者名稱 使用者組名

新增某帳號到組命令:
[root@local opt]#gpasswd -M 使用者名稱 使用者組名

從組中刪除某帳號命令:
[root@local opt]#gpasswd -d 使用者名稱 使用者組名

passwd相關引數操作:
-l 鎖使用者
-u 解鎖使用者
-n 天數  密碼不可改天數
-x 天數  密碼過期天數
-w 天數  警告天數

 檔案許可權知識

先看個例項:
[root@local opt]#ls -al
ls -al 命令是列出目錄的所有檔案,包括隱藏檔案。隱藏檔案的檔名第一個字元為'.'
-rw-r--r--  1 root root    81 08-02 14:54 gtkrc-1.2-gnome2
-rw-------  1 root root   189 08-02 14:54 ICEauthority
-rw-------  1 root root    35 08-05 10:02 .lesshst
drwx------  3 root root  4096 08-02 14:54 .metacity
drwxr-xr-x  3 root root  4096 08-02 14:54 nautilus

列表的列定義如下:
[許可權屬性資訊] [連線數] [擁有者] [擁有者所屬使用者組] [大小] [最後修改時間] [檔名]

許可權屬性列表為10個字元:
第一個字元表示檔案型別,d為目錄 -為普通檔案 l為連線 b為可儲存的介面裝置 c為鍵盤滑鼠等輸入裝置
2、3、4個字元表示所有者許可權,5、6、7個字元表示所有者同組使用者許可權,8、9、10為其他使用者許可權
第二個字元表示所有者讀許可權,如果有許可權則為r,沒有許可權則為-
第三個字元表示所有者寫許可權,如果有許可權則為w,沒有許可權則為-
第四個字元表示所有者執行許可權,如果有許可權則為x,沒有許可權則為-
第五個字元表示所有者同組使用者讀許可權,如果有許可權則為r,沒有許可權則為-
第六個字元表示所有者同組使用者寫許可權,如果有許可權則為w,沒有許可權則為-
第七個字元表示所有者同組使用者執行許可權,如果有許可權則為x,沒有許可權則為-
第八個字元表示其他非同組讀許可權,如果有許可權則為r,沒有許可權則為-
第九個字元表示其他非同組寫許可權,如果有許可權則為w,沒有許可權則為-
第十個字元表示其他非同組執行許可權,如果有許可權則為x,沒有許可權則為-

修改檔案所屬組命令:
[root@local opt]#chgrp [-R] 組名 檔名
其中-R為遞迴設定

修改檔案的所有者和組命令:
[root@local opt]#chown [-R] 使用者[:使用者組] 檔名

修改檔案訪問許可權命令:
[root@local opt]#chmod [-R] 0777 檔名

至此,使用者、檔案和許可權相關的東西,就總結個7788了,接下來的就是,平常要敢於用各種命令,勤於看看本篇總結啦。
====================================================================
linux 檢視使用者及使用者組的方法
whois
功能說明:查詢並顯示使用者資訊。
語  法:whois [帳號名稱]
補充說明:whois指令會去查詢並顯示指定帳號的使用者相關資訊,因為它是到Network Solutions 的WHOIS資料庫去查詢,所以該帳號名稱必須在上面註冊方能尋獲,且名稱沒有大小寫的差別。
---------------------------------------------------------
whoami
功能說明:先似乎使用者名稱稱。
語  法:whoami [--help][--version]
補充說明:顯示自身的使用者名稱稱,本指令相當於執行"id -un"指令。
參  數:
--help  線上幫助。
--version  顯示版本資訊。
---------------------------------------------------
who
功能說明:顯示目前登入系統的使用者資訊。
語  法:who [-Himqsw][--help][--version][am i][記錄檔案]
補充說明:執行這項指令可得知目前有那些使用者登入系統,單獨執行who指令會列出登入帳號,使用的    終端機,登入時間以及從何處登入或正在使用哪個X顯示器。
參  數:
-H或--heading  顯示各欄位的標題資訊列。
-i或-u或--idle  顯示閒置時間,若該使用者在前一分鐘之內有進行任何動作,將標示成"."號,如果該使用者已超過24小時沒有任何動作,則標示出"old"字串。
-m  此引數的效果和指定"am i"字串相同。
-q或--count  只顯示登入系統的帳號名稱和總人數。
-s  此引數將忽略不予處理,僅負責解決who指令其他版本的相容性問題。
-w或-T或--mesg或--message或--writable  顯示使用者的資訊狀態列。
--help  線上幫助。
--version  顯示版本資訊。
----------------------------------------------------
w
功能說明:顯示目前登入系統的使用者資訊。
語  法:w [-fhlsuV][使用者名稱稱]
補充說明:執行這項指令可得知目前登入系統的使用者有那些人,以及他們正在執行的程式。單獨執行w
指令會顯示所有的使用者,您也可指定使用者名稱稱,僅顯示某位使用者的相關資訊。
參  數:
-f  開啟或關閉顯示使用者從何處登入系統。
-h  不顯示各欄位的標題資訊列。
-l  使用詳細格式列表,此為預設值。
-s  使用簡潔格式列表,不顯示使用者登入時間,終端機階段作業和程式所耗費的CPU時間。
-u  忽略執行程式的名稱,以及該程式耗費CPU時間的資訊。
-V  顯示版本資訊。
-----------------------------------------------------
finger命令
finger 命令的功能是查詢使用者的資訊,通常會顯示系統中某個使用者的使用者名稱、主目錄、停滯時間、登入時間、登入shell等資訊。如果要查詢遠端機上的使用者資訊,需要在使用者名稱後面接“@主機名”,採用[使用者名稱@主機名]的格式,不過要查詢的網路主機需要執行finger守護程式。
該命令的一般格式為:
finger [選項] [使用者] [使用者@主機]
命令中各選項的含義如下:
-s 顯示使用者的註冊名、實際姓名、終端名稱、寫狀態、停滯時間、登入時間等資訊。
-l 除了用-s選項顯示的資訊外,還顯示使用者主目錄、登入shell、郵件狀態等資訊,以及使用者主目錄下的.plan、.project和.forward檔案的內容。
-p 除了不顯示.plan檔案和.project檔案以外,與-l選項相同。 
[例]在本地機上使用finger命令。
$ finger xxq
Login: xxq Name:
Directory: /home/xxq Shell: /bin/bash
Last login Thu Jan 1 21:43 (CST) on tty1
No mail.
No Plan. 
$ finger
Login Name Tty Idle Login Time Office Office Phone
root root *1 28 Nov 25 09:17
……
------------------------------------------------------------------
/etc/group檔案包含所有組
/etc/shadow和/etc/passwd系統存在的所有使用者名稱
修改當前使用者所屬組的方法
usermod 或者可以直接修改 /etc/paaawd檔案即可
----------------------------------------------------------------
vlock(virtual console lock)
功能說明:鎖住虛擬終端。
語  法:vlock [-achv]
補充說明:執行vlock指令可鎖住虛擬終端,避免他人使用。
參  數:
-a或--all  鎖住所有的終端階段作業,如果您在全螢幕的終端中使用本引數,則會將用鍵盤
切換終端機的功能一併關閉。
-c或--current  鎖住目前的終端階段作業,此為預設值。
-h或--help  線上幫助。
-v或--version  顯示版本資訊。
--------------------------------------------------------
usermod
功能說明:修改使用者帳號。
語  法:usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <群組>][-G <群組>][-l <帳號名稱>][-s ][-u ][使用者帳號]
補充說明:usermod可用來修改使用者帳號的各項設定。
參  數:
-c<備註>  修改使用者帳號的備註文字。
-d登入目錄>  修改使用者登入時的目錄。
-e<有效期限>  修改帳號的有效期限。
-f<緩衝天數>  修改在密碼過期後多少天即關閉該帳號。
-g<群組>  修改使用者所屬的群組。
-G<群組>  修改使用者所屬的附加群組。
-l<帳號名稱>  修改使用者帳號名稱。
-L  鎖定使用者密碼,使密碼無效。
-s  修改使用者登入後所使用的shell。
-u  修改使用者ID。
-U  解除密碼鎖定。
-------------------------------------------------------
userdel
功能說明:刪除使用者帳號。
語  法:userdel [-r][使用者帳號]
補充說明:userdel可刪除使用者帳號與相關的檔案。若不加引數,則僅刪除使用者帳號,而不刪除相關檔案。
參  數:
-f  刪除使用者登入目錄以及目錄中所有檔案。
----------------------------------------------------------
userconf
功能說明:使用者帳號設定程式。
語  法:userconf [--addgroup <群組>][--adduser <使用者ID><群組><使用者名稱稱>][--delgroup <群組>][--deluser <使用者ID>][--help]
補充說明:userconf實際上為linuxconf的符號連線,提供圖形介面的操作方式,供管理員建立與管理各類帳號。若不加任何引數,即進入圖形介面。
參  數:
--addgroup<群組>  新增群組。
--adduser<使用者ID><群組><使用者名稱稱>  新增使用者帳號。
--delgroup<群組>  刪除群組。
--deluser<使用者ID>  刪除使用者帳號。
--help  顯示幫助。
------------------------------------------------------
useradd
功能說明:建立使用者帳號。
語  法:useradd [-mMnr][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <群組>][-G <群組>][-s ][-u ][使用者帳號] 或 useradd -D [-b][-e <有效期限>][-f <緩衝天數>][-g <群組>][-G <群組>][-s ]
補充說明:useradd可用來建立使用者帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳號。使用useradd指令所建立的帳號,實際上是儲存在/etc/passwd文字檔案中。
參  數:
-c<備註>  加上備註文字。備註文字會儲存在passwd的備註欄位中。 
-d<登入目錄>  指定使用者登入時的啟始目錄。
-D  變更預設值.
-e<有效期限>  指定帳號的有效期限。
-f<緩衝天數>  指定在密碼過期後多少天即關閉該帳號。
-g<群組>  指定使用者所屬的群組。
-G<群組>  指定使用者所屬的附加群組。
-m  自動建立使用者的登入目錄。
-M  不要自動建立使用者的登入目錄。
-n  取消建立以使用者名稱稱為名的群組.
-r  建立系統帳號。
-s   指定使用者登入後所使用的shell。
-u  指定使用者ID。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30936525/viewspace-2018503/,如需轉載,請註明出處,否則將追究法律責任。

相關文章