EC2 FileZilla accedere a OK ma non scrivere o elimina l'accesso

Sono un totale noob di Apache, e dopo molto tirare i capelli e ginocchiare i denti finalmente hanno avuto accesso SFTP a nuova istanza EC2 in modalità passiva. Può accedere solo come utente "ec2" o "root" senza password, ma non con nome utente e / o password … Ho creato un file .htaccess in / home / admin, / home / ec2, e / home / myusername directory … ho tweaked /etc/httpd/conf/httpd.conf, /etc/vsftpd/vsftpd.conf, nonché le impostazioni e le porte / protocolli del gruppo di protezione AWS modificati in accordo con quelle modifiche, e creato il file .ssh / authorized_keys per ciascuna delle directory utente di cui sopra. Non riesco a trascinare / rilasciare dalla macchina locale all'istanza EC2 tramite il client FTP (Filezilla), quindi apparentemente, mentre posso accedere come utente di ec2, non ho le autorizzazioni di scrittura. Sospetto Ho bisogno di chown … qualcosa?

Sto utilizzando il set-up vsftpd consigliato qui

  • Controllare il numero di connessioni attive sulla port 80?
  • Regex exception di Apache MatchRedirect
  • Apache, utilizzare X-Forwarded-For per consentire
  • Qual è la differenza tra apachectl e httpd.worker?
  • Come submit le intestazioni Content-Disposition in apache per i file?
  • Come registrare una richiesta al log di accesso apache se è memorizzato nella cache di Varnish
  • Qualche idea su cosa devo cambiare per 1) accedere tramite Filezilla come "myusername" piuttosto che "ec2-user" o "root"?

    PS: ho la maggior parte dei pertinenti strumenti di row di command di AWS installati e funzionali …

    One Solution collect form web for “EC2 FileZilla accedere a OK ma non scrivere o elimina l'accesso”

    Hai menzionato (e forse confuso) alcune cose diverse – quindi il tuo objective non è abbastanza chiaro, purtroppo.

    1. SFTP – non esiste un 'SFTP passivo' – il protocollo SFTP è completamente diverso da FTP e viene gestito da / usr / libexec / openssh / sftp-server (impostato in / etc / ssh / sshd_config) non vsFTPd
    2. I file Apache .htaccess non hanno niente a che fare con FTP – definiscono le regole per come il tuo web server consegnerà contenuti (cioè ad un visitatore del tuo sito web).
    3. Stai cercando di utilizzare FTP a SFTP?
    4. Stai cercando di servire siti web da / home / admin, / home / ec2-user, ecc? Sulla Linux Amazon la radice predefinita per Apache è / var / www / html. In genere, aggiungerai il tuo contenuto, oppure dovresti cambiare il DocumentRoot in httpd.conf.

    Il vsFTPd può essere configurato per utilizzare gli utenti locali. Fare così:

    • set local_enable = SI e chroot_local_user = SI (vsftpd.conf)
    • creare il proprio utente di sistema (useradd) (con / sbin / nologin come shell) – l'utente sarà limitato alla propria home directory (la direttiva chroot sopra)
    • impostare la password (passwd)
    • Riavviare vsftpd per le modifiche di configuration per avere effetto
    • Accesso tramite FTP (non SFTP)

    Per SFTP (non usando vsftpd!):

    • Append / usr / libexec / openssh / sftp-server in / etc / shell
    • Creare un nuovo utente con il shell / usr / libexec / openssh / sftp-server
    • Impostare la password per il nuovo utente
    • Accedi tramite SFTP. Qui non sarai limitato alla tua home directory, ma non potrai scrivere in località where il tuo utente non dispone di autorizzazioni

    Ora per il problema delle autorizzazioni che hai di fronte:

    • In primo luogo, non andate a modificare le autorizzazioni o la properties; dei file solo perché non è ansible scrivere in una directory. La maggior parte delle directory è di properties; di root e solo scrivibile dal proprietario.
    • Per un server web, mantenere le restrizioni restrittive delle autorizzazioni – 644 (rw-r – r–) o less – (il gruppo e gli altri non devono disporre di autorizzazioni di scrittura e nessuno dovrebbe aver bisogno delle autorizzazioni di esecuzione nella maggior parte dei casi)
    • Impostare la properties; del file come l'utente che esegue il server web come se si utilizzano file dinamici (ad es. PHP).

    Le opzioni sono pertanto le seguenti:

    • Servire i file dalla home directory dell'utente (anziché / var / www / html) – mantenere l'utente chrooted e impostare il DocumentRoot in httpd.conf per puntare al path corretto. Questo è un approccio buono (sicuro), ma la modifica tipica che viene fatta è impostare la directory home dell'utente su un path in / var / www / html (ad esempio per più persone con i propri siti, / var / www / html / USERNAME – con il DocumentRoot impostato di conseguenza)
    • Dai all'utente Apache FTP / SFTP accesso – sembra ragionevole, ma soprattutto utilizzando FTP è insicuro.
    • Utilizzare SCP e passare l'utente a root (sudo) – ha i suoi usi, ma non per il salvataggio di file in una directory server web – tutti i file creati sono di properties; di root

    La mia raccomandazione sarebbe SFTP con un certificato e le tue directory home in / var / www / html


    I comandi specifici per l'aggiunta di un utente SFTP su Linux di Amazon:

    Dichiarazione di responsabilità: è molto più sicuro utilizzare i certificati che le password – e dovresti impedire che PasswordAuthentication sia distriggersto.

    #Add the shell echo /usr/libexec/openssh/sftp-server >> /etc/shells #Create a user with the shell, I have not setup a home folder useradd -M -s /usr/libexec/openssh/sftp-server USERNAME #Set the password passwd USERNAME Edit /etc/ssh/sshd_config: Change: PasswordAuthentication no to PasswordAuthentication yes (line 69), save and quit #Restart SSH service sshd restart 


    Per limitare l'utente a una directory (cioè chroot):

    Poiché il server sftp non sarà nel tuo path chroot, dobbiamo cambiarlo: Change (in sshd_config):

     Subsystem sftp /usr/libexec/openssh/sftp-server 

    A:

     Subsystem sftp internal-sftp 

    Aggiungere alla fine del tuo sshd_config (sostituire il path con, ad esempio, / var / www):

     Match User USERNAME ChrootDirectory /path/to/restrict/to AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp Match 

    Riavviare SSH:

     service sshd restart 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.