リモートサーバーからローカルにマウントされたフォルダーがあります。
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)
自分のアカウントがリモートフォルダーに書き込むことができるように、適切なアクセス許可をマップするにはどうすればよいですか?
リモートサーバーにあるものと一致するように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