在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 | 表示链接此文件的数量 |
12 | 表示此文件的所有者是root |
13 | 表示此文件的所属组是root |
14 | 表示文件大小,单位为字节 |
15 | 表示文件最后修改时间 |
修改文件属性
下面将介绍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中文网其他相关文章!