在linux中,關於文件的權限所涉及的內容還是不少的,今天打算系統全面的介紹下。
檔案權限與屬性
首先來看看擁有者,所屬群組以及其他人的概念。
在linux中,每個使用者都會屬於一個群組,不允許單獨與群組外。
擁有者,當使用者新建了一個檔案時,預設該檔案擁有者即為該使用者
所屬群組,當使用者新建了一個檔案時,這個檔案的所在群組就是該使用者所在的群組
其他人,不輸入擁有者及所屬群組的使用者即為其他人
#檔案屬性
我們用ls來檢視下檔案的屬性吧。
# ls -l 1.php -rw-r--r-- 1 root root 106 Apr 15 10:30 1.php |||||||||| | | | | | | 12345678910 11 12 13 14 15 16
參數 | 含義 |
#1 | 表示檔案類型,-表示為文件。 d表示為目錄。 b表示為區塊設備。 |
2 | 234分成一組表示擁有者權限,目前擁有者權限為rw |
5 | 567分為一組表示所屬群組權限,目前所屬群組權限為r |
#8 | 8、9、10分為一組表示其他人權限,目前其他人權限為r |
11 | 表示連結此檔案的數量 |
表示此文件的擁有者是root | |
表示此文件的所屬群組是root | |
表示檔案大小,單位為位元組 | |
表示檔案最後修改時間 |
修改文件属性
下面将介绍3个命令
chmod 改变文件或目录的权限
chown 改变文件所有者
chgrp 改变文件所属组
首先新建目录和文件
# mkdir study_file # echo '学习使用chmod、chown及chgrp' > study_file/1.txt # 创建文件
改变文件所有者
# chown www study_file/1.txt #改变文件所有者 # ll study_file/1.txt -rw-r--r-- 1 www root 34 5月 5 12:22 study_file/1.txt
同时改变所属组和所有者
# chown www:www study_file/1.txt #同时改变文件所有者及所属组 # ll study_file/1.txt -rw-r--r-- 1 www www 34 5月 5 12:22 study_file/1.txt
递归修改所有者及所属组
# touch study_file/2.txt # touch study_file/3.txt # chown -R www:www study_file/ #递归修改 # ll study_file/ 总用量 4 -rw-r--r-- 1 www www 34 5月 5 12:22 1.txt -rw-r--r-- 1 www www 0 5月 5 13:13 2.txt -rw-r--r-- 1 www www 0 5月 5 13:13 3.txt
使用chgrp改变所属组
# ls -d study_file/ -l drwxr-xr-x 2 www www 4096 5月 5 13:13 study_file/ # chgrp root study_file/ # ls -d study_file/ -l drwxr-xr-x 2 www root 4096 5月 5 13:13 study_file/
使用chmod改变文件权限,修改权限的方法可以是数字方式,也可以是字母方式。一般我们习惯使用数字方式来设置权限。
# chown -R root:root study_file/ # chmod 700 study_file/ #数字方法设置权限 # ll -d study_file/ drwx------ 2 root root 4096 5月 5 13:13 study_file/ # chmod u=rwx,g=r,o=r 1.txt # chmod a-x 1.txt # chmod 600 *.txt # ll 总用量 4 -rw------- 1 root root 34 5月 5 12:22 1.txt -rw------- 1 root root 0 5月 5 13:13 2.txt -rw------- 1 root root 0 5月 5 13:13 3.txt
目录与文件权限的意义
对于目录和文件,rwx是有不同的含义的。下面我做了一个表格,介绍了对于不同类型的权限对于的含义。
文件类型 | 权限 | 意义 |
file | r | cat、less、more等 |
file | w | vim等 |
file | x | 执行权限 |
dir | r | ls |
dir | w | touch、rm、cp、mv等 |
dir | x | cd |
文件默认权限
当我们创建了一个新文件后,一般新文件的权限是rw-r--r--,如果新创建一个目录后,目录的权限为rwx-r-xr-x。这就是文件的默认权限,查看默认权限的方法是使用umask.
# umask -S u=rwx,g=rx,o=rx
默认权限减去x即为文件的默认权限。
修改默认权限的方法也非常简答,还是使用umask命令
umask 0770
以上是全面介紹linux下檔案權限及屬性的詳細內容。更多資訊請關注PHP中文網其他相關文章!