linux-file-access
Linux File Access Permission
Introduction
- 在 linux 中,每個檔案都會有自己的檔案權限,可以利用
ls -l
或是ll
來查看
1 | $ ls -l |
- 第一個值
- - 為檔案,d 表示目錄,l 表示連結檔案 (link)
去除掉最一開頭的 d,分為三組值
- r: readable
- w: writable
- x: executable
- -: 表示無權限
- 其實它是二進制的三個值
- 無權限即為 000
而分三組為
- owner 的權限
- member in group 的權限
- others 的權限
- 每組將其二進制轉為十進制
Number Description 7
(111)read, write, and execute 6
(110)read and write 5
(101)read and execute 4
(100)read only 3
(011)write and execute 2
(010)write only 1
(001)execute only 0
(000)no permission
- in nodejs
1 fs.chmodSync('my_file.txt', 0o765);
- For example, the octal value
0o765
means:
- The owner may read, write and execute the file.
- The group may read and write the file.
- Others may read and execute the file.
Command
chmod
- 修改權限
- 用法
\[ugoa...\]\[\[+-=\]\[rwxX\]...\]\[,...\]
- u 表示該檔案的擁有者 (user)
- g 表示該 group
- o 表示其他以外的人 (others)
- a 表示這三者皆是 (all)
- + 表示增加權限
- - 表示取消權限
- = 表示唯一設定權限
-R
目錄下所有檔案皆做相同權限操作1
2
3
4
5$ chmod ugo+r file1.txt
$ chmod a+w file1.txt
// 將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入
$ chmod ug+w,o-w file1.txt file2.txt
$ chmod 777 file.txt
chown
- 修改擁有者或是群組
1
2
3
4
5
6// 將 temp.txt 的 owner 改為 user2
$ chown user2 temp.txt
// 將 temp.txt 的 group 改為 group2
$ chown :group2 temp.txt
// 將 temp.txt 的 owner 改為 user2 並 group 改為 group2
$ chown user2:group2 temp.txt
- 修改擁有者或是群組