Memberikan akses pengguna sftp ke direktori / var / www


12

Saya telah membuat pengguna dan membuat direktori rumahnya /var/www/mysite/ftpdir

Saya juga menambahkan entri pengguna Cocokkan untuk pengguna ini sshd_configdengan ChrootDirectory yang menunjuk ke/var/www/mysite

Saya telah memulai kembali sshuntuk mengambil ini.

Ketika saya masuk dengan sftp - pengguna masih pergi ke direktori lama yaitu pengguna /home/user

Apa yang saya lewatkan?


bagaimana dengan Anda symlink /home/userke target?
ish

Jawaban:


17

Inilah prosesnya:

  1. Tambahkan pengguna ke grup: sudo usermod -aG www blubseperti di Whats cara termudah untuk mengedit dan menambahkan file ke "/ var / www"?

    atau gunakan saja sudo adduser <username> www-data

  2. Instal vsftpd sudo apt-get install vsftpd
  3. Konfigurasikan vsftpd untuk akses jarak jauh: sudo nano /etc/vsftpd.confdan di dalam kumpulan file

    chroot_local_user=YES
    

    dan memastikan ini dikomentari:

    #chroot_list_enable=YES
    

    sesuai dokumentasi .

  4. Mulai kembali nsftp: sudo service vsftpd restart
  5. Konfigurasikan direktori home pengguna ke direktori web (tidak di /home):

    sudo usermod -d /var/www/mysite/ftpaccessdir <username>
    
  6. Konfigurasikan ssh chroot

    sudo nano /etc/ssh/sshd_config
    

    tambahkan berikut ini sampai akhir:

    Subsystem  sftp  internal-sftp
    Match user <username>
        ChrootDirectory /var/www/site
        ForceCommand internal-sftp
    AllowTcpForwarding no
    

    dan pastikan bahwa lebih jauh di atas dalam file bahwa ini dikomentari (yaitu sebelum yang baru saja Anda tambahkan)

    #Subsystem sftp /usr/lib/openssh/sftp-server
    
  7. Mulai kembali ssh

    sudo service ssh restart
    
  8. Ubah izin untuk apache:

    chown root:root /var/www
    chown root:root /var/www/site
    chmod 755 /var/www
    

    Seperti dalam dokumen di sini .

  9. Pastikan direktori Anda memiliki akses data-www

    sudo chown -R www-data:www-data /var/www/site
    chmod 755 /var/www/site
    

2
Saya telah mengikuti instruksi ini, tetapi koneksi saya ditolak pada akhirnya ketika saya menambahkan baris ini Subsystem sftp internal-sftp Match pengguna <username> ChrootDirectory / var / www / situs ForceCommand internal-sftp AllowTcpForwarding no
Ata

1
Saya juga memiliki masalah yang sama dengan Ubuntu 14.04
torayeff

Saya mempunyai masalah yang sama juga!
maxisme

4
Bagaimana bisa pada Langkah 9 Anda chown root:root /var/www/sitehanya perlu mengembalikannya kembali sudo chown -R www-data:www-data /var/www/sitepada Langkah 10 apakah ini disengaja?
JohnnyQ

Ini tidak berfungsi untuk saya
Lingga

2

Jika Anda mendapatkan koneksi ditolak kesalahan di akhir maka pastikan bahwa "Subsystem sftp internal-sftp" ada setelah "UsePAM yes" . Jika tidak maka perbarui dan Restart ssh dan itu berhasil.


0

Saya punya metode sederhana dan itu berhasil bagi saya untuk apache.

sudo useradd -d /var/www demo_user -g www-data
sudo passwd demo_user
sudo service ssh restart

Itu kalau-kalau Anda masih menghadapi masalah penggunaan izin chmoddan chownuntuk mengatasinya sesuai dengan kebutuhan Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.