網址:
https://www.guru99.com/file-permissions.html
有些段落會先放網址的內容,後面再加上自己的理解
Linux is a clone of UNIX, the multi-user operating system which can be accessed by many users simultaneously. Linux can also be used in mainframes and servers without any modifications. But this raises security concerns as an unsolicited or malign user can corrupt, change or remove crucial data. For effective security, Linux divides authorization into 2 levels.
Linux是多用戶的系統,可以同時間讓許多用戶使用。Linux可以用在mainframes (大型電腦主機)and servers不需要任何修改,但是unsolicited(未經允許)or malign (惡意)user會corrupt(毀損), change or remove crucial data.為了安全有兩個方法:
1 Ownership
2 Permission
1 User
創建檔案的就是user,也可以稱為owner.
2 Group
一個group可以有很多個user。如果這個group的權限是讀和寫,那所有屬於這個group的user都可以讀和寫
3 Other
所有人
1 Read
可以開啟和讀file,如果是資料夾的Read權限,可以看資料夾裡面檔案的內容,但是不能更改內容(像是:重新命名、移動檔案、剪下檔案、刪除檔案)
2 Write
可以新增、刪除、修改。如果你的檔案有寫的權限,但是你的資料夾沒有寫的權限,你可以修改檔案內容,但是你不可以修改檔名、移動檔案、刪除檔案
3 Execute
Windows檔名有exe就表示可以執行,但是Linux要有execute permission。
如果沒有execute permission,但是有read & write permissions,可以修改程式碼,但是不能執行程式碼
第一個d代表directory,-代表file
接下來代表user、group、other分別的Permissions
r = read permission
w = write permission
x = execute permission
-代表no permission
Using the command, we can set permissions (read, write, execute) on a file/directory for the owner, group and the world
更改權限的指令有兩種
一 Absolute mode
數字表示
0 No Permission
1 Execute
2 Write
4 Read
如果是Write+ Execute=2+1=3
1先創個文字檔test
2顯示原本的權限
3更改權限 chmod 000 test
4不能開啟檔案
二 Symbolic mode
詳細內容看教學網址
因為現在的使用者不是other,所以還是不能開啟檔案
就算group擁有所有權限,但是因為現在是使用者的身分,所以還是開不了檔案
所以一定要有r權限才能開檔案,如果只有x或w是不能開檔案的
普通的文字檔只要有r權限就可以開檔案,不需要有x權限
如果要同時改變兩個Ownership的權限
chgrp group_name filename
chown user:group filename
(Changing Ownership and Group)
要加sudo,不然會有錯誤,接著輸入使用者帳號的密碼,這樣就可以修改使用者了
如果一個使用者有多個group,那要選擇哪個group?
1 groups
查看目前使用者(ted5)的group
2 newgrp +(存在的group)
更改有效群組(優先採用的group)
Groups顯示的第一個group是有效群組(像是第一個指令的ted5)
3 創建文字檔
4 看group有沒有不同
原本沒改變的話會是ted5,改變後是cdrom
Note:
1 The file /etc/group contains all the groups defined in the system
2 You cannot have 2 groups owning the same file.
3 You do not have nested groups in Linux. One group cannot be sub-group of other
4 x- eXecuting a directory means Being allowed to "enter" a dir and gain possible access to sub-dirs
1 /etc/group有全部的群組
2 不能有兩個一樣檔案的group
3 沒有子群組
4 x權限在資料夾,就是可以開啟資料夾,然後對子資料夾有權限
修改權限讓資料夾沒有x,再開啟資料夾時,會叫你輸入密碼,才能到資料夾裡,沒有x列出詳細資料時,有一堆問號