Permisos de Linux en un montaje remoto

Permisos de Linux en un montaje remoto

En Windows, cuando miro los permisos en una carpeta remota, las cuentas están calificadas con el nombre de la máquina o el dominio, es decir, la autoridad para el nombre de la cuenta.

En Linux, si tengo una máquina virtual con un montaje en una unidad remota y el propietario de una carpeta en el montaje es 'raíz', ¿es esa mi raíz o la raíz del sistema remoto?

Todo parece demasiado simple en Linux para funcionar tan pronto como se involucra una red. Claramente me estoy perdiendo algo.

lucas

Respuesta1

Desafortunadamente, esta es una de las cosas más confusas sobre el intercambio de archivos en Unix. Y soy malo explicando cosas confusas.

Lo que tuveren ls -lla salida (por ejemplo), se traduce la ID del usuario remoto desde la perspectiva del sistema local.

Cuando programas como lsutilizan las funciones estándar para buscar información de archivos, el controlador del sistema de archivos solo puede proporcionarles ID de usuario numéricos, no nombres textuales.(Hasta ahora, no muy diferente de Windows).Para traducir los UID a nombres, lsse llama a un componente del sistema operativo completamente diferente, las bibliotecas de servicios de nombres, que no tienen conocimiento de dónde se obtuvo ese UID y, por lo tanto, solo pueden traducir cuentas que el sistema operativo conoce, pero no pueden regresar y preguntar. el controlador del sistema de archivos para obtener ayuda.(Aquí es donde entra la diferencia).

Como ejemplo, si el servidor tiene dos archivos, uno propiedad de root (UID 0) y el otro propiedad de Luke (UID 1000), lssolo sabrá que son propiedad de "0" y "1000" y buscará paralocalcuentas que tienen los mismos UID. "0" siempre es raíz, pero "1000" puede ser Luke o no. Si el UID pertenece a una cuenta almacenada en LDAP, NIS o AD, y si el sistema operativo del cliente es realmenteconfiguradopara buscar cuentas de usuario en LDAP, le dará el nombre de usuario correcto. De lo contrario, podría mentir, ya que los UID de cuentas locales (1000, 1001,...) tienden a corresponder a diferentes personas en diferentes computadoras.

(Hay formas en que el controlador del sistema de archivos puede indicar a los programas el nombre de usuario completo, en forma de "atributos extendidos". Desafortunadamente, a pesar de varios intentos, no existe una forma estándar de hacerlo, y programas como este lsgeneralmente intentan evitar trucos específicos del sistema de archivos. Desafortunadamente, no todos los protocolos de sistemas de archivos de red.podertransferir los nombres de usuario: CIFS también conocido como SMB puede, NFSv4 puede, la mayoría de los demás no.)

Pero nada de eso realmente importa,desde lo que tupuede hacercon el archivo siempre está determinado por lo que sabe el servidor, no por lo que ve el cliente. Por ejemplo, si usa sshfs, inicia sesión en el servidor a través de SSH usando su nombre de usuario (por ejemplo sshfs luke@fileserver), y el servidor no le permitirá hacer nada que no deba hacer. Lo mismo ocurre con CIFS, AFS, etc.

Respuesta2

El propietario es el usuario root de la máquina remota. Si desea tener acceso a él como root en la máquina remota, deberá montarlo como root en la máquina remota.

En otras palabras, esto debería funcionar (usuario local sí, usuario remoto raíz):

aye@ayes-machine$ sshfs root@bees-machine:/path /local-path

Esto no funcionará (usuario raíz local, usuario remoto abeja):

aye@ayes-machine$ sudo sshfs bee@bees-machine:/path /local-path

información relacionada