即使在 chmod 777 之后也无法访问文件夹

即使在 chmod 777 之后也无法访问文件夹

我刚刚创建了一个新用户,我想授予其访问某个文件夹的权限。

我已经做好了:

chmod -R 777 ./p

这就是结果

lisa@linux:/media$ ls -halt
drwxr-xr-x  27 root      root   4,0K dic 11 11:57 ..
drwxrwxrwx+  3 pierpaolo utenti 4,0K dic  8 23:48 p
drwxr-xr-x   3 root      root   4,0K set 10 12:20 .
lrwxrwxrwx   1 root      root     45 ago  5 01:22 .directory -> /etc/kubuntu-default-settings/directory-media

但我仍然无法进入文件夹(权限被拒绝)。有没有什么办法可以解决这个问题或调试它?

编辑:

getacl 给出:

# file: p
# owner: pierpaolo
# group: utenti
user::rwx
user:pierpaolo:r-x
group::---
mask::rwx
other::rwx

编辑:我希望新用户访问的文件夹是第二个硬盘,该硬盘已使用以下命令安装在 /etc/fstab 中:

UUID=FEB222A8B222657D /media/p/Seagate  ntfs-3g  defaults,windows_names,locale=it_IT.UTF-8  0 0

答案1

发生这种情况的原因是,在目录树中有一个目录您没有执行权限。如果某个用户的父目录没有执行权限,那么该用户就无法访问任何子目录,无论这些子目录的权限如何。

例子:

$ ls -l cake
drwxr-xr-x 2 zanna zanna 4096 Jul 12 11:43 brownies
$ chmod 666 cake
$ ls -l cake/brownies
ls: cannot access 'cake/brownies': Permission Denied

尽管我是目录“brownies”的所有者,并且所有用户都有权读取和进入该目录,但如果其父目录没有执行权限,我就无法访问它。

最好使用组来管理权限,而不是给予目录 777 权限。

答案2

acl 并非完全是 unix/linux 标准。我知道 RH 一直在努力推广它们,但它们带来的困惑比帮助多。我会删除 ACL 数据,只使用 chmod/chown/chgrp。

setfacl --remove-all p   # see if that works.

相关内容