Добрый день.
**** CentOS 6.6 + ProFTPD 1.3.4a *****Прошу помощи, сутки уже пытаюсь настроить ProFTPD - ничего не получается. Условно разделю вопросы на три пункта:
############# 1 #########################################
Установил proftpd 1.3.4a вручную:
# yum -y install ncurses-devel gcc gcc-c++ make rpm-build m4 redhat-rpm-config # cd /tmp/ # wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.4a.tar.gz # tar xzf proftpd-1.3.4a.tar.gz # cd proftpd-1.3.4a # ./configure --sysconfdir=/etc # make # make install # cd .. # rm -fr proftpd*После чего не вижу proftpd в списке сервисов на автозагрузку (chkconfig), соответственно не могу поставить его в автозагрузку
# chkconfig proftpd onНе могу запустить proftpd как сервис
# service proftpd startтолько таким образом
# proftpd
Подскажите пожалуйста, как после установки вручную добавить proftpd в список Автозагрузки и как сделать так, чтобы после такой ручной установке proftpd можно было запускать как сервис через:
# service proftpd start
############ 2 ############################################
Установил proftpd 1.3.4d из репозитория CentALT. В конфигурационном файле /etc/proftpd.conf:
ServerName<----><------><------>«ProFTPD Default Installation» ServerType<----><------><------>standalone DefaultServer<-><------><------>on # Port 21 is the standard FTP port. Port<--><------><------><------>21 # Don't use IPv6 support by default. UseIPv6><------><------><------>off # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask<-><------><------><------>022 # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd). MaxInstances<--><------><------>30 # Set the user and group under which the server will run. User<--><------><------><------>nobody Group<-><------><------><------>nobody # To cause every FTP user to be «jailed» (chrooted) into their home # directory, uncomment this line. DefaultRoot ~ # Normally, we want files to be overwriteable. AllowOverwrite<><------>on # Bar use of SITE CHMOD by default <Limit SITE_CHMOD> DenyAll </Limit> # A basic anonymous configuration, no upload directories. If you do not # want anonymous users, simply delete this entire <Anonymous> section. <Anonymous ~ftp> User<><------><------><------>ftp Group><------><------><------>ftp # We want clients to be able to login with «anonymous» as well as «ftp» UserAlias<---><------><------>anonymous ftp # Limit the maximum number of anonymous logins MaxClients<--><------><------>10 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin<><------><------>welcome.msg DisplayChdir<><------><------>.message # Limit WRITE everywhere in the anonymous chroot <Limit WRITE> DenyAll </Limit> </Anonymous>
Создал системного пользователя:
# useradd -d /var/testftp_my/ -M -s /bin/bash user # passwd userПользователь в passwd:
user:x:502:502::/var/testftp_my/:/bin/bash
Когда захожу по ftp через WinSCP через созданного пользователя user, то могу без проблем выходить выше указанной директории /var/testftp_my/ без ограничений, вплоть до корня OS, разве только что не могу в определенных папках создавать и редактировать файлы, хотя в конфигурационном файле обозначено:
DefaultRoot ~
Тоже самое и при установке ProFTPD вручную - из 1-го пункта. Подскажите пожалуйста что не так, почему не получается ограничить пользователя на просмотр только папки «/var/testftp_my/», что может быть?
############# 3 ###################################
Установил proftpd 1.3.4d из репозитория CentALT. В конфигурационном файле /etc/proftpd.conf:
ServerName<----><------><------>«ProFTPD Default Installation» ServerType<----><------><------>standalone DefaultServer<-><------><------>on # Port 21 is the standard FTP port. Port<--><------><------><------>21 # Don't use IPv6 support by default. UseIPv6><------><------><------>off # Umask 022 is a good standard umask to prevent new dirs and files # from being group and world writable. Umask<-><------><------><------>022 # in standalone mode, in inetd mode you should use an inetd server # that allows you to limit maximum number of processes per service # (such as xinetd). MaxInstances<--><------><------>30 # Set the user and group under which the server will run. User<--><------><------><------>nobody Group<-><------><------><------>nobody # To cause every FTP user to be «jailed» (chrooted) into their home # directory, uncomment this line. DefaultRoot ~ # Normally, we want files to be overwriteable. AllowOverwrite<><------>on # Bar use of SITE CHMOD by default <Limit SITE_CHMOD> DenyAll </Limit> # A basic anonymous configuration, no upload directories. If you do not # want anonymous users, simply delete this entire <Anonymous> section. <Anonymous ~ftp> User<><------><------><------>ftp Group><------><------><------>ftp # We want clients to be able to login with «anonymous» as well as «ftp» UserAlias<---><------><------>anonymous ftp # Limit the maximum number of anonymous logins MaxClients<--><------><------>10 # We want 'welcome.msg' displayed at login, and '.message' displayed # in each newly chdired directory. DisplayLogin<><------><------>welcome.msg DisplayChdir<><------><------>.message # Limit WRITE everywhere in the anonymous chroot <Limit WRITE> DenyAll </Limit> </Anonymous> AuthUserFile /usr/local/etc/proftpd/ftpd.passwd AuthGroupFile /usr/local/etc/proftpd/ftpd.group AuthOrder mod_auth_file.c RequireValidShell off
Добавил виртуального пользователя
# ftpasswd —passwd —file=/usr/local/etc/proftpd/ftpd.passwd —name=tester —uid=500 —gid=500 —home=/var/testftp_my —shell=/bin/false
При этом -uid=500 и -gid=500 - это ip и gid реального системного пользователя с полными правами на папку /var/testftp_my, да и вообще на данную папку поставил права 777 временно.
Пользователь в /usr/local/etc/proftpd/ftpd.passwd:
tester:$1$SDx1Nb1TSbOzVMUrJ/EwvuBK0ipU1b/:500:500::/var/testftp_my:/bin/false
При попытке подключиться по ftp через WinSCP через созданного виртуального пользователя tester говорит - Доступ не разрешен!
Попробовал так еще создать виртуального пользователя:
# ftpasswd —passwd —file=/usr/local/etc/proftpd/ftpd.passwd —name=tester —uid=500 —gid=500 —home=/var/testftp_my —shell=/bin/bash
Такой же результат!
Попробовал через системного пользователя подключиться - подключается, хотя не должен, в настройках:
AuthOrder mod_auth_file.c
Подскажите пожалуйста, что не так, почему не подключается под виртуальном пользователем и почему наоборот подключается под системным, чего не должно быть? Да и то наверняка, даже если бы и подключился под виртуальным пользователем, то так-же как и в 2-ом пункте был бы доступ ко всем папками OS.
Спасибо.