【Linux】Linux用户、用户组、文件权限学习笔记
原文地址:http://www.sourcejoy.com/other_dev_tech/linux-user-and-file-manage.html
作者:HaiHai?發布時間:August 12, 2010?分類:綜合技術
最近打算更仔細學習一下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用戶權限設置
Linux下有三類用戶:
1.超級用戶:?root??具有操作系統的一切權限,?UID為0
2.普通用戶:具有操作系統有限的權限??UID為500—6000
3.偽用戶:?是為了方便系統管理,滿足相應的系統進程文件屬主的要求,不能登錄系統,UID為1--499
?
?
Linux通過?/etc/passwd進行用戶管理,
執行命令打開該文件:?vi???/etc/passwd
在此文件中只定義賬號,不定義口令。一行定義一個用戶,分為七個部分:
第一列為賬號名稱,
第二列為用戶密碼(密碼不在此定義),
第三列為用戶標識碼(用戶ID),用來確認用戶身份
第四列為用戶所在組的表示(用戶組ID),
第五列為用戶相關信息(如root),
第六列為用戶家目錄(/root),
第七列為用戶的環境(用戶使用的shell)
?
shell:命令行命令解析器,如?echo??$SHELL,查看當前shell
id??賬戶名,查看當前賬戶的uid
?
改變所屬用戶組:
chgrp??[-R]??dirname/filename ..
-R:?進行遞歸(recursive)的持續更改,即連同子目錄下得所有文件、目錄都更新成這個用戶組。常常用在更改某一目錄的情況
eg:??chgrp??users install.log?????????????//users為用戶組名
?
更改文件擁有者:
文件擁有者必須已經存在于系統中們也就是在/etc/passwd這個文件中有記錄的用戶名稱才可改變
chown [-R]??賬號名稱:文件或目錄
chown [-R]??賬號名稱:用戶組名稱、文件或目錄
?
eg:?chown bin install.log
??????????chown root:root install.log
?當需要復制文件給其他人時:
??????cp???源文件??目的文
eg:??cp???.bashrc???.bashrc_test
????????ls??-al??.bashrc*
?
?
更改9個屬性:
?
數字類型改變文件權限
?
使用chmod命令改變文件的屬性,屬性的設置方法有兩種,分別可以使用數字或者是符號:
Linux?文件的基本屬性有9個,分別是?owner/group/others組別的read/write/excute屬性。
eg: -rwxrwxrwx中,三個為一組,其中可以使用數字來表示各個屬性,各屬性的對照表位:
r:4
w:2
x:1
將同一組(owner/group/others)的3個屬性(r/w/x)累加,如當前屬性為[-rwxrwx---],則是:
owner=rwx=4+2+1=7
group=rwx=4+2+1=7
others= --- =0+0+0=0
該屬性為770.
?
更改屬性的命令chmod語法:
chmod??[-R]??xyz??文件或目錄
xyz:就是數字類型的權限屬性,為rwx屬性數值的和
?
eg:
??ls??-al??.bashrc
??chmod??777??.bashrc
??ls??-al??.bashrc
?
?
符號類型改變文件權限
?
可以通過u(user)、g(group)、o(others)來表示三組的屬性,a表示all,即全部的三組,讀寫屬性可以寫成r、w、x:
?
| chmod | u g o a | +(加入) -(除去) =(設置) | r w x | 文件或目錄 |
?
eg:??chmod??u=rwx,go=rx??.bashrc
如果想把一個文件屬性設置為?-rwxr-xr--,可以這樣:?chmod??u=rwx,g=rx,o=r??filename
如果不知道文件的原先屬性,但想增加其的每人均可寫入的權限,可以這樣:
?chmod??a+w??filename
去掉所有人的x屬性:
總結
以上是生活随笔為你收集整理的【Linux】Linux用户、用户组、文件权限学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android】Android中屏蔽返
- 下一篇: 【Android】dip、dp、sp、p