编辑

编辑

我有一个文件夹,我非常想允许这台机器上的其他用户访问。我用它mt-daapd来向网络提供音乐,所以我想让用户mt-daapd访问我的音乐目录/home/rfkrocktk/Music。主用户rfkrocktk显然是。我尝试在目录上正确设置我的所有权限,但用户mt-daapd无法访问文件。

我创建了一个名为的组media-users,并将rfkrocktk和添加到mt-daapd其中,以便授予mt-daapd简单读取该目录和子目录中所有文件的权限。

如果我id在每个用户上运行,将显示以下内容:

$ id rfkrocktk
> uid=1000(rfkrocktk) gid=1000(rfkrocktk) groups=1000(rfkrocktk),4(adm),20(dialout),24(cdrom),29(audio),46(plugdev),104(lpadmin),115(admin),120(sambashare),124(vboxusers),1001(jupiter),2002(media-users)

$ id mt-daapd
> uid=123(mt-daapd) gid=65534(nogroup) groups=65534(nogroup),2002(media-users)

看起来这两个用户确实都是该media-users群组的一部分,那么可能出了什么问题呢?

如果我ls -l在实际的音乐目录上运行以查看其权限,则输出如下:

drwxr-Sr-- 201 rfkrocktk media-users 12288 2011-01-13 12:26 Music

如果我ls -l在音乐目录上运行来获取其子目录,则输出如下:

drwxr-Sr--  3 rfkrocktk media-users 4096 2010-12-20 15:31 2DBoy
drwxr-Sr--  3 rfkrocktk media-users 4096 2010-05-25 12:50 ABBA
drwxr-Sr--  3 rfkrocktk media-users 4096 2009-12-28 15:19 Access Denied
drwxr-Sr-- 10 rfkrocktk media-users 4096 2009-12-28 15:19 AC-DC
drwxr-Sr--  3 rfkrocktk media-users 4096 2009-12-28 15:19 Aerosmith
drwxr-Sr--  3 rfkrocktk media-users 4096 2010-06-04 10:45 A Flock of Seagulls
drwxr-Sr--  4 rfkrocktk media-users 4096 2010-05-28 18:13 Alestorm
drwxr-Sr--  3 rfkrocktk media-users 4096 2010-06-22 23:29 Amon Amarth
drwxr-Sr--  5 rfkrocktk media-users 4096 2009-12-28 15:19 Anberlin
...

从这一点来看,我似乎应该能够从 访问文件夹mt-daapd,但我不能。运行sudo -i -u mt-daapd ls -l /home/rfkrocktk/Music没有任何显示,这表明无论出于何种原因,mt-daapd我都无权读取该文件夹。我做错了什么?


编辑

我遇到的一个问题与“S”标志有关。它必须是“s”,这样该组的执行权限也存在于文件和文件夹上。此外,调用是sudo -i -u mt-daapd ls -l /home/rfkrocktk/Music错误的。应该是sudo -u mt-daapd ls -l /home/rfkrocktk/Music。显然,该-i参数会终止标准输出。

答案1

您缺少该目录的执行权限。chmod g+x dir。

其他用户也有读取权限,但不能执行。如果您 chmod o+g dir,则无需与组打交道,因为每个人都可以读取它。

相关内容