GNU/Linux >> Linux Esercitazione >  >> Cent OS

Centos:come creare un utente Sftp in Centos?

Vorrei concedere l'accesso SFTP temporaneo a un ragazzo del supporto. Come creo un utente SFTP? E come posso eliminarlo una volta terminato il lavoro?

Inoltre, come faccio a specificare una home directory per loro? Posso impedire loro di accedere a determinate sottodirectory all'interno della loro home directory?

Usiamo CentOS 6.3 e fzSftp

Risposta accettata:

Accesso non chroot

Se non disponi di una configurazione del server FTP e ti fidi dell'utente che eseguirà l'accesso, per non curiosare troppo nel tuo server, sarei propenso a fornire loro un account per SFTP nel sistema.

Il wiki di CentOS mantiene un semplice howto intitolato:Semplice configurazione SFTP che lo rende abbastanza indolore.

Dico che è indolore perché devi letteralmente creare l'account e assicurarti che il firewall consenta il traffico SSH, assicurati che il servizio SSH sia in esecuzione e il gioco è fatto.

Se sshd non è già in esecuzione:

$ /etc/init.d/sshd start

Per aggiungere un utente:

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

Quando hai finito con l'account:

$ sudo userdel -r userX

Accesso al croot

Se invece vuoi limitare questo utente a una directory designata, il server SFTP incluso con SSH (openssh) fornisce una configurazione che rende anche questo facile da abilitare. È un po' più di lavoro ma non troppo. I passaggi sono trattati qui in questo tutorial intitolato:Come configurare Chroot SFTP in Linux (consenti solo SFTP, non SSH).

Apporta queste modifiche al tuo /etc/ssh/sshd_config file.

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

Ora dovrai creare l'albero delle directory con chroot in cui verrà bloccato questo utente.

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

Le autorizzazioni dovrebbero essere simili alle seguenti:

$ 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

Le directory di livello superiore come questa:

$ 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

Non dimenticare di riavviare sshd server:

$ sudo service sshd restart

Ora crea l'account utenteX:

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

Puoi verificare che l'account sia stato creato correttamente:

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

Quando hai finito con l'account, eliminalo allo stesso modo sopra:

$ sudo userdel -r userX

…e non dimenticare di rimuovere le modifiche al file di configurazione che abbiamo apportato sopra, quindi riavviare sshd per renderli nuovamente attivi.

Correlati:inverti i risultati per i cicli "for in * do"?
Cent OS
  1. Centos:come creare un utente non privilegiato in Centos?

  2. Come creare un utente sudo su CentOS 7

  3. Come creare un utente SFTP senza accesso alla shell su CentOS 8

  4. Come creare un utente Sudo in Rocky Linux 8

  5. Crea un utente sudo in CentOS

Come aggiungere ed eliminare utenti su CentOS 7

Come aggiungere utenti ai sudoer in CentOS

Come creare un utente Sudo su Debian

Come creare un utente Sudo in Ubuntu Linux

Come creare un utente Sudo in RHEL, CentOS, Rocky e AlmaLinux

Come creare un utente Sudo su CentOS