1. 程式人生 > >Linux使用者、使用者組、檔案許可權學習筆記

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

最近打算更仔細學習一下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中體現。

檢視當前使用者的使用者組命令:
[

[email protected] opt]#groups
root bin daemon sys adm disk wheel
輸出的資訊中,第一個使用者組為當前使用者的有效使用者組(當前使用者組)

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

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

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

使用者要修改自己密碼命令:
[[email protected] opt]#passwd

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

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

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

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

新增使用者組命令:
[[email protected] opt]#groupadd 使用者組名

修改使用者組名命令:
[[email protected] opt]#groupmod -n 名稱

刪除使用者組命令:
[[email protected] opt]#groupdel 使用者組名

設定使用者組密碼命令:
[[email protected] opt]#gpasswd 使用者組名

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

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

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

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

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

 檔案許可權知識

先看個例項:
[[email protected] 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,沒有許可權則為-

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

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

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

至此,使用者、檔案和許可權相關的東西,就總結個7788了,接下來的就是,平常要敢於用各種命令,勤於看看本篇總結啦。