文件權限與用戶組
Linux中的一切皆文件,所以對於Linux下文件的管理是非常重要的。
文件的權限分爲3種,r(讀)、w(寫)、x(執行)。
Linux系統是一種典型的多用戶系統,不同的用戶處於不同的地位,擁有不同的權限。爲了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規定。
我們可以用ll
命令查看文件的屬性,以及文件所屬的用戶和組。
一、問題
我把ubuntu的一個文件夾共享了,方便和另外一臺電腦交換數據。
但是把一些數據上傳到這個共享文件夾的時候,發現不能對這些文件進行操作,沒有權限對這些文件進行操作,所以要進行權限管理。
二、所有者和用戶組
在linux中的每個用戶必須屬於一個組,不能獨立於組外。在linux中每個文件有所有者、所在組、其它組的概念。
如上圖所示,第三列zgy就是所有者,第四列zgy是所在組。如果是從某些地方拷貝過來的,所有者和所在組是nobody。
2.1 修改文件用戶組
chgrp
:change group的簡寫,修改文件所屬的用戶組。
chgrp users test.log
修改後查看 ls -l
如果要修改該目錄下所有文件和目錄,使用-R參數。
chgrp -R users test
要被改變的group名,必須在 /etc/group 文件中。 /etc/group文件記錄系統中所有的組名稱。
2.2 修改文件所有者
chown
:change owner的簡寫, 修改文件的所有者。
chown [-R] 賬號名稱 文件或目錄
-R 遞歸,將子目錄下文件全部修改。
將文件所有者修改bin
chown bin test.log
修改的用戶必須在/etc/passwd文件中 /etc/passwd記錄用戶信息。
chown還可以修改組名稱
chown root:root test.log
將所有者和組名稱都修改爲root。
三、文件權限
文件權限是如上圖第一列,一共10個字母
- 第一個字母:
-
表示文件,d
表示目錄,l
表示鏈接。 - 其餘字符每3個一組,
rwx
,讀、寫、執行。 - 第一組,文件所有者的權限
- 第二組,與文件所有者同組的其他用戶的權限
- 第三組,不與文件所有者同組的其他用戶的權限
也可以用數字表示爲r = 4, w = 2, x = 1,因此rwx = 4 + 2 + 1 = 7
第二列表示文件數
第三列表示文件所有者
第三列表示用戶所在組
後面是大小(字節),時間(最後修改),文件名
具體修改第一列文件權限的命令爲
chmod
:change mode。
chmod 改變文件或目錄的權限
chmod 755 abc:賦予abc權限rwxr-xr-x
chmod u=rwx,g=rx,o=rx abc:u=用戶權限,g=組權限,o=不同組其他用戶權限。u表示user,g表示group,o表示other,a表示all。abc的user有rwx權限,group有rx權限,other有rx權限。
chmod u-x,g+w abc:給abc去除用戶執行的權限,增加組寫的權限
chmod a+r abc:bac的user,group和other,添加讀的權限
五、Reference
https://www.cnblogs.com/123-/p/4189072.html
https://blog.csdn.net/cc214042/article/details/52531532
https://blog.csdn.net/songbaiyao/article/details/72854663
https://blog.csdn.net/slwhy/article/details/78876237
http://www.mamicode.com/info-detail-2478318.html
https://www.ibm.com/developerworks/cn/linux/l-linux-filesystem/index.html