Linux用戶、用戶組、文件權限學習筆記

轉自: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 文件名

Linux新建文件和目錄的默認權限
 
 
 
我們創建文件的默認權限是怎麼來的?如何改變這個默認權限呢? 
mask是什麼?  
我們登錄系統之後創建一個文件總是有一個默認權限的,那麼這個權限是怎麼來的呢?這就是umask乾的事情。umask設置了用戶創建文件的默認權限,它與chmod的效果剛好相反,umask設置的是權限“補碼”,而chmod設置的是文件權限碼。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中設置umask值。 
如何計算umask值? 
umask命令允許你設定文件創建時的缺省模式,對應每一類用戶(文件屬主、同組用戶、其他用戶)存在一個相應的umask值中的數字。對於文件來說,這一數字的最大值分別是6。系統不允許你在創建一個文本文件時就賦予它執行權限,必須在創建後用chmod命令增加這一權限。目錄則允許設置執行權限,這樣針對目錄來說,umask中各個數字最大可以到7。 
 
該命令的一般形式爲:umask nnn 
 
其中nnn爲umask置000 - 777。 
 
我們只要記住umask是從權限中“拿走”相應的位即可。下表是umask值與權限的對照表: 
 
umask 文件 目錄 
-------------------- 
 
0 6 7 
 
1 6 6 
 
2 4 5 
 
3 4 4 
 
4 2 3 
 
5 2 2 
 
6 0 1 
 
7 0 0 
 
-------------------- 
如:umask值爲022,則默認目錄權限爲755,默認文件權限爲644



至此,用戶、文件和權限相關的東西,就總結個7788了,接下來的就是,平常要敢於用各種命令,勤於看看本篇總結啦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章