【linux】linux文件权限解析和修改

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的写权限。那么,

  1. 你可以修改file_a的内容吗?不可以
  2. 你可以删除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

猜你喜欢

转载自blog.csdn.net/weixin_43693967/article/details/124014263
今日推荐