Permisos de usuario en el directorio montado NFS

10

Tengo Oracle Linux 6.7, un servidor NFS en Windows, y estoy tratando de montar una carpeta compartida en Linux.

El servidor NFS de Windows tiene un montaje compartido:

192.168.1.10:/OracleBK

En mi servidor oracle linux, creé una carpeta, / orabackup y el usuario oracle del grupo oinstall es el propietario de esta carpeta:

mkdir /orabackup
chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup
mount -t nfs -o rw 192.168.1.10:/OracleBK /orabackup

La línea correspondiente / etc / fstab es

192.168.1.10:/OracleBK /orabackup nfs defaults 0 0

El comando para montar la carpeta utilizada es:

mount /orabackup

Ahora, la carpeta "orabackup" está montada.

Sin embargo, el usuario de Oracle no puede leer ni escribir, y necesita permisos de lectura y escritura para este directorio. El usuario root puede leer y escribir.

¿Qué se debe hacer para otorgar permisos completos al usuario de Oracle?

saeed.sh
fuente
44
Si se trata de un servidor NFS en Windows, agregue a la publicación el producto / software que le permite hacerlo.
Rui F Ribeiro

Respuestas:

11

NFS verifica los permisos de acceso contra los ID de usuario (UID). El UID del usuario en su máquina local debe coincidir con el UID del propietario de los archivos a los que está intentando acceder en el servidor.

Sugeriría ir al servidor y mirar los permisos de archivo. ¿A qué UID (averiguar con id username) pertenecen y qué permisos están configurados?

Y si usted es el único que accede a los archivos en el servidor, puede hacer que el servidor finja que todas las solicitudes provienen del UID adecuado. Para eso, NFS tiene la opción all_squash. Le dice al servidor que asigne todas las solicitudes al usuario anónimo, especificado por anonuid, anongid.

Agregue estas opciones: all_squash,anonuid=1026,anongid=100a la exportación en /etc/exports.

Sin embargo, tenga en cuenta que esto hará que cualquiera que monte la exportación sea efectivamente el propietario de esos archivos.

monsune
fuente
Mi servidor NFS es Windows base y para NFS en Windows, establecemos permisos para ip od my linux os.
saeed.sh
1
Debería haber declarado en su pregunta que su NFS era en realidad Windows.
monsune el
El archivo / etc / exports es para el servidor nfs y en el servidor nfs debemos configurarlo. en el cliente, no debemos agregar ninguna línea a este archivo. ¿Es cierto?
saeed.sh
Marque aquí si eso resuelve su problema: unix.stackexchange.com/questions/213837/…
lunes
@monsune ¿es necesario hacer coincidir los UID? ¿no funcionará cuando solo coincidan los GID?
REDDY PRASAD
1

Establece los atributos en el punto de montaje, y no cuentan mucho. Necesitas hacer

chown -R oracle:oinstall /orabackup
chmod -R 777 /orabackup

nuevamente (como root) después del montaje /orabackup, para establecer los atributos de la carpeta compartida.

G-Man dice 'restablecer a Mónica'
fuente
1
después del montaje, cuando escribo chown -R oracle: oinstall / orabackup, se genera este error: [root @ it ~] # chown -R oracle: oinstall / orabackup / chown: cambio de propiedad de `/ orabackup / ': Permiso denegado
saeed.sh
1
Estoy de acuerdo con monsune: el hecho de que su servidor NFS esté basado en Windows complica las cosas. ¿Puede consultar la documentación del software del servidor NFS para ver si hay alguna forma de cambiar la propiedad del directorio desde el cuadro de Windows y / o permitir que el usuario "root" en el cliente tenga acceso completo a lo compartido ¿carpeta?
G-Man dice 'Restablece a Monica' el
El usuario root puede leer y escribir en este directorio. pero quiero obtener permiso para el usuario de Oracle.
saeed.sh
Mi punto es que, según su comentario anterior, root no tiene permiso para hacerlo chown. Tal vez "acceso completo" era la forma incorrecta de expresar eso; Me refería a "derechos plenos" o "privilegios plenos".
G-Man dice 'Restablecer a Monica' el