Permisos denegado Link Simbólico

Imagen de Zim_Zum
0 puntos

Es mi primera consulta y ante todo disculpas si me he equivocado de lugar para hacer la consulta.
En segundo lugar, me parece algo tan normal que no entiendo como después de tantas horas buscando no haya encontrado la solución (disculpas de antemano si es una pregunta replicada).

Mi situación es la siguiente, lo esquematizaré:
Tengo usuario1, usuario2, usuario3.
En crontab tengo un script que hace copias de seguridad de DB MySQL, datos, etc..., lo hago todo desde root. Todo esto se guarda de tal forma:
/root/backup/usuario1/cds.tgz
/root/backup/usuario2/cds.tgz
...
Ahora, a un usuario le quiero dar acceso a sus copias de seguirdad a través de un link simbólico, de tal forma:
# ln -s /root/backup/usuario1/ /home/usuario1/backup/
Cunado inteto acceder desde usuario1, salta permiso deneagado. Entonces buscando por la red, he probado diversas cosas para intentar cambiar el propieario y grupo del link simbólico, he probado también cambiando propietario y permisos, añado de tal forma:
# chmod 777 /root/backup/usuario1/
# chown usuario1:usuario1 /root/backup/usuario1/
Esto anterior quiero evitarlo evidentemente, pero aún asi nada.
# chown -h /home/usuario/backup/usuario1/
También he probado con -H mayusculas. Consigo cambiar el propietario del link simbólico, pero sigo recibiendo permiso denegado.

Espero que se haya entendido mi consulta, he intentado esquematizarla y explicarla lo mejor posible siendo breve. Muchas gracias de antemano. Saludos.

Imagen de Alcruz
+1
+1
-1

No me parece que /root/backup/usuario1 sea el lugar apropiado para guardar respaldos del usuario1 recomiendo que lo cambies a
/home/backup/usuario1
o sean dentro de /home, pero fuera de su carpeta de usuario, lo ideal sería que sea en otro disco
luego pones
sudo chown usuario1:usuario1 -R /home/backup/usuario1
Finalmente cada usuario podrá crear su enlace a su carpeta personal
ln -s /home/backup/$USER /$USER

+1
+1
-1
Imagen de Zim_Zum
+1
0
-1

Es una opción que he contemplado, y de hecho he pobado en /backup/usuario (tengo pensado poner un disco específico solo para esto, imágenes del SO, etc..., entonces lo montaría como /backup) Pero la idea es que yo, siendo root tenga permisos de escritura y lectura, y el usuario solo de lectura, por eso quería externalizarlo.
Creo que mi problema es básicamente una falta de conocimientos de permisos en linux en general. La clave creo que es trabajar con permisos, pero estoy muy perdido en eso... con poder realizarlo de esa forma, que root sea el que manda y el usuario solo pueda leer, me da igual la hubicación, eso si, tener la posibilidad de hacer link simbólico por si quiero dejar de ofrecer al usuario ver sus copias, por ejemplo.

Gracias.

+1
0
-1

Zim_Zum Genuine...

Imagen de Goyo
+1
0
-1

de hecho he pobado en /backup/usuario

¿Y ahí tienes el mismo problema?

Creo que mi problema es básicamente una falta de conocimientos de permisos en linux en general.

Creo que de permisos en general. Para leer un archivo se necesita permiso de paso a través de toda la ruta que conduce al archivo, no importa el sistema operativo.

+1
0
-1
Imagen de Alcruz
+1
-1
-1

Mas que una cuestión de permisos , deberías cambiar de propietario usando el comando
sudo chown usuario:usuario -R ruta carpeta contenedora de los respados
el tema es que este comando deberías correrlo cada vez que hagas el respaldo por que los haces como root, por lo que los archivos serán de propiedad de root, por eso, en lo posible es que los respaldos con crontab los haga cada usuario en su sesión de usuario, de esa manera los archivos serán de propiedad del usuario que los creó

+1
-1
-1
Imagen de Zim_Zum
+1
-2
-1

No quiero que el usuario sea el propietario de sus copias, sino root, pero que el usuario pueda leerlas, no borrarlas. Si ya olvidándonos de que sean copias, lo que quiero hacer es que "ficheros que root pueda crear y modificar, otro usuario pueda leer únicamente". Las copias de seguridad son un ejemplo de las miles de cosas que puedo hacer, era para explicar el caso más adecuadamente. Me refiero, la solución que quiero es saber si eso se puede hacer, es evidente que si el propio usuario con su cron hace las copias en su directorio podrá acceder a ellas... pero yo quiero saber si es posible eso. En Windows es ultra sencillo, que una carpeta sea de escritura/lectura para uno y de lectura solo para otro... como puede ser que aquí ni buscando ni preguntando, sea tan complicado de hacer (Que no lo será, pero nadie sabe responderme). Vamos mi pregunta final es esa, ¿Se puede en linux (Ubuntu) que un usuario (root) pueda leer y escrbir de un directorio X y otro usuario (usuario1) pueda únicamente leerlo?
Muchas gracias de antemano... y perdón por no ser más explícito antes en exactamente lo quería saber realizar.
Un saludo!

