我已将文件夹从远程服务器安装到本地:
mount -o nolock 92.xxx.xxx.xxx:/var/www/html/static/data /home/myaccount/public_html/forum/data_remote
问题是,本地帐户的 UID 为 500,而远程帐户的 UID 为 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
您必须更改 UID 以匹配远程服务器上的 UID。执行此操作之前,请确保您的用户帐户未执行任何进程。
usermod -u NEWUID username
请记住,您的主目录之外的任何文件都必须手动更改其所有权。您可以在更改 UID 的系统上使用以下命令执行此操作:
find / -user OLDUID -exec chown -h username {} \;
这将在每个系统上为您提供相同的 UID,从而允许您写入远程目录并修改文件。如果您不经常使用远程计算机并且计算机上的文件较少(假设您有权限),那么在远程计算机上执行此操作可能更容易。
您也可以通过在每台机器上创建具有相同 GID 的组并将您的用户添加到您尝试连接到共享的机器上的组中来执行相同操作。
在每台机器上:
groupadd -g GID groupname
在托管 NFS 共享的计算机上:
chown :groupname /nfs/share
在连接到共享的机器上:
usermod -aG groupname username