web-dev-qa-db-ja.com

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)

自分のアカウントがリモートフォルダーに書き込むことができるように、適切なアクセス許可をマップするにはどうすればよいですか?

1
pwas

リモートサーバーにあるものと一致するように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

3
Nasir Riley