Назад | Перейти на главную страницу

NFS - отображение пользователей

У меня есть папка, смонтированная с удаленного сервера на локальный:

mount -o nolock 92.xxx.xxx.xxx:/var/www/html/static/data /home/myaccount/public_html/forum/data_remote

Проблема в том, что локальная учетная запись имеет UID 500, а удаленная - 48, поэтому я не могу записывать какое-либо содержимое в локальные данные. /home/myaccount/public_html/forum/data_remote - из-за ошибки отказа в разрешении.

Вот мой /etc/exports:

/var/www/html/static/data/      5.xxx.xxx.xxx(rw,insecure,no_root_squash)

Что я могу сделать, чтобы правильно сопоставить разрешения, позволяющие myaccount записывать в удаленную папку?

Вам нужно будет изменить UID, чтобы он соответствовал тому, что находится на удаленном сервере. Перед тем как это сделать, убедитесь, что ваша учетная запись пользователя не выполняет никаких процессов.

usermod -u NEWUID username

Имейте в виду, что права собственности на любые файлы вне вашего домашнего каталога должны быть изменены вручную. Вы можете сделать это с помощью этой команды в системе, в которой вы изменили UID:

find / -user OLDUID -exec chown -h username {} \;

Это даст вам одинаковый UID в каждой системе, что позволит вам писать в удаленный каталог и изменять файлы. Возможно, будет проще сделать это на удаленном компьютере, если вы не используете его регулярно и на нем меньше файлов, если у вас есть для этого доступ.

Вы также можете сделать то же самое, создав группу с одним и тем же GID на каждой машине и добавив своего пользователя в группу на машине, где вы пытаетесь подключиться к общим ресурсам.

На каждой машине:

groupadd -u GID groupname

На машине, на которой размещены общие ресурсы NFS:

chown :groupname /nfs/share

На машине, подключающейся к акциям:

usermod -aG groupname username