Tengo una carpeta montada desde el servidor remoto al local:
mount -o nolock 92.xxx.xxx.xxx:/var/www/html/static/data /home/myaccount/public_html/forum/data_remote
El problema es que la cuenta local tiene UID 500 y la remota es 48, por lo que no puedo escribir ningún contenido en los datos locales /home/myaccount/public_html/forum/data_remote
debido a un error de permiso denegado.
Aquí está mi /etc/exports
:
/var/www/html/static/data/ 5.xxx.xxx.xxx(rw,insecure,no_root_squash)
¿Qué puedo hacer para asignar correctamente los permisos y permitir que mi cuenta escriba en una carpeta remota?
Respuesta1
Tendrá que cambiar el UID para que coincida con el que hay en el servidor remoto. Antes de hacer esto, asegúrese de que su cuenta de usuario no esté ejecutando ningún proceso.
usermod -u NEWUID username
Tenga en cuenta que se deberá cambiar la propiedad de cualquier archivo fuera de su directorio de inicio manualmente. Puedes hacerlo con este comando en el sistema donde cambiaste el UID:
find / -user OLDUID -exec chown -h username {} \;
Esto le dará el mismo UID en cada sistema, lo que le permitirá escribir en el directorio remoto y modificar los archivos. Puede ser más fácil hacerlo en la máquina remota si no la usa regularmente y tiene menos archivos, suponiendo que tenga acceso para hacerlo.
También puede hacer lo mismo creando un grupo con el mismo GID en cada máquina y agregando su usuario al grupo en la máquina donde intenta conectarse a los recursos compartidos.
En cada máquina:
groupadd -g GID groupname
En la máquina que aloja los recursos compartidos NFS:
chown :groupname /nfs/share
En la máquina que se conecta a las acciones:
usermod -aG groupname username