vsftpd - local_root = / var / www / sites / $ USER yorumlanmıyor mu?


11

FTP sunucusuna bağlanmaya çalıştığımda: "500 OOPS: dizin değiştirilemiyor: / home / $ USER / public_html"

  • echo $ USER yaptığımda - doğru kullanıcı adı alıyorum
  • $ USER, /etc/vsftpd.conf dosyamda yorumlanmamış gibi görünüyor
  • "local_root = / var / www / sites / $ USER" ı kaldırdığımda her şey sorunsuz çalışıyor.

Vsftpd 2.2.2 ve Ubuntu 10.04.1 LTS yayınlıyorum: 10.04 Kod adı: lucid

Yanıtlar:


21

Kullanmanız gereken kullanıcı_config_dir ve local_root birleşimidir. /Etc/vsftpd/vsftp.conf ana yapılandırma dosyasında aşağıdaki gibi bir girişiniz vardır:

chroot_local_user=YES
user_config_dir=/etc/vsftpd/users

Bu dizinin içinde (/ etc / vsftpd / users) kullanıcıyla aynı ada sahip bir yapılandırma dosyanız var (sizin durumunuzda $ USER) ve bu dosyanın içinde:

local_root=/var/www/sites/USER
dirlist_enable=YES
download_enable=YES
write_enable=YES

... burada USER gerçek addır (kelimenin tam anlamıyla USER veya $ USER değil).


2
Buradaki önemli geçiş:: user_sub_token=$USER$ USER değişkeni kullanılabilir bir değer aldığı için orijinal poster yapılandırmasının çalışmasını sağlar. Diğer cevaptaki yorumuma bakın.
user3450548

5

Ayarlamanız gerekir user_sub_token:

user_sub_token=$USER
local_root=/var/www/sites/$USER

2
Bunun gerçek gerçek çözüm olması eğlenceli, orijinal posterin yapmak istediği aslında uygulanabilirdi. Önerilen diğer örnekte de kullanabilirsiniz, ancak etkinleştirmeniz gerekmez user_config_dir. Zevkinize bağlı olarak yapabilir veya yapamazsınız. Buradaki önemli geçiş şudur user_sub_token=$USER, çünkü bu $USERdeğişkeni conf içinde kullanılabilir bir şeyle dolduran kişidir . user_sub_tokenMan sayfasındaki açıklamaya bakın : "Bu seçenek, local_root kullanıcı_sub_token içeriyorsa da geçerlidir."
user3450548
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.