Бывают ситуации, когда необходимо быстро и не вдаваясь в подробности поднять ftp сервер, у меня для этого служит дежурная конфигурация vsftpd.
Сначала установим его.
$ aptitude install vsftpd
Итак - конфигурация смешанного ftp, анонимный доступ + доступ для локальных пользователей.
Архитектура анонимного vsftpd не предусматривает ситуации когда корневой каталог анонимного пользователя доступен на запись, удаление или создание каталогов. Поэтому для возможности записи анонимами, создаем каталог incoming/ с владельцем ‘ftp’.
$ mkdir -p /var/www/ftp
$ chmod 555 /var/www/ftp
$ chown root:ftp /var/www/ftp
$ mkdir /var/www/ftp/incoming
$ chown ftp:ftp /var/www/ftp/incoming
$ nano /etc/vsftpd/vsftpd.conf
$ chmod 555 /var/www/ftp
$ chown root:ftp /var/www/ftp
$ mkdir /var/www/ftp/incoming
$ chown ftp:ftp /var/www/ftp/incoming
$ nano /etc/vsftpd/vsftpd.conf
listen=YES
# делаем анонимный доступ, с правом записи
anonymous_enable=YES
no_anon_password=YES
anon_root=/var/www/ftp/incoming
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
# разрешаем вход локальным пользователям
# с правом записи в домашних директориях
local_enable=YES
local_umask=022
write_enable=YES
# помещаем локальных юзеров в их домашние каталоги,
# иначе пользователю будет доступен корень системы.
chroot_local_user=YES
chroot_list_enable=NO
# настройки журналирования
xferlog_enable=NO
vsftpd_log_file=/var/log/vsftpd.log
# делаем анонимный доступ, с правом записи
anonymous_enable=YES
no_anon_password=YES
anon_root=/var/www/ftp/incoming
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
# разрешаем вход локальным пользователям
# с правом записи в домашних директориях
local_enable=YES
local_umask=022
write_enable=YES
# помещаем локальных юзеров в их домашние каталоги,
# иначе пользователю будет доступен корень системы.
chroot_local_user=YES
chroot_list_enable=NO
# настройки журналирования
xferlog_enable=NO
vsftpd_log_file=/var/log/vsftpd.log
Ну и собственно запускаем ftp сервер:
$ /etc/init.d/vsftpd start
* Starting vsftpd ... [ ok ]
* Starting vsftpd ... [ ok ]
Ссылки:
Официальный веб-сайт.
Неофициальный русский сайт.
Вики-сайт vsftpd.
www.brennan.id.au
http://vsftpd.devnet.ru/rus/
++++
++++
Внимание тем кто использует версию старше 2.3.5:
При входе пользователем на FTP-Server версии 2.3.5 выдается сообщение:
"500 OOPS: vsftpd: refusing to run with writable root inside chroot()".
Всё верно, в 2.3.5 ужесточены правила безопасности. Теперь сервер не делает chroot() в домашний каталог пользователя, если на него стоят права на запись. Для этого необходимо произвести перенастройку домашних каталогов, либо запретить опцию chroot_local_user. Если всё таки необходим chroot() в домашний каталог пользователя с правами на запись, то тогда можно воспользоваться введенной в расширенной сборке опцией allow_writable_root (данная опция не рекомендуется к использованию!).
http://vsftpd.devnet.ru/rus/#faq
[10/02/2012 19:16 - zenon]
Добавить комментарий