用戶組
在linux中的每個用戶必須屬於一個組,不能獨立於組外。在linux中每個文件有所有者、所在組、其它組的概念
- 所有者
- 所在組
- 其它組
- 改變用戶所在的組
所有者
一般為文件的創建者,誰創建了該文件,就天然的成為該文件的所有者
用ls ‐ahl命令可以看到文件的所有者
也可以使用chown 用戶名 文件名來修改文件的所有者
文件所在組
當某個用戶創建了一個文件后,這個文件的所在組就是該用戶所在的組
用ls ‐ahl命令可以看到文件的所有組
也可以使用chgrp 組名 文件名來修改文件所在的組
其它組
除開文件的所有者和所在組的用戶外,系統的其它用戶都是文件的其它組
文件權限
ls
-l中顯示的內容如下:
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc |
- 10個字符確定不同用戶能對文件干什么
- 第一個字符代表文件(-)、目錄(d),鏈接(l)
- 其余字符每3個一組(rwx),讀(r)、寫(w)、執行(x)
- 第一組rwx:文件所有者的權限是讀、寫和執行
- 第二組rw-:與文件所有者同一組的用戶的權限是讀、寫但不能執行
- 第三組r--:不與文件所有者同組的其他用戶的權限是讀不能寫和執行
也可用數字表示為:r=4,w=2,x=1 因此rwx=4+2+1=7
- 1 表示連接的文件數
- root 表示用戶
- root表示用戶所在的組
- 1213 表示文件大小(字節)
- Feb 2 09:39 表示最后修改日期
- abc 表示文件名
改變權限的命令
chmod 改變文件或目錄的權限
chmod 755 abc:賦予abc權限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:同上u=用戶權限,g=組權限,o=不同組其他用戶權限
chmod u-x,g+w abc:給abc去除用戶執行的權限,增加組寫的權限
chmod a+r abc:給所有用戶添加讀的權限
改變所有者(chown)和用戶組(chgrp)命令
chown xiaoming abc:改變abc的所有者為xiaoming
chgrp root abc:改變abc所屬的組為root
chown root ./abc:改變abc這個目錄的所有者是root
chown ‐R root ./abc:改變abc這個目錄及其下面所有的文件和目錄的所有者是root
改變用戶所在組
在添加用戶時,可以指定將該用戶添加到哪個組中,同樣用root的管理權限可以改變某個用戶所在的組
- usermod ‐g 組名 用戶名
你可以用
- usermod ‐d 目錄名 用戶名,改變該用戶登錄的初始目錄
【綜合案例】
【題1.1】建立兩個用戶組group1和group2,以及三個用戶dennis、daniel、abigale,並且將前2個用戶分配在group1用戶組下,后一個分配在group2用戶組下
【題1.2】以dennis用戶登錄,創建一個Hello.java文件
【題1.3】以daniel用戶登錄,觀察是否可以訪問/home/dennis目錄以及讀或寫其創建的Hello.java文件
【題1.4】以dennis用戶登錄,修改目錄/home/dennis及Hello.java文件的讀寫權限(更正:修改目錄權限的時候,應該使用770,而不是760,否則權限不足)
【題1.5】重復【題1.3】
【題1.6】改變abigale的用戶組由group2變為group1
然后,可以使用cat /etc/passwd查看並確定
【參考】
- groupadd 組名,在linux中添加組
- vi /etc/group,查看linux中所有組信息,可以看可以編輯
- cat /etc/group,查看linux中所有組信息,只可以看不可以編輯
- useradd ‐g 組名 用戶名,創建用戶的同時指定將該用戶分配到哪個組下
- vi /etc/passwd,查看linux中所有用戶信息,可以看可以編輯
- cat /etc/passwd,查看linux中所有用戶信息,只可以看不可以編輯