1. 用于对文件的权限
1.1 用户对文件的权限
权限介绍:4=可读 2=可写 1=可执行
7 7 7
第一个7 是 文件所有者的权限
第二个7 是 文件所属组的权限
第三个7 是 其他用户的权限
7 = 4+2+1 表示有可读可写可执行,即rwx
6 = 4+2 表示有可读可写权限,即rw-
5 = 4+1 表示有可读可执行,即r-x
创建文件夹后,一般权限为755
创建文件后,一般权限为644
1.2 文件夹权限和文件权限的关系
不知道你们有没有遇到过一个问题,明明这个文件的所有者是我,且我具有7的权限,可是我却删除不了这个文件,提示Permission denied。我作为文件所有者为什么没有权限删除呢?
这边先要有个认识:在Linux中所有的东西都是以文件的形式存在的。
也就是说文件夹也是文件,下面是用vim查看download
文件夹得到的结果,可以看到里面存储的的信息主要就是download
文件夹下的子文件夹和文件名。
看到这,大家能不能理解本节开头提到的问题?我作为文件所有者,权限为7,为什么没有权限删除文件呢?
解答:因为你不具有该文件所在文件夹的写权限。
详细解释:从上面的图示,我们知道文件夹也是文件,我们称呼其为directory_file
吧,记录了其目录下的所有文件的文件名等信息。那么如果要删除该文件夹下的某个文件file_a
,就会修改directory_file
,修改文件就是写文件,也就需要directory_file
的写权限。
那么,没有directory_file
的写权限,那就无法删除file_a
,即使你有file_a
的7(可读可写可执行)权限。
再想一下,如果你有
directory_file
的写权限,但是不具有file_a
的写权限。那么,
- 你可以修改
file_a
的内容吗?不可以- 你可以删除
file_a
吗?可以
是不是有点神奇,无法修改,但是可以删除哈哈。
这是因为删除file_a
,其实是修改directory_file
。
2. chmod修改文件权限
因为mkdir的方式新建的文件夹,通过ll看权限,其权限默认是drwxr-xr-x
将目录权限改成777,则所有用户都有7的权限。
-R:表示递归地修改目录及其子目录中所有文件的权限
chmod 777 -R /home/ftp/test
3. chown修改文件所有者和组
将用户目录的所有者和组修改成用户自己,即user1,
# 所有者.所有组
chown user1.user1 /home/user1