GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare un utente SFTP per una radice del documento del server Web

SFTP (SSH/Secure File Transfer Protocol) è uno standard di trasmissione di rete utilizzato per trasferire, accedere e gestire file su una rete remota. Contiene SSH (Secure Shell), rendendolo molto più sicuro del protocollo FTP.

I file vengono trasferiti attraverso un unico canale di controllo in SFTP. Richiede l'autenticazione e funziona sulla porta 22. In SFTP, la shell SSH fornisce la crittografia che aiuta a proteggere nomi utente, password e altri dati personali trasferiti tramite SFTP.

In questa guida, impareremo a creare utenti SFTP per la root dei documenti del server web.

Passaggio 1:installazione di SSH (Secure Shell)

SFTP è un protocollo di trasferimento file molto sicuro grazie alla crittografia fornita da SSH per i dati mentre vengono trasferiti sulla rete. SSH è installato principalmente su distribuzioni Linux per impostazione predefinita, ma se non è preinstallato nel tuo sistema, puoi utilizzare il comando indicato di seguito per installarlo:

sudo apt install ssh 

Se già installato, il comando aggiornerà i pacchetti OpenSSH.

Passaggio 2:configurazione di SSH per l'utilizzo del codice server SFTP

Ora apri il file di configurazione di SSH in un editor di testo per modificarlo per il codice del server SFTP. Qui useremo l'editor nano per modificare il file di configurazione.

sudo nano /etc/ssh/sshd_config 

Individua la riga che inizia da “Subsystem sftp”.

Commenta la riga aggiungendo # all'inizio della riga e scrivi la riga seguente dopo questa riga come mostrato nello screenshot riportato di seguito:

Subsystem sftp internal-sftp

L'SSHD utilizzerà il codice del server SFTP invece di eseguire il server SFTP modificando la riga precedente.

Una volta modificato il file di configurazione, salva il file ed esci da esso utilizzando i tasti di scelta rapida da tastiera CTRL+S e CTRL+X.

Dopo le modifiche, è necessario riavviare il demone SSHD per far funzionare le modifiche.

sudo systemctl restart sshd 

Fase 3 – Creazione di un utente (utente SFTP)

È una pratica eccellente creare un nuovo utente che dispone solo dell'accesso SFTP alla radice del documento. Non è consigliabile aggiungere un utente con privilegi Sudo alla radice dei documenti del server web. Crea un nuovo utente usando il comando adduser:

sudo adduser sftpuser 

Il terminale chiederà un paio di cose come l'impostazione della password e le informazioni sull'utente. Richiederà anche alcuni altri dettagli, quindi lasciali vuoti o fornisci le informazioni corrette.

Un nuovo utente con il nome di sftpuser è stato creato correttamente.

Fase 4 – Creazione della direttiva Match User nel file di configurazione SSH

Ora limiteremo questo utente alla root del documento e disabiliteremo anche l'accesso dell'utente a SSH in modo che l'utente acceda tramite SFTP.

Per limitare l'accesso dell'utente, apri il file di configurazione di SSH in qualsiasi editor di testo:

sudo nano /etc/ssh/sshd_config 

Ora vai alla fine del file e aggiungi il seguente contenuto nel file di configurazione "sshd_config":

Match User sftpuser
        ForceCommand internal-sftp 
        ChrootDirectory /var/www/
        PasswordAuthentication yes
        X11Forwarding no 
        AllowTcpForwarding no 

Assicurati di sostituire il nome utente "sftpuser" con il nome utente che hai impostato.

Una volta che il contenuto di cui sopra è stato aggiunto al file di configurazione SSH, salva ed esci utilizzando i tasti di scelta rapida CTRL+S e CTRL+X.

Per controllare la sintassi e verificare se tutto è andato bene, puoi eseguire il comando:

sudo sshd -t 

Se non si sono verificati errori, potremmo ricaricare il servizio SSH per far funzionare le modifiche.

sudo systemctl restart sshd 

Fase 5 – Aggiunta dell'utente SFTP al gruppo www-data

Ora aggiungeremo l'utente al gruppo www-data eseguendo il seguente comando:

sudo usermod -a -G www-data sftpuser 

In caso di esecuzione riuscita, non verrà visualizzato alcun output.

Passaggio 6 – Impostazione dell'autorizzazione alla directory principale del documento

Si prega di seguire le istruzioni successive con molta attenzione poiché SFTP è molto severo per quanto riguarda i permessi della directory chroot.

  1. Inizieremo controllando le autorizzazioni correnti e la proprietà di var:
    sudo ls -ld /var/ 
    
  2. Le autorizzazioni dovrebbero essere 755 e il proprietario dovrebbe essere root per impostazione predefinita. In caso contrario, eseguire il comando riportato di seguito per impostare le autorizzazioni appropriate:
    sudo chmod 755 /var/ 
    
  3. Ora usa questo comando per impostare la proprietà corretta:
    sudo chown root:root /var/ 
    
  4. Allo stesso modo, applica le stesse autorizzazioni al chroot:

    sudo chmod 755 /var/www/ 
    
  5. Poiché abbiamo impostato "/var/www/" nella directory chroot. Ora imposta la giusta proprietà della directory chroot:
    sudo chown root:root /var/www/ 
    
  6. Per consentire a un gruppo di scrivere nella directory principale del documento, imposta il suo permesso su 755:
    sudo chmod 755 /var/www/html/ 
    
  7. Per concedere la proprietà della radice del documento "/var/www/html" e delle sue ulteriori directory e file al gruppo www-data, utilizzare il comando indicato di seguito:
    sudo chown -R www-data:www-data /var/www/html* 
    
  8. Ora dai 755 permessi al contenuto inserito nella radice del documento “/var/www/html” usando il comando:
    sudo find /var/www/html/ -type d -exec chmod 775 {} \; 
    
  9. Il comando precedente garantirà all'utente SFTP le autorizzazioni di lettura, scrittura ed eseguibile delle directory.

    Dobbiamo anche concedere i permessi 664 a tutti i file che sono presenti nella root del documento per consentire al proprietario e al gruppo di utenti SFTP di leggere e scrivere i file:

    sudo find /var/www/html/ -type f -exec chmod 664 {} \; 
    
  10. Ora per l'ultimo passaggio, assicurati che tutti i nuovi file e directory acquisiscano il gruppo www-data creato dall'utente SFTP appena creato:
    sudo find /var/www/html -type d -exec chmod g+s {} \; 
    

Congratulazioni! il tuo nuovo utente SFTP è stato creato e aggiunto alla root dei documenti del server web. Ora puoi accedere a SFTP.

Conclusione

In questa guida pratica, abbiamo appreso come installare e configurare SSH per l'utilizzo del codice del server SFTP. Successivamente, abbiamo creato un nuovo utente, limitato alla root dei documenti e disabilitato l'accesso SSH. Quindi abbiamo aggiunto l'utente alla radice dei documenti del server web per consentire all'utente di leggere, scrivere ed eseguire file nella radice dei documenti.


Linux
  1. Come impostare i privilegi di Sudo per l'utente in Linux

  2. Come disabilitare l'accesso dell'utente root tramite SSH

  3. Come creare automaticamente account utente (SSH + LDAP)

  4. Come creare un utente root aggiuntivo?

  5. Come posso creare un utente solo per sftp?

Come creare un file server personale con SSH su Linux

Come configurare un server SFTP su CentOS

Come reimpostare la password dell'utente root MySQL in Linux

Come disabilitare l'accesso SSH per l'utente root in Linux?

Come abilitare l'utente root nel server Ubuntu?

Come creare un controller di dominio su Linux per AD