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:
¿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
fuente
rsync
todas lasno-*
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,...
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.
fuente
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í
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
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.
fuente