2014-08-29 176 views
-1

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

1)

我的目录/股具有下列权限:

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

现在我去为用户埃里希到该目录下,并创建一个文件:

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

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

[[email protected] share]$ rm -f file 
[[email protected] share]$ 

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

2)

我想分享/共享文件夹给大家,但至少斯文和Erich。我创建了一个“共享”组,并将这些用户放入其中。然后我做了测试:

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

用户sven对“文件”没有写入权限。我该如何解决这个问题?

回答

3

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

  • r用于列出文件夹
  • w的内容创建和删除文件
  • x用于制作该目录电流(cd在里面)。

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

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

+0

我一直认为我在文件上看到的权限是文件上的有效权限,而不仅仅是相信。那张照片我错了吗?那么为文件分配权限有什么用? – 2014-08-29 11:33:07

+0

每当用户创建一个文件或目录时,使用“chmod ...”对于远程Windows上的用户来说是不切实际的。 – 2014-08-29 11:36:54

+1

新创建的文件的默认文件权限由umask控制:http://en.wikipedia.org/wiki/Umask – 2014-08-29 12:21:44