Sign in

Зарегистрируйтесь, чтобы стать полноправным участником сообщества Masterpro.ws.

vsftpd: global FTP privileges, или дурное дело нехитрое

Этот док способен служить неким начальным руководством, в том случае, если вы решили, несмотря на многочисленные соображения безопасности и в силу каких-то иных соображений (ну, скажем, настойчивое требование заказчика) - не только разрешить доступ по FTP к вашему web-серверу, но еще и предоставить учетной записи ftp-пользователя т. н. global FTP (например, полный доступ к директории www), избавив его от заключения в клетку chroot домашней директории. Хотя более правильным было бы, вероятно, все же chroot jail и монтирование /var/www к одной из директорий домашнего каталога, если вообще применимо употребление слова "правильно" к использованию FTP на современном web-сервере... ок, оставим подробный разбор полетов для будущей статьи.

 

 

Далее привожу diff между дефолтным конфигом vsftpd и тем, к чему мы приходим, разрешая учетке ftp-user - global FTP. Дурное дело, как известно, нехитрое: запрещаем анонимный доступ (это уж по-любому), закрываем коннект на 20 порт, включаем listen=YES и отрубаем listen_ipv6=NO, раскомментируем еще ряд строчек конфига, ну и т. д. Включаем пассивный режим и не забываем открыть соответствующий диапазон портов на сервере, в chroot_list вписываем логин ftp-пользователя:

 

$ sudo diff  /etc/vsftpd/vsftpd.conf.orig /etc/vsftpd/vsftpd.conf
12c12
< anonymous_enable=YES
---
> anonymous_enable=NO
43c43
< connect_from_port_20=YES
---
> connect_from_port_20=NO
100,101c100,101
< #chroot_local_user=YES
< #chroot_list_enable=YES
---
> chroot_local_user=YES
> chroot_list_enable=YES
103c103
< #chroot_list_file=/etc/vsftpd/chroot_list
---
> chroot_list_file=/etc/vsftpd/chroot_list
114c114
< listen=NO
---
> listen=YES
123c123
< listen_ipv6=YES
---
> listen_ipv6=NO
126c126
< userlist_enable=YES
---
> userlist_enable=NO
127a128,131
> pasv_enable=YES
> pasv_min_port=10090
> pasv_max_port=10100
> pasv_address=XX.XXX.XXX.XX

 

 

Далее; создаем новую группу, в которую добавляем apache и новую ftp-учетку, разрешаем этой группе полный доступ к директории, содержащей файлы нашего сайта:

 

$ sudo groupadd vpsusers
$ sudo gpasswd -a apache vpsusers
$ sudo gpasswd -a ftp-user vpsusers
$ sudo chown -R apache:vpsusers /var/www
$ sudo chmod -R g+w /var/www

 

Но я вам все это очень не советую.

 

 

Оставить комментарий

Добавьте ваш комментарий