Linux文件权限

时间:2014-08-29 08:37:18

标签: linux permissions

我有两个关于linux文件权限的问题。

1)

我的目录/ share具有以下权限:

[root@localhost ~]# ls -ld /share/
drwxrwxrwx. 4 root root 4096 Aug 29 09:15 /share/

现在我以用户erich的身份访问该目录并创建一个文件:

[erich@localhost share]$ touch file
[erich@localhost share]$ ls -l
-rw-r--r--. 1 erich share      0 Aug 29 09:30 file

现在作为用户我删除了文件:

[sven@localhost share]$ rm -f file
[sven@localhost share]$ 

怎么可能?只有erich具有读/写权限。我注意到当我将/ share文件夹的权限更改为例如755,然后sven无法删除该文件。父母的目录是否会覆盖文件'权限,如果是,为什么?

2)

我想将这个/ share文件夹分享给每个人,但至少对于sven和erich来说。我创建了一个小组"分享"并将这些用户放入其中。然后我做了测试:

[erich@localhost share]$ mkdir erich
[erich@localhost share]$ ls -l
drwxr-xr-x. 2 erich share      6 Aug 29 09:28 erich
[erich@localhost share]$ touch erich/erich
[erich@localhost share]$ ls -l erich/
-rw-r--r--. 1 erich share 0 Aug 29 09:28 erich

用户sven没有#34;文件"的写入权限。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

尽管目录权限以相同的方式命名,但它们与文件权限有所不同。 对于文件夹:

  • r用于列出文件夹的内容
  • w用于创建和删除文件
  • x使该目录成为当前(cd)。

这就是为什么用户可以删除w开启的文件,即使它没有文件本身的写权限。

目录权限不会强制您在其中创建的文件的权限;因此,在使用touch创建文件后,您应该使其成为可写组。您可以使用chmod 775 -R share更改目录中所有文件的权限(-R表示递归)。