16 votos

Crear un mando a distancia de usuario en OS X?

Me gustaría crear un usuario en OS X que ha remoto ssh privilegios de inicio de sesión donde se puede acceder a una cierta carpeta /ruta/a/la/los bienes/ y añadir/modificar/eliminar archivos de forma manual o a través de rsync, mientras que el resto de la Mac está fuera de los límites (fuera de su directorio home).

Lo ideal es que el usuario no debe tener acceso para ejecutar otros programas de otros de rsync.

Este usuario es sólo va a ser utilizado por un servidor de generación de inicio de sesión y desplegar los archivos. Quiero usar una clave pública/privada de par, por lo que el script de construcción no requiere contraseña de entrada.

¿Cómo puedo lograr esto?

9voto

zippy Puntos 1215

La mejor manera de hacer esto es crear un entorno chroot jail para el usuario. Voy a limpiar la respuesta aquí cuando llego a casa, pero ya he publicado la solución en mi blog.

http://thefragens.com/blog/2011/12/chrootd-sftp-on-mac-os-x-server/

A continuación están la mayor parte de la instrucción del post anterior.

En primer lugar, usted debe crear el nuevo usuario en el Grupo de trabajo de Administración y, o bien asignar privilegios de acceso por SSH a través del Servidor de Administración o asignarlos a un grupo que tiene acceso SSH privilegios. La discusión más abajo.

Desde el Terminal, de inicio a la derecha.

sudo cp /etc/sshd_config /etc/sshd_config.bkup

sudo chown root /
sudo chmod 755 /
sudo mkdir -p /chroot/user/scratchpad
sudo chown -R root /chroot
sudo chown user /chroot/user/scratchpad
sudo chmod -R 755 /chroot

Cada nuevo usuario que se agrega entonces será algo a lo largo de las líneas de la siguiente.

sudo mkdir -p /chroot/user2/scratchpad
sudo chown root /chroot/user2
sudo chown user2 /chroot/user2/scratchpad
sudo chmod -R 755 /chroot/user2

Cada carpeta de la ruta de la cárcel chroot debe ser propiedad de root. Creo que no importa en qué grupo de la carpeta. Lo que hice anteriormente fue

  1. copia de seguridad /etc/sshd_config
  2. cambiar la propiedad de la root del directorio root
  3. cambiar los permisos del directorio root a 755
  4. crear una carpeta chroot
  5. crear una carpeta de usuario en el entorno chroot carpeta
  6. crear una carpeta dentro de la carpeta de usuario que el usuario puede modificar
  7. establezca la propiedad y los permisos

Ahora a editar /etc/sshd_config para el siguiente.

#Subsystem  sftp    /usr/libexec/sftp-server
Subsystem   sftp    internal-sftp

Match User user
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /chroot/user

Esto crea un entorno chroot jail que cuando el usuario inicia sesión en la voluntad de soltar en la carpeta /chroot/user, en que carpeta es una carpeta que se pueden añadir cosas a /chroot/user/scratchpad.

Si desea crear un Grupo de Administración de Grupo para 'Chroot de los Usuarios, a continuación, agregue los nuevos usuarios creados en Administración de Grupo para el Grupo de no tener que seguir edición de la /etc/sshd_config archivo. En lugar de la anterior, añadir el siguiente. Asegúrese de añadir el 'Chroot grupo de Usuarios para el acceso SSH ACL en el Servidor de Administración.

Match Group chrootusers
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    ChrootDirectory /chroot/%u

Para probar si el de arriba es de trabajo, emitir la siguiente desde la terminal.

$ sftp user@domain.com
Password:
sftp>

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X