Collegamento simbolico e filezilla su sftp

Sono abbastanza nuovo per debian, e sto cercando di creare un server.

Ho creato un utente che può accedere alla sua cartella /home/username (e la sua sottodirectory).

Ora voglio usare quel utente per il server web che ho installato e gli ho dato accesso a /var/www ma non riesco a vedere /var/www tramite sftp e ho fatto un collegamento simbolico come questo:

 root@server:/home/username# ln -s /var/www www root@server:/home/username# cd www root@server:/home/username/www# chown username:username * 

Ora, con filezilla, posso vedere cartella www come questo:

Filezilla

Ma quando cerco di aprirlo, ottengo questo:

Aperto

Che cosa sto facendo male?

  • Come creare un collegamento simbolico senza utilizzare ln?
  • Rendere le cartelle su più unità appaiono in una singola cartella senza utilizzare i collegamenti simbolici
  • Fornire rsync per copiare il simbolo, anche se il referente non esiste
  • Caricamento di collegamenti a un server
  • Come posso impedire a rsync di sostituire i collegamenti simbolici con nuove directory nella gerarchia della directory di destinazione?
  • Scopri l'objective di collegamento simbolico tramite la row di command
  • Collegamento simbolico e LMP htdocs
  • Quali sono i possibili inconvenienti di un sito IIS 7 dotato di una giunzione NTFS come una radice web?
  • 2 Solutions collect form web for “Collegamento simbolico e filezilla su sftp”

    È probabile che il SFTP sia chrooted, in modo che la directory / var / www non sia disponibile per l'utente nel carcere chroot.

    Guarda in /etc/ssh/sshd_config e esamina le direttive sftp. Vedi qualcosa di simile:

     Match group sftp ChrootDirectory /home/%u AllowTcpForwarding no ForceCommand internal-sftp 

    La pagina man di sshd_config è qui .

    Fondamentalmente, una volta che l'utente è in /home/username in SFTP, la directory diventa / ei riferimenti al di fuori di /home/username non sono disponibili. Infatti, un simbolo come ln -s /var/www /home/username/www sembrerà di cercare di raggiungere /home/username/var/www (cioè, /home/username è adesso each link che le referenze /var/www devono anche essere una sottodirectory di /home/username nel context del chroot).

    Come soluzione, puoi distriggersre la chroot (ma questo avrà altre implicazioni di sicurezza, soprattutto con gli utenti SFTP che hanno pieno controllo sul file system). È ansible eseguire un mount di loop di / var / www in / home / username / www (qualcosa come mount --bind /var/www /home/username/www (controllare la documentazione per il mount ) che dovrebbe funzionare come ci si aspetta sotto chroot). È anche ansible muck con il file sshd_config per escludere un utente specifico da chroot (anche se, con implicazioni di sicurezza).

    Vorrei provare prima il mount bind.

    Ho risolto lo scollegamento del simbolo che ho fatto e con

     root@server:/home/username# mkdir www root@server:/home/username# mount --bind /home/username/www /var/www 

    (anche se ho perso tutto era in / var / www, ma non mi import)

    ringrazia tutti!

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