У меня на сервере 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
's UID
и GID
( getent passwd someuser | awk --field-separator ':' '{print $3,":",$4}'
.
На стороне Mac их эквивалент UID
и GID
сопоставление с именами дает разные результаты при тех же числах UID
и GID
в качестве входных данных.
Вы можете синхронизировать учетные записи с LDAP, но это кажется слишком сложным.