
私は Mac (OSX 10.7.5) にドライブを持っていて、それを LAN で共有しています。システム環境設定では、共有はシステム管理者に読み取りと書き込みのアクセス権、システム グループに読み取り専用、全員に読み取り専用が設定されています。
共有フォルダ内のファイルは、リモート コンピュータ上のファイルのミラーであり、rsync を使用してローカルにコピーされています。リモート コンピュータには、誰でもアクセスできないようにアクセス許可が設定されていますが、このローカル共有にゲストとしてアクセスできるようにしたいので、rsync を実行するシェル スクリプトを実行し、その後に chmod -R a+rX と chmod -R go-w を実行しました。基本的には機能しましたが、rsync の実行中は共有上のディレクトリが一時的に使用不可として表示され (ソースのアクセス許可のため)、chmod コマンドを実行すると再び使用可能になります。
そこで、代わりに rsync コマンドに --chmod=a+rX,og-w,u+w --perms パラメータを追加したところ、奇妙な現象が発生しました。
デスクトップ Mac から LAN 経由で共有ディレクトリを見ると、すべてのファイルは表示されますが、サブディレクトリは表示されません。ターミナル ウィンドウを開いて共有のルートに cd すると、すべてのサブディレクトリが表示されますが、1 つのディレクトリに cd しようとすると、「そのようなファイルまたはディレクトリはありません」というメッセージが表示されます。
これは単純な権限の問題だと思っていましたが、共有をホストしているマシンから管理者としてログインし、ls -ld を使用してサブディレクトリを見ると、出力に drwxr-xr-x admin と表示され、予想どおりの結果になりました。
ACL について調べてみましたが、ls -d -le では ls -ld と同じものが表示されるので、ACL 権限が設定されていないのではないかと思います。
何が足りないのでしょうか?