10.5.6 クライアントをミニサーバーとして実行していますが、AFP 共有で問題が発生しています。すべてのクライアントは OS X 10.5.7 です。
「サーバー」上でのみ「ファイル共有」用に 3 人のユーザーを作成しました。グループを作成し、これらのユーザーを特定のグループに配置しました。各グループに特定の共有へのアクセスを与える ACL を作成しました。
これらのユーザーのうち 2 人は任意の共有に対して読み取りと書き込みを実行できますが、1 人のユーザーは共有に書き込むことができず、結果は異なります。
- ディレクトリをコピーすると、ディレクトリのみが作成され、中のファイルはコピーされず、OSはエラーを返しません。
- 1 つのファイルをコピーするときに、次の 3 つのダイアログが表示されます: 「'xxxx' という項目を変更するには、このコンピューターの管理者の名前とパスワードを入力する必要があります」、「項目 'xxxxx' には、読み取り権限のない項目が 1 つ以上含まれています。読み取り権限のある項目をコピーしますか?」、「一部の項目に対する権限がないため、操作を完了できません。」
単一ファイルの場合、サーバー上にファイルが作成されますが、中身は空です。
このユーザーが属するグループの ACL は次のとおりです:
0: group:projectmembers allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit
1: group:informationtechnology inherited allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit
2: group:executive inherited allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit
3: group:everyone inherited deny list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit
ユーザー 1 と 2 は、情報技術とエグゼクティブおよびプロジェクト メンバーに属しており、共有上で自由に読み取りと書き込みを行うことができます。ユーザー 3 はプロジェクト メンバーに属しており、自由に読み取りと書き込みを行うことはできません。
これは UID の問題であると読みましたが、ユーザー 1 と 2 はクライアントとサーバー間で一致する UID を持っていませんが、正常に動作しているので、そうではないと思います。
何か案は?
答え1
OS X 10.5.6 サーバーと 10.5.7 クライアントを使用して独自にテストを行った後、元の回答を置き換えました。
少し実験してみた結果、OS Xは共有ポイントのACL継承に関しては少々おかしなことをしていることがわかりました。継承されたACLは常に共有ポイント(またはツリーの下位)で設定されたACLよりも優先されますが、書く権限。ツリーの少し下にあるフォルダーに対する読み取り権限をユーザーに与えると問題なく動作しますが、書き込み権限を与えると完全に失敗します。
何するうまくいきます。問題のある共有の上の拒否ルールの継承をオフにします (そこに設定することはできますが、継承しないようにします)。次に、共有ポイントで明示的に拒否を設定します (この時点で継承をオンにすると、問題なく動作するようです)。私のテストでは問題なく動作しましたが、何百もの同様の共有を管理する必要がある場合は面倒です。
1 つのオプションとしては、上記のように、Everyone の読み取りをトップレベルで全面的に拒否し、書き込みを継承なしのブロックにすることが考えられます。自分の共有管理に興味があるので、結果を教えてください。