解释为什么文件夹的权限取决于HOW用户访问服务器AFP vs SSH

希望有人能解释什么可能相当明显…但让我困惑。

设想两个用户在我们的服务器上具有pipe理员权限(Mac OS X Server 10.5)。 叫他们乔&鲍勃。

两个用户都是这些组的成员:

Staff Group ID: 20 Workgroup Group ID: 1025 Admin Group ID: 80 (assuming "[X] Administer Server" in Workgroup Manager sets this) 

共享文件夹“devfolder”具有共享设置,如下所示:

POSIX:

  Owner: joe read & write Group: admin read & write Other no access 

ACL:

  Workgroup Allow Read & write 

问题是为什么当看同一个文件夹时,所有权似乎会改变,取决于谁在做什么? 两个在服务器上查看相同的文件夹:

从乔的angular度来看:

 xserve:devfolder joe$ ls -l drwxrwxr-x 6 joe workgroup 204 May 20 19:32 app drwxrwxr-x 9 joe workgroup 306 May 20 19:32 config drwxrwxr-x 3 joe workgroup 102 May 20 19:32 db drwxrwxr-x 3 joe workgroup 102 May 20 19:32 doc drwxrwxr-x 3 joe workgroup 102 May 20 19:32 lib 

从Bob的angular度来看(通过AFP在他的机器上安装的文件夹):

 bobmac:devfolder bob$ ls -l drwxrwxr-x 6 bob _bob 264 May 20 19:32 app drwxrwxr-x 9 bob _bob 264 May 20 19:32 config drwxrwxr-x 3 bob _bob 264 May 20 19:32 db drwxrwxr-x 3 bob _bob 264 May 20 19:32 doc drwxrwxr-x 3 bob _bob 264 May 20 19:32 lib 

现在,如果Bob通过SSH连接到服务器,那么他的输出和Joe's一样。

任何人都可以告诉我什么客户端在这种情况下做什么,当bob创build或更新此文件夹中的文件应该预期什么? 我有什么工具可以从命令行更好地理解这一点? 这是正常的吗? 也许是一个“干净”的方式,不会混淆“bob _bob”?!

法新社使用一种与NFS完全不同的权限模式。 客户端使用其凭据进行连接,然后文件访问由服务器控制。 在某些情况下,会出现“特权映射”,这是您正在描述的现象。

优点

  1. 比传统的NFS更安全
  2. 非常简单的模型,非常适合只有一个用户login的客户端

缺点

  1. 客户端上的两个用户不能同时访问与自己安装的AFP文件系统相同的文件系统。 他们所能做的最好的是访问文件系统的权限,第一个用户的权限(甚至这将需要客户端的其他用户的根)
  2. 报告的权限不是服务器angular度的“真实”权限

这个缺点#2在Snow Leopard 10.6中是固定的。 安全模型的其余内容仍然适用,但客户端知道要报告“真实”权限,而不是像以前那样只是“有效”权限。

更多信息请见:

  • 苹果归档协议概念
  • 关于权限映射和何时使用

我认为当你直接访问所有文件时,你可以获得真正的权限。 当你把它装上法新社时,似乎显示,我们应该说是本地权限。 (可能不知道远程系统上的其他用户是谁,只是决定你是否具有对文件的读写访问权限,如果你这样做,会给你所有权,如果你不这样做,就不会显示你。 )

如果鲍勃修改一个文件,我想你会发现,从服务器的权限保持不变。 我真的不确定当他创build一个文件时会发生什么。 我怀疑所有权属性将与用于访问AFP共享的证书相匹配。