¿Cómo puedo crear un usuario con acceso de solo lectura a todos los archivos? (es decir, root sin permisos de escritura)


9

Para hacer una copia de seguridad de mi servidor, me gustaría acceder de forma remota a través de SSH. Para minimizar todos los riesgos, desea usar un usuario que solo tenga acceso de lectura, pero a todos los archivos, al igual que root. Sin embargo, no debería tener ningún derecho de escritura.

¿Alguna idea sobre cómo lograr eso?


Respuestas:


7

¿Puedo sugerir otro método para resolver su problema que requiera menos mantenimiento?

Puede crear claves ssh que tengan acceso limitado a programas específicos. No me gusta otorgar acceso sin restricciones a la raíz, pero a veces es necesario habilitar ciertos comandos para que se ejecuten de forma remota. Con las teclas ssh puede ejecutar su programa de respaldo mediante el comando ssh.

Echa un vistazo a la sección 'FORMATO DE ARCHIVO AUTHORIZED_KEYS' en tu página de manual de sshd (supongo que estás usando OpenSSH).

http://man.openbsd.org/OpenBSD-current/man8/sshd.8


1
Me gusta la idea. Simplemente extraer los archivos a través de rsynctodas las no-*opciones como se describe en el manual debería ser seguro. Especialmente no-pieles en combinación con from es un buen comienzo para aumentar la seguridad. Ejemplo:from="the_pulling_hostname_or_IP",no-pty,...
user569825

1

Podrías lograr eso con las ACL. Aún necesitaría un script que se ejecute como root y que cambie los permisos de cada archivo. Vea las páginas de manual para ACL, setfacl y getfacl si está interesado.


1

Hay una forma algo diferente de crear esto sin usar ACL. Pero debes tener precaución aquí. En primer lugar, cree un grupo, por ejemplo, llamado roroot (raíz de solo lectura). Luego aplique esa identificación de grupo a todos los directorios. Haga que los permisos para los bits del grupo sean r-- o 400 octal, luego puede crear una cuenta de usuario como un usuario normal, por ejemplo, rorootusr, con la siguiente identificación establecida en lo que sea que esté en su sistema, hágala una miembro de un grupo Roroot solamente , no lo haga parte de la rueda, el contenedor, etc., dependiendo de cuáles sean sus grupos en su instalación. La siguiente parte va a ser torpe. Abra el archivo / etc / passwd usando vim / nano / emacs / joe / lo que sea que sea el editor de su barco, y busque la identificación que acaba de crear, es decir. rorootusr, el archivo passwd se verá así

root: x: 0: 0 :: / root: / bin / sh

Leyendo de izquierda a derecha separados por dos puntos, tiene nombre de usuario, contraseña (cifrada + sombreada), identificación de usuario, identificación de grupo, comentario, directorio de inicio y shell. Del ejemplo anterior dado

rorootusr: x: 512: 450: Root User RO: / home / rorootusr: / bin / bash

Es el tercer campo (512) que lo cambia a 0. 450 sería la identificación del grupo para roroot. Guarde la sesión de edición y ya está. Ahora rorootusr tendrá acceso a la raíz, pero es únicamente un miembro del grupo roroot y tiene acceso de solo lectura al sistema.

Espero que esto ayude, Saludos cordiales, Tom.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.