GNU/Linux >> Tutoriales Linux >  >> Cent OS

Centos:¿cómo crear un usuario Sftp en Centos?

Me gustaría dar acceso SFTP temporal a un tipo de soporte. ¿Cómo creo un usuario SFTP? ¿Y cómo puedo eliminarlo una vez terminado el trabajo?

Además, ¿cómo especifico un directorio de inicio para ellos? ¿Puedo evitar que accedan a ciertos subdirectorios dentro de su directorio de inicio?

Usamos CentOS 6.3 y fzSftp

Respuesta aceptada:

Acceso no chroot

Si no tiene una configuración de servidor FTP, y confía en que el usuario que iniciará sesión no hurgará demasiado en su servidor, me inclinaría a darles una cuenta para SFTP en el sistema en su lugar.

El wiki de CentOS mantiene un tutorial simple titulado:Configuración simple de SFTP que hace que esto sea bastante sencillo.

Digo que es sencillo porque, literalmente, solo tiene que crear la cuenta y asegurarse de que el firewall permita el tráfico SSH, asegúrese de que el servicio SSH se esté ejecutando y ya casi ha terminado.

Si sshd aún no se está ejecutando:

$ /etc/init.d/sshd start

Para agregar un usuario:

$ sudo useradd userX
$ sudo passwd userX
... set the password ...

Cuando haya terminado con la cuenta:

$ sudo userdel -r userX

Acceso chroot

Si, por otro lado, desea limitar este usuario a un directorio designado, el servidor SFTP incluido con SSH (openssh) proporciona una configuración que también facilita la habilitación. Es un poco más de trabajo, pero no demasiado. Los pasos se describen aquí en este tutorial titulado:Cómo configurar Chroot SFTP en Linux (permitir solo SFTP, no SSH).

Realice estos cambios en su /etc/ssh/sshd_config archivo.

Subsystem       sftp    internal-sftp

## You want to put only certain users (i.e users who belongs to sftpusers group) in the chroot jail environment. Add the following lines at the end of /etc/ssh/sshd_config

Match Group sftpusers
  ChrootDirectory /sftp/%u
  ForceCommand internal-sftp

Ahora deberá crear el árbol de directorios chroot donde este usuario quedará bloqueado.

$ sudo mkdir -p /sftp/userX/{incoming,outgoing}
$ sudo chown guestuser:sftpusers /sftp/guestuser/{incoming,outgoing}

Los permisos deberían tener el siguiente aspecto:

$ ls -ld /sftp/guestuser/{incoming,outgoing}
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/incoming
drwxr-xr-x 2 guestuser sftpusers 4096 Dec 28 23:49 /sftp/guestuser/outgoing

Los directorios de nivel superior como este:

$ ls -ld /sftp /sftp/guestuser
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp
drwxr-xr-x 3 root root 4096 Dec 28 23:49 /sftp/guestuser

No olvides reiniciar el sshd servidor:

$ sudo service sshd restart

Ahora cree la cuenta de usuarioX:

$ sudo useradd -g sftpusers -d /incoming -s /sbin/nologin userX
$ sudo passwd userX
... set password ...

Puedes comprobar que la cuenta se ha creado correctamente:

$ grep userX /etc/passwd
userX:x:500:500::/incoming:/sbin/nologin

Cuando haya terminado con la cuenta, elimínela de la misma manera anterior:

$ sudo userdel -r userX

…y no olvide eliminar los cambios en el archivo de configuración que hicimos anteriormente, luego reinicie sshd para activarlos una vez más.

Relacionado:¿Invertir los resultados de los bucles "for in * do"?
Cent OS
  1. Cómo configurar un servidor SFTP en CentOS

  2. Cómo crear un usuario Sudo en CentOS, Ubuntu y Debian

  3. Centos:¿cómo crear un usuario sin privilegios en Centos?

  4. Cómo crear un usuario Sudo en Rocky Linux 8

  5. Crear un usuario sudo en CentOS

Cómo agregar y eliminar usuarios en CentOS 7

Cómo agregar usuarios a Sudoers en CentOS

Cómo crear un usuario Sudo en Debian

Cómo crear un usuario Sudo en Ubuntu Linux

Cómo crear un usuario de Sudo en RHEL, CentOS, Rocky y AlmaLinux

Cómo crear un usuario Sudo en CentOS