+1
-2
-1

Zim_Zum Genuine...

Imagen de .doc
+1
0
-1

lo que no se suele hacer, en Linux, es que un usuario sea root. Cada usuario es cada usuario, y root ('como ente superior') no debe usarse como un usuario más, sino usarse solo para acceder a operaciones 'sensibles' que requieran permisos de superusuario... y solo podrá hacerlo, por supuesto, el usuario que conozca la contraseña de root.
Eso que dices es la forma de pensar de Windows... y sujeta, por tanto, a más inseguridades.

+1
0
-1
Imagen de Zim_Zum
+1
-1
-1

Entonces ese caso en linux no es posible desde root, desde otro usuario entonces si, no?, probaré de ese modo entonces. Si tengo cualquier problema me pasaré por aquí.
Muchas gracias por toda la información.
Saludos.

+1
-1
-1

Zim_Zum Genuine...

Imagen de Goyo
+1
-1
-1

¿"Desde"?

+1
-1
-1
Imagen de Zim_Zum
+1
-1
-1

¿?
¿Tal vez?: http://www.wordreference.com/definicion/desde

No se que estás preguntando...

+1
-1
-1

Zim_Zum Genuine...

Imagen de Goyo
+1
-1
-1

No puedo imaginarme a una cuenta de usuario como "punto, procedencia u origen en el tiempo y en el espacio". Será cosa mía.

+1
-1
-1
Imagen de Zim_Zum
+1
-1
-1

Bueno, tras realizar exactamente lo mismo desde otro usuario, vamos, enlace simbólico de "backups" a "usuario1" tengo exactamente el mismo problema... ¿Realmente es imposible in linux hacer solamente dos usuarios independientes tengan acceso a un directorio con diferentes permisos? saludos.

+1
-1
-1

Zim_Zum Genuine...

Imagen de Goyo
+1
-1
-1

No es imposible sino muy fácil y más o menos igual que en windows. Si explicaras exactamente lo que haces tal vez se podría saber cuál es el problema.

+1
-1
-1
Imagen de Zim_Zum
+1
-1
-1

Lo que expuse en el primer post, pero desde otro usuario, le expongo de nuevo con las nuevas rutas.

Usuario "backup" (ya no root) hace mysqldump entre otras cosas con un script que se ejecuta en crontab cada x tiempo. Y genera varios ficheros, desde logs que se consultan luego a través de un panel realizado en php, etc... los ficheros con los datos se guardan en:
/home/backup/backups/datosusuario1/
Ahora, de manera excepcional quiero que usuarioX tenga acceso de SOLO LECTURA a esos datos (un montón de ficheros *.tgz). Yo lo que he intetado es:

ln -s/home/backup/backups/datosusuarioX/ /home/usuarioX/backup/

Pero me da "permiso denegado" desde UsuarioX pese que la carpeta datosusuario tiene permiso 774.

He intentado todo lo que he dicho en el primer post (chown usuarioX:usuarioX -h linksimbólico) entre otras muchas cosas, y no doy con la solución.

Gracias.

+1
-1
-1

Zim_Zum Genuine...

Imagen de Goyo
+1
0
-1

Me rindo, no entiendo estas novelas. Respondiendo más concretamente a lo que entiendo, que es tu pregunta final:

¿Se puede en linux (Ubuntu) que un usuario (root) pueda leer y escrbir de un directorio X y otro usuario (usuario1) pueda únicamente leerlo?

Con una cuenta de usuario que pueda usar sudo:
sudo mkdir /home/test
De forma predeterminada solo root tiene acceso completo (lectura, escritura y ejecución) al directorio /home/test, los demás usuarios tienen acceso únicamente de lectura y ejecución.

+1
0
-1
Imagen de Alcruz
+1
0
-1

Este intenbto solo está referido a la carpeta contenedora de los respaldos del usuario1, deberías repetirlo para los otros usuarios
1.-Cambia el grupo de pertenencia de la carpeta contenedora
sudo chown root:usuario1 -R ruta carpeta respaldo carpeta usuario1
2.- dar los permisos que quieres
sudo chmod 750 -R ruta carpeta respaldo usuario1

Estos dos comandos deberías incluirlos en el script creador de los respaldos por que si no es así, los archivos se crearán con root como propietario de grupo , por lo que los usuarios no tendrán acceso

+1
0
-1