GNU/Linux >> Tutoriales Linux >  >> Linux

Enviar/recibir ZFS a través de ssh en Linux sin permitir el inicio de sesión de root

Me encontré con el mismo problema hoy. Descubrí que puede autorizar a los usuarios regulares a realizar ciertas operaciones con el comando "zfs allow":

como root, haga lo siguiente en el servidor:zfs permita que su_nombre de usuario reciba, cree, monte almacenamiento/fotos

Luego, podrá acceder al servidor usando su_nombre de usuario y tendrá privilegios de zfs para recibir. Consulte aquí:http://docs.oracle.com/cd/E19253-01/819-5461/gfkco/index .html


Esto no elimina por completo el inicio de sesión raíz, pero asegura cosas más allá de un inicio de sesión completo.

Configure una confianza SSH copiando la clave pública del usuario local (generalmente ~/.ssh/id_rsa.pub ) al archivo de claves_autorizadas (~/.ssh/authorized_keys ) para el usuario remoto. Esto elimina las solicitudes de contraseña y mejora la seguridad, ya que las claves SSH son más difíciles de forzar. Probablemente también quieras asegurarte de que sshd_config tiene PermitRootLogin without-password -- esto restringe los inicios de sesión raíz remotos solo a claves SSH (incluso la contraseña correcta fallará).

Luego puede agregar seguridad usando el ForceCommand directiva en el archivo authorized_keys para permitir que solo se ejecute el comando zfs.


@analog900 está en el camino correcto.

Una clave para aumentar la seguridad, incluida la evitación de la necesidad de inicios de sesión raíz, es usar la estructura de permisos integrada de ZFS y también estructurar sus transferencias de copia de seguridad al revés y tirar. sus copias de seguridad a través de la red, en lugar de enviarlas. La capacidad de realizar copias de seguridad de sistemas de archivos sin acceso raíz es uno de los principales logros de diseño del sistema de archivos ZFS.

Ejecute el trabajo en destination y extraiga los datos de source , tal vez algo como:

  • En la fuente máquina, cree una cuenta de usuario sin privilegios foo y usa zfs allow para darle a esa cuenta la capacidad de crear y enviar instantáneas:
    zfs allow foo mount,snapshot,send,hold storage/photos
  • En el destino máquina, cree una cuenta sin privilegios bar y dar a esa cuenta la capacidad de recibir/crear/montar sistemas de archivos:
    zfs allow bar mount,create,receive storage/photos
  • En destino, como usuario bar , cree una clave ssh específicamente para trabajos de copia de seguridad. Instale la mitad pública de esa clave en el .ssh directorio del usuario foo en la máquina fuente. Esto le da al usuario [email protected] acceso seguro de inicio de sesión ssh al [email protected] cuenta. Además, edite el archivo ~bar/.ssh/config en destination para que use automáticamente el nombre de archivo de clave SSH correcto (que creó anteriormente) y el nombre de usuario:
    Host source
       Hostname FQDN.of.source.example.com
       User foo
       IdentityFile ~bar/.ssh/backup_key_id_rsa
    dt=$(date +%Y-%m-%d_%H-%M-%S)
    ssh source "zfs snap storage/[email protected]_$dt"
    ssh source "zfs send -R storage/[email protected]_$dt" | zfs receive storage/photos

Hacerlo de esta manera requiere no acceso de root en absoluto.


Linux
  1. Inicio de sesión SSH en el servidor RHEL 7 sin contraseña

  2. Permitir el inicio de sesión ssh root en el servidor Ubuntu 14.04 Linux

  3. Cómo configurar el inicio de sesión SSH sin contraseña

  4. Cómo deshabilitar el inicio de sesión del usuario raíz a través de SSH

  5. Permitir la ejecución automática de comandos como root en Linux usando SSH

Cómo ejecutar comandos de Linux en un sistema remoto a través de SSH

Cómo extender la partición raíz XFS sin LVM en Linux

Cómo configurar el inicio de sesión SSH sin contraseña en Linux con claves

Cómo deshabilitar el inicio de sesión SSH para un usuario específico en Linux

CÓMO:Ejecutar Linux en Android sin root

¿Cómo deshabilitar el inicio de sesión SSH para el usuario raíz en Linux?