Вероятно, вы столкнулись с проблемой числового идентификатора пользователя: числовой идентификатор пользователя в вашей системе Ubuntu не соответствует числовому идентификатору пользователя на вашем Mac. При работе с NFS вам, как правило, необходимо убедиться, что ваши числовые идентификаторы пользователей каким-то образом одинаковы во всех ваших системах. В домашних/персональных системах идентификаторы пользователей, как правило, назначаются случайным образом, без какой-либо синхронизации, что вызывает проблемы с NFS.
Поскольку это домашний сервер, и если вы доверяете всем, кто подключается к вашему NFS-серверу, одно из возможных быстрых и простых, грязных, уродливых и неуклюжих решений состоит в том, чтобы открыть разрешения и разрешить всем и всему чтение/запись/удаление ваших файлов (очевидно, не делайте это в корпоративной среде):
В вашей системе Ubuntu войдите в систему как jeeves
(не sudo
и не используйте любую другую учетную запись), откройте окно терминала и выполните команды в указанном порядке:
cd /home/jeeves/Documents
find . -type d -print0 | xargs -0 chmod 777
find . -type f -print0 | xargs -0 chmod a+rw
Однако это предполагает, что NFS настроена так, чтобы разрешить доступ ненадежным пользователям (в webmin параметр «Относиться к ненадежным пользователям как» установлен по умолчанию, и я не уверен, что это такое).
Обратите внимание, что с помощью приведенных выше команд владельцы файлов и каталогов, созданных Mac, будут отображаться в Ubuntu как числовые пользователи (поскольку в системе Ubuntu, скорее всего, нет пользователей в /etc/passwd
, соответствующих числовым идентификаторам Mac, Ubuntu просто отобразит необработанные числовые идентификаторы).
Длинный ответ:
Когда вы создали учетную запись jeeves
в своей системе Ubuntu, Ubuntu присвоил ей числовой идентификатор пользователя. Когда вы создали свою учетную запись на своем Mac, Mac присвоил ей числовой идентификатор пользователя, который, вероятно, отличался от номера, назначенного в системе Ubuntu. Обратите внимание, что имена пользователей (например, «jeeves») предназначены для удобства пользователя; ни Ubuntu, ни Mac не используют их внутри, а вместо этого используют идентификаторы пользователей. NFS использует эти числовые идентификаторы для определения прав собственности/разрешений (в поле Ubuntu).
Если идентификаторы совпадают, используются разрешения «пользователя».
Если идентификаторы не совпадают:
(«Групповые» разрешения можно использовать, но это маловероятно, и я не буду это обсуждать.)
Используются разрешения «Другие». Обратите внимание, что при создании файлов/каталогов, если идентификатор пользователя (Mac) не найден в поле Ubuntu, вы обычно получаете файлы, которые кажутся принадлежащими «числовому» владельцу; число, которое вы видите, это то, что использует Mac, и вы видите число, потому что этот идентификатор не отображается в /etc/passwd
Ubuntu.
IIRC, Ubuntu использует umask 022, что означает, что только владелец /home/jeeves/Documents
может записывать/создавать файлы и каталоги; все остальные имеют права только на чтение. Если вы каким-то образом не синхронизировали идентификаторы пользователей между своими ящиками, вряд ли у вас будут одинаковые идентификаторы пользователей, и поэтому у вас возникнут проблемы с разрешениями.
Поскольку это домашний сервер, самое простое решение, упомянутое выше, — просто избавиться от безопасности и разрешить всем и каждому доступ к вашим файлам. Конечно, это неприятно по понятным причинам.
Правильное решение состоит в том, чтобы убедиться, что все идентификаторы пользователей синхронизированы между всеми системами, но это может быть проблемой в домашней среде. Кроме того, изменение идентификаторов пользователей после использования учетной записи проблематично; хотя это можно сделать, это нужно делать осторожно, так как вы можете повредить свою систему. Я не буду вдаваться в подробности.
Изменить: исправлено частичное предложение.
person
Darryl3532783
schedule
14.04.2014