Yanıtlar:
Aşağıdaki satırın bulunduğundan emin olun
chroot_local_user=YES
/var/www/
Mevcut kullanıcı için değişiklik yapmak istiyorsanız, kullanıcı HOME Dizini olarak ayarlayın , sonra şunları kullanabilirsiniz:
usermod --home /var/www/ username
sonra gerekli izni ayarlamak /var/www/
user_sub_token
Kullanıcının Giriş dizinini değiştirmek istemiyorsanız, şunları kullanabilirsiniz:
chroot_local_user=YES
local_root=/ftphome/$USER
user_sub_token=$USER
user_sub_token
:Bir şablonu temel alarak her sanal kullanıcı için otomatik olarak bir ev dizini oluşturun. Örneğin, guest_username ile belirtilen gerçek kullanıcının giriş dizini / ftphome / $ USER ise ve user_sub_token $ USER değerine ayarlanmışsa, sanal kullanıcı testi giriş yaptığında (genellikle chroot () 'ed) yazacaktır. / ftphome / test dizini. Bu seçenek ayrıca local_root user_sub_token içeriyorsa etkili olur.
Dizin oluşturun ve izinleri ayarlayın:
mkdir -p /ftphome/{test,user1,user2}
chmod 770 -R /ftphome
chown -R ftp. /ftphome
usermod -G ftp test
Bir kez yeniden vsftpd
başlatıp kurulumunuzu test edin.
Örnek başarı çıktısı:
[root@mail tmp]# ftp localhost
Connected to mail.linuxian.local.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mput vhosts
mput vhosts?
227 Entering Passive Mode (127,0,0,1,146,41)
150 Ok to send data.
226 File receive OK.
24 bytes sent in 3.3e-05 seconds (7.1e+02 Kbytes/s)
ftp> ls -rlt
227 Entering Passive Mode (127,0,0,1,97,90)
150 Here comes the directory listing.
-rw-r--r-- 1 787 787 24 Oct 11 19:57 vhosts
226 Directory send OK.
ftp> 221 Goodbye.
$USER
için local_root
gibi, /home/$USER/ftp
(kullanıcıların chroot hangi ftp
evlerine dir alt dizini).
local_root
.
Bunu yapabilirsiniz:
usermod --home /var/www/ username
Rahul Patil'in önerisini yukarıda kullandım:
chroot_local_user=YES
local_root=/home/$USER/www-data
user_sub_token=$USER
Ancak neden yalnızca bir kullanıcıyla oturum açabildiğimi anlayamadım. Daha sonra /home/$USER/www-data
yazma erişimi olan bir kök dizine (bu durumda ) chroot yapamayacağımızı öğrendim . Böylece yazma erişimini şu şekilde kaldırırım:
# chmod a-w /home/$USER/www-data
NOT:$USER
kullanıcınızla değiştirin .
İçindeki chroot
seçenekleri kontrol edin vsftpd.conf
ve homedir olarak ayarlanmış ayrı bir kullanıcı oluşturun /var/www
.
chroot
seçenekleri kontrol edinvsftpd.conf
ve homedir olarak ayarlanmış ayrı bir kullanıcı oluşturun/var/www
.