私の Linux サーバーには次のディレクトリがあります:
/src/nfs/blah
これを共有して、OSX コンピューター内にマウントできるようにします。
/mnt/nfs/blah
ファイルは/etc/exports
次のようになります:
/srv/nfs/blah 192.168.0.16(rw,no_root_squash,sync,no_subtree_check,insecure,crossmnt)
問題は、権限に関する問題です。サーバー側で編集するたびに、グループとユーザーの権限のセットが取得されます。次に、OSX コンピューターでファイルを編集すると、vim で権限の警告が表示され、強制すると、データは保存されますが、これにより新しいグループと権限のセットなどが導入されます。
たとえば、Linux 側では次のようになります。
drwxrwxrwx 2 someuser someshare 4096 Jun 22 21:40 test.txt
Mac側で編集した後、
-rw-rw-r-- 1 501 dialout 166 Jun 22 21:40 test.txt
衝突があるのはわかります。両側に同じユーザーを作成しようとしましたが、うまくいきませんでした。
答え1
UID
ファイルの所有権は、や のように、名前ではなく数値で保存されますGID
。
およびUID
の値は、各システムの、GID
を介して数値から名前に変換されます。/etc/passwd
/etc/group
この例では、ファイルはと(によってtest.txt
所有されています。someuser
UID
GID
getent passwd someuser | awk --field-separator ':' '{print $3,":",$4}'
Mac 側では、UID
とGID
名前へのマッピングと同等のものは、同じUID
とGID
数値を入力として異なる結果を生成します。
アカウントを LDAP と同期することもできますが、これは非常に複雑に思えます。