Etiket arşivi: 500 OOPS

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Ubuntu 12.04 sunucu üzerinde vsftpd servisi güncelleme sonrası 500 OOPS: Vsftpd: Refusing to Run With Writable Root Inside Chroot () bu hatayı vermeye başladı. Vsftpd servisi başlamıyordu. Güncellemeden kaynaklı olduğunu tespit ettikten sonra Debian paketleri bizi kurtarıyor. Ufak bir güncelleme ve iki satır ekleme ile sorun çözülüyor.

Debian/Ubuntu Sürümlerinde

echo allow_writeable_chroot=YES >> /etc/vsftpd.conf
echo seccomp_sandbox=NO >> /etc/vsftpd.conf
service vsftpd reload

Centos/Fedora/Redhat Sürümlerinde

chmod a-w /home/kullanici
echo allow_writeable_chroot=YES >> /etc/vsftpd.conf
service vsftpd reload

Vsftpd Ftp Sunucu Kurulumu

Vsftpd hızlı ve güvenli bir ftp sunucudur. Kullanırken SSL destekli kullanmanızı tavsiye ederim. Aksi halde şifreleriniz görüntülenebilir formatta karşıya gitmektedir.
Sunucuyu Kurulumu ve Ayarları
apt-get install vsftpd mc

Kurulum kısa sürmektedir. Akabinde ayar dosyasını düzenleyelim.
nano  /etc/vsftpd.conf
Ayar dosyasını açtığımızda aşağıdaki parametreleri düzenliyoruz.
#Kullanıcısı olmayan yani anonim kullanımı engelliyoruz.
anonymous_enable=NO  
Lokal kullanıcı hesaplarını kullanmasını söylüyoruz.
local_enable=YES
Dosya yükleme, silme ve isim değiştirme ilemleri için yazmayı aktif ediyoruz.
write_enable=YES
Kullanıcıların kendi klasörleri dışına çıkmasını engelliyoruz.
chroot_local_user=YES
Bu işlemlerden sonra bağlanmak istediğinizde 500 OOPS: Vsftpd: Refusing To Run With Writable Root Inside Chroot() hatasını engellemek için aşağıdaki değerleri eklememiz gerekiyor.

echo allow_writeable_chroot=YES >> /etc/vsftpd.conf
echo seccomp_sandbox=NO >> /etc/vsftpd.conf

Ftp Kullanıcısı Oluşturma
Ftp kullanıcılarını oluşturalım. Komut sonrası parola belirlemenizi isteyecek. Kendim kullandığımda yapmıyorum ancak başlangıç seviyesindeki arkadaşlara kullanıcı açarken www-data grubuna eklemesini tavsiye ederim. Upload sonrası yetki karmaşası olmasın diye. -d ilede istediğim dizini ev dizini olarak atıyorum.
adduser –gid=33 –home=/var/www/salih  salih
SSL Ayarları (İsteğe Bağlıdır)

SSL bileşenlerini oluşturuyoruz. 
openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -keyout /etc/ssl/private/ftpserver.pem -out /etc/ssl/private/ftpserver.pem
Oluşturduğumuz bu bileşenleri kullanmak için sunucu ayar dosyasında değişiklik yapmamız lazım. 
mcedit /etc/vsftpd.conf
Aşağıdaki parametreleri ekliyoruz.
rsa_cert_file=/etc/ssl/private/ftpserver.pem
rsa_private_key_file=/etc/ssl/private/ftpserver.pem


SSL aktif hale getirip bağlantıda mecburi kılmak içinde aşağıdaki parametreleri giriyoruz.
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
SSL/TLS destekli FTP sunucumuzun ayarları tamamlandı. Servisi yeniden başlattıktan sonra Ftp istemciniz ile bağlanabilirsiniz.
/etc/init.d/vsftpd restart