Linux系統下經常遇到文件或者文件夾的權限問題,或者是因為文件夾所屬的用戶問題而沒有訪問的權限。根據我自己遇到的情況,對這類問題做一個小結。
在命令行使用命令“ll”或者“ls -a”,可以查看文件或者文件的權限:
-rw-r--r--. 1 root root 6 Nov 9 16:42 a.txt
其中“-rw-r--r--”表示權限,一共有十個字符。
第一個字符,如果是“-”則表示是文件,如果是“d”則表示是目錄(directory)。
后面9個字符每3個字符又作為一個組,則有3組信息(“rw-”、“r--”、“r--”),分別表示所屬用戶本身具有的權限、所屬用戶的用戶組其他成員的權限、其他用戶的權限。
每一組信息如“rw-”,每一個字符都有它自己的特定含義且先后位置是固定的,其中r是讀權限、w是寫權限、x是可執行權限、-沒有對應字符的權限。Linux里面對這些字符設置對應的數值,r是4,w是2,x是1,-是0。上面的“rw-”則是6(=4+2+0),所以最開始a.txt的權限是644,屬於root用戶組的root用戶。
我想修改文件a.txt的權限為755,則為:
[root@master my]# ll
-rw-r--r--. 1 root root 6 Nov 9 16:42 a.txt #改之前權限是644
[root@master my]# chmod 755 a.txt
[root@master my]# ll
-rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改后權限是755
改之前:
[root@master test1]# ll
drw-r--r--. 2 root root 4096 Nov 9 16:42 my #改之前文件夾my的權限是644
[root@master test1]# ll my/
-rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改之前文件夾my的里面的文件權限是755
執行命令修改my文件夾權限為600:
[root@master test1]# chmod 600 my/ #修改命令
[root@master test1]# ll
drw-------. 2 root root 4096 Nov 9 16:42 my #改my文件夾之后權限是600
[root@master test1]# ll my/
-rwxr-xr-x. 1 root root 6 Nov 9 16:42 a.txt #改my文件夾之后里面的文件權限還是755,沒有變化
執行1.2.1步驟之后,my文件夾和里面的文件權限都是不同的。現在遞歸修改,都改為統一的權限777:
[root@master test1]# chmod -R 777 my/ #修改命令,注意中間是大寫的R,不是小寫
[root@master test1]# ll
drwxrwxrwx. 2 root root 4096 Nov 9 16:42 my #修改后my文件夾權限是777
[root@master test1]# ll my/
-rwxrwxrwx. 1 root root 6 Nov 9 16:42 a.txt #修改后里面的文件變為了777
這個和修改文件夾的權限是基本相同的,只不過是把chmod命令換成了chown。
修改a.txt文件所屬用戶(jay)和用戶組(fefjay):
chown jay:fefjay a.txt #修改文件所屬用戶為jay,所屬用戶組為fefjay
僅修改文件夾my本身所屬用戶(jay)和用戶組(fefjay):
chown jay:fefjay my #修改文件所屬用戶為jay,所屬用戶組為fefjay
遞歸修改文件夾my及包含的所有子文件(夾)的所屬用戶(jay)和用戶組(fefjay):
chown -R jay:fefjay my #修改文件所屬用戶為jay,所屬用戶組為fefjay
修改單個文件(夾)就用命令:
chown或chmod “權限”或“名:組” 文件(夾)名稱
修改文件夾及子文件夾所有文件就用命令:
chown或chmod -R “權限”或“名:組” 文件夾名稱
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。