Unix权限:无论用户是谁,都可以访问文件?
我已经使用Linux很长一段时间了,我仍然完全不知道文件权限是如何工作的。考虑到这一点,是否有人有任何书籍或全面的指南,我可以阅读,以完全理解事情?我已经完成了我的公平分享系统管理,所以我知道简单的东西,比如让目录可读和写入,使文件可执行,以及更改文件的所有者,但是在跨用户共享文件时,我迷路了。 这是我的主要问题。我有许多机器,我打算同步我的音乐库。我一直在使用Unison一段时间,这是一个很好的选择,因为我可以在我刚刚设置的本地网络上通过SSH轻松运行它。双赢。 到目前为止,我一直在使用2TB外置硬盘来同步计算机。(计算机1与HD连接,计算机2与HD连接,等等)这是最乏味的,特别是因为我对驱动器进行了加密,使得将它连接到我的所有机器并同步它是一个巨大的麻烦。无论如何,驱动器运行ext4(在TrueCrypt中),因此它维护所有Unix文件系统信息,如所有者和组。我刚刚设置了一台新机器,只是Unison'd它就可以获得音乐,我意识到现在,我的所有权限都是fubar。我必须以root身份运行Unison,因为这是我可以让文件脱离外部驱动器的唯一方法。显然,由于我在这台机器上使用的是不同于所有机器上通常的“rfkrocktk”的用户名,这实际上会给齿轮带来巨大的影响。 这是我的用例。这台笔记本电脑有两个有效的用户,“leandra”和“rfkrocktk”。我想在这两个用户之间分享音乐,所以我用symlinked / home / rfkrocktk / Music指向/ home / leandra / Music。我如何(a)允许两个用户访问此文件夹中的读/写/删除文件,以及(b)保持所有内容同步,而不会弄乱文件所有权? 编辑 我能够让事情变得有效,但还不完全。我将音乐目录的组ID设置为我的组media-users,并将我的主用户rfkrocktk和共享用户添加mt-daapd到组中。现在,rfkrocktk可以完美地访问文件,但mt-daapd无法在目录中看到任何内容。这是我的ids: $ 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) 我已经尝试将mt-daap主要的组ID设置为该media-users组,但它不会改变任何内容。 以下是我对/home/rfkrocktk/Music目录的权限: drwxr-Sr-- 201 rfkrocktk media-users 12288 2011-01-13 12:26 Music 运行sudo -i -u mt-daapd ls -l /home/rfkrocktk/Music产量没有。我怎样才能解决这个问题?