在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/ -ldrwxr-xr-x 2 www www 4096 5月 5 13:13 study_file/ # chgrp root study_file/# ls -d study_file/ -ldrwxr-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 -Su=rwx,g=rx,o=rx
默认权限减去x即为文件的默认权限。
修改默认权限的方法也非常简答,还是使用umask命令
umask 0770
以上就是全面介绍linux下文件权限及属性的详细内容,更多请关注24课堂在线网其它相关文章!