Estoy montando un servidor de prueba en un sistema de archivos compartido en el trabajo. Es un montaje cifs, así que estoy mirando esta página de referencia:https://linux.die.net/man/8/mount.cifs
Quiero intentar montarlo "conociendo lo menos posible" para evitar que la gente modifique el sistema de archivos compartido desde un servidor de prueba. Entonces en los documentos veo:
uid=arg establece el uid que será propietario de todos los archivos o directorios en el sistema de archivos montado cuando el servidor no proporciona información de propiedad. Puede especificarse como un nombre de usuario o un uid numérico. Cuando no se especifica, el valor predeterminado es uid 0. El asistente mount.cifs debe tener la versión 1.10 o superior para admitir la especificación del uid en formato no numérico. Consulte la sección sobre PROPIEDAD Y PERMISOS DE ARCHIVOS Y DIRECTORIOS a continuación para obtener más información.
Suena bien. Pero aquí está mi pregunta:
- ¿Cómo verifico si el servidor proporciona información de propiedad y, de ser así, cómo encuentro cuál es realmente?
Pregunta extra:
- ¿Cuál es el punto de ofrecer permisos cuando puedes simplemente anularlos
file_mode=0777,dir_mode=0777
?
Respuesta1
Estás viendo CIFS, no NFS. Nunca me he encontrado con un método para extraer información de propiedad de un archivo cif compartido de Windows con herramientas de Linux (si alguien sabe cómo, ¡demuestre que estoy equivocado!). Así es como funciona:
- En el servidor, las credenciales que usted proporciona determinan su acceso. No puede "anular" un acceso de solo lectura con
file_mode=0777
, en tal caso se le denegaría el acceso al intentar escribir un archivo. - Dado que un recurso compartido CIFS predeterminado no exporta ninguna información de propiedad, las opciones
uid
,gid
,umask
,file_mode
,dir_mode
proporcionan una forma de colocar un archivo de seguridad de Linux encima del recurso compartido montado. De esta manera, puede decir que solo un usuario/grupo local específico de Linux puede leer o escribir en su recurso compartido montado. Si no proporciona estas opciones durante el montaje, se utilizan los valores predeterminados (muy probablementeuid=0, gid=0, umask=0
para todos los directorios y archivos dentro de ese recurso compartido) - mirando al funcionariodocumentación, se puede leer que existen "extensiones de Unix para CIFS" que permiten exportar información de propiedad de uid/gid. Pero no sé si hay alguna manera de determinar si el servidor admite estas extensiones.