Поднятие FTP (не получается сконфигурировать)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

-IRON-
Сообщения: 51
ОС: Suse Linux 10.3

Поднятие FTP

Сообщение -IRON- »

Debian 4.0 r0
proftpd 1.3.1 скомпилен и поставлен с дефолтовыми параметрами.

Сервер работает одновременно и веб-сервером, и роутером для локальной (домашней) сети.
ФТП нужен для полного удаленного доступа к корневому разделу и соответственно для полного удаленного администрирования.

Вот мой конфиг:

Код:

ServerType standalone DefaultServer on Umask 022 ServerName "0.0.0.0" ServerIdent on "My FTPD" ServerAdmin Admin@this.domain.topdomain IdentLookups off UseReverseDNS off Port 21 PassivePorts 49152 65534 #MasqueradeAddress None TimesGMT off MaxInstances 30 MaxLoginAttempts 3 TimeoutLogin 300 TimeoutNoTransfer 120 TimeoutIdle 120 DisplayLogin welcome.msg User nobody Group nobody DirFakeUser off nobody DirFakeGroup off nobody DefaultTransferMode binary AllowForeignAddress off AllowRetrieveRestart on AllowStoreRestart on DeleteAbortedStores off TransferRate RETR 30 TransferRate STOR 40 TransferRate STOU 40 TransferRate APPE 40 SystemLog /usr/local/var/proftpd/secure RequireValidShell off #gp_random_username_length 6 #gp_random_password_length 6 #gp_randomize_case lower #gp_useradd_homedir_path /var/ftp #gp_html_path /var/www/html/ftp.htm #gp_welcome_name welcome.msg <IfModule mod_tls.c> TLSEngine off TLSRequired off TLSVerifyClient off TLSProtocol TLSv1 TLSLog /usr/local/var/log/proftpd_tls.log TLSRSACertificateFile /etc/gadmin-proftpd/gadmin-proftpd.pem </IfModule> <IfModule mod_ratio.c> Ratios off SaveRatios off RatioFile "/restricted/proftpd_ratios" RatioTempFile "/restricted/proftpd_ratios_temp" CwdRatioMsg "Please upload first!" FileRatioErrMsg "FileRatio limit exceeded, upload something first..." ByteRatioErrMsg "ByteRatio limit exceeded, upload something first..." LeechRatioMsg "Your ratio is unlimited." </IfModule> <Limit LOGIN> AllowUser www AllowALL DenyALL </Limit> <Anonymous /var/ftp/> User iron Group root AnonRequirePassword off MaxClients 5 "The server is full, hosting %m users" DisplayLogin welcome.msg <Limit LOGIN> Allow from 192.168.0.2 Deny from all </Limit> AllowOverwrite on <Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD SITE_RMDIR SITE SITE_CHMOD SITE_CHGRP MTDM PWD XPWD SIZE STAT CWD XCWD CDUP XCUP > AllowAll </Limit> <Limit NOTHING > DenyAll </Limit> </Anonymous>


Пытаюсь стартовать фтп сервер:

Код: Выделить всё

ironnet:~# proftpd -n
localhost - Failed binding to 0.0.0.0, port 21: Address already in use
localhost - Check the ServerType directive to ensure you are configured correctly.

или

Код: Выделить всё

ironnet:~# /etc/init.d/proftpd
-bash: /etc/init.d/proftpd: Too many levels of symbolic links



Ну и напоследок правила фаервола:

Код: Выделить всё

ironnet:~# iptables-save
# Generated by iptables-save v1.3.6 on Wed May 28 14:48:33 2008
*filter
:INPUT ACCEPT [10653081:1391043216]
:FORWARD ACCEPT [1307538:1109281053]
:OUTPUT ACCEPT [483619:416990820]
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j DROP
-A INPUT -i ppp0 -p tcp -m tcp --dport 22 -j DROP
-A INPUT -i ppp0 -p tcp -m tcp --dport 80 -m state --state NEW -j DROP
-A INPUT -i eth1 -p tcp -m tcp --dport 113 -j DROP
-A INPUT -i ppp0 -p tcp -m tcp --dport 113 -j DROP
COMMIT
# Completed on Wed May 28 14:48:34 2008
# Generated by iptables-save v1.3.6 on Wed May 28 14:48:34 2008
*nat
:PREROUTING ACCEPT [2413016:419434234]
:POSTROUTING ACCEPT [445:61546]
:OUTPUT ACCEPT [98:5924]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 55793 -j DNAT --to-destination 192.168.0.2
-A PREROUTING -i eth1 -p udp -m udp --dport 52583 -j DNAT --to-destination 192.168.0.2
-A PREROUTING -i eth1 -p tcp -m tcp --dport 55799 -j DNAT --to-destination 192.168.1.2
-A PREROUTING -i eth1 -p udp -m udp --dport 52584 -j DNAT --to-destination 192.168.1.2
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -o ppp0 -j MASQUERADE
COMMIT
# Completed on Wed May 28 14:48:34 2008


Вопрос очень простой. Как поставить фтп, чтобы у меня был полный доступ к корневому разделу?
Спасибо сказали:
Аватара пользователя
drujebober
Сообщения: 179
ОС: Debian GNU/Linux lenny

Re: Поднятие FTP

Сообщение drujebober »

мм… как вариант поставить vsftp из репозитария, там, если не ошибаюсь с дефолтным конфигом можно заходить как root@domain.com, да и, как по мне, конфиг там попроще.

зы: и вообще это
localhost - Failed binding to 0.0.0.0, port 21: Address already in use
говорит о том что у тебя уже что то висит на 21 порту.

Код: Выделить всё

netstat -tupl
Спасибо сказали:
Аватара пользователя
*Sasha*
Сообщения: 2519
Статус: Мимо шёл
ОС: Debian

Re: Поднятие FTP

Сообщение *Sasha* »

drujebober писал(а):
28.05.2008 15:40
мм… как вариант поставить vsftp из репозитария, там, если не ошибаюсь с дефолтным конфигом можно заходить как root@domain.com

proftpd тоже есть в репозитории и он тоже работает с дефолтным конфигом, непонятно зачем автор компилял
Спасибо сказали:
Аватара пользователя
SlipKnoT8
Сообщения: 91
ОС: Debian lenny, Arch

Re: Поднятие FTP

Сообщение SlipKnoT8 »

Я свой конфиг выложу. В incoming все могут писать, создавать папки, не могут переименовывать и удалять. В pub можно только читать.
Пользователи только anonymous.

Код:

Debian:/etc/proftpd# cat proftpd.conf # # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes reload proftpd after modifications. # # Includes DSO modules Include /etc/proftpd/modules.conf # Set off to disable IPv6 support which is annoying on IPv4 only boxes. UseIPv6 off ServerName "Debian" ServerType standalone DeferWelcome off MultilineRFC2228 on DefaultServer on ShowSymlinks on TimeoutNoTransfer 600 TimeoutStalled 600 TimeoutIdle 1200 DisplayLogin welcome.msg DisplayChdir .message ListOptions "-l" DenyFilter \*.*/ # Port 21 is the standard FTP port. Port 21 # In some cases you have to specify passive ports range to by-pass # firewall limitations. Ephemeral ports can be used for that, but # feel free to use a more narrow range. PassivePorts 65534 65535 # To prevent DoS attacks, set the maximum number of child processes # to 30. If you need to allow more than 30 concurrent connections # at once, simply increase this value. Note that this ONLY works # 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 that the server normally runs at. User proftpd Group nogroup # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 # Normally, we want files to be overwriteable. AllowOverwrite on # Uncomment this if you are using NIS or LDAP to retrieve passwords: # PersistentPasswd off # Be warned: use of this directive impacts CPU average load! # # Uncomment this if you like to see progress and transfer rate with ftpwho # in downloads. That is not needed for uploads rates. # UseSendFile off TransferLog /var/log/proftpd/xferlog SystemLog /var/log/proftpd/proftpd.log <IfModule mod_tls.c> TLSEngine off </IfModule> <IfModule mod_quota.c> QuotaEngine on </IfModule> <IfModule mod_ratio.c> Ratios on </IfModule> # Delay engine reduces impact of the so-called Timing Attack described in # http://security.lss.hr/index.php?page=deta...=LSS-2004-10-02 # It is on by default. <IfModule mod_delay.c> DelayEngine on </IfModule> <IfModule mod_ctrls.c> ControlsEngine on ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule> <IfModule mod_ctrls_admin.c> AdminControlsEngine on </IfModule> # A basic anonymous configuration, no upload directories. <Anonymous /var/ftp/> User ftp Group nogroup # We want clients to be able to login with "anonymous" as well as "ftp" UserAlias anonymous ftp # Cosmetic changes, all files belongs to ftp user DirFakeUser on ftp DirFakeGroup on ftp RequireValidShell off # 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 DisplayFirstChdir .message # Limit WRITE everywhere in the anonymous chroot <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> # Uncomment this if you're brave. <Directory incoming> # Umask 022 is a good standard umask to prevent new files and dirs # (second parm) from being group and world writable. Umask 022 022 <Limit WRITE STOR> AllowAll </Limit> <Limit WRITE DELE> Order deny,allow AllowUser ftpadmin </Limit> <Limit WRITE MKD> AllowAll </Limit> <Limit WRITE RNTO> Order deny,allow AllowUser ftpadmin </Limit> </Directory> </Anonymous>
Спасибо сказали:
-IRON-
Сообщения: 51
ОС: Suse Linux 10.3

Re: Поднятие FTP

Сообщение -IRON- »

Не, с дефолтным не работает.
Ругается на ipv6.

Код: Выделить всё

ironnet:~# netstat -tupl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State                                PID/Program name
tcp        0      0 localhost:mysql         *:*                     LISTEN     2                         517/mysqld
tcp        0      0 *:www                   *:*                     LISTEN     2                         836/apache
tcp        0      0 *:auth                  *:*                     LISTEN     2                         736/inetd
tcp        0      0 *:ftp                   *:*                     LISTEN     2                         736/inetd
tcp6       0      0 *:ssh                   *:*                     LISTEN     2                         800/sshd

Хм... что бы это могло значить и как это поправить?
Спасибо сказали:
-IRON-
Сообщения: 51
ОС: Suse Linux 10.3

Re: Поднятие FTP

Сообщение -IRON- »

Все, во всем разобрался, фтп поднял. Причина выше, решилось закомментированием строки фтп в конфиге inetd.
Вопрос теперь только такой:
Как можно входить под учеткой root, чтобы иметь все права на все папки/файлы сервера?
Исключил root из файла /etc/ftpusers, в конфиг дописал RootLogin on, но зайти по-прежнему не могу. ошибка помоему 530, неверный логин/пароль.
Спасибо сказали:
-IRON-
Сообщения: 51
ОС: Suse Linux 10.3

Re: Поднятие FTP

Сообщение -IRON- »

Эта проблема уже решена. Сказали, что под рутом не пустит никогда.
Создал пользователя, наделил его правами на папку /var/www/, chmod проходит, если залогиниться под этим юзером. Но если заходить под этим же юзером на фтп, то при попытке смены прав вылезает:

Код: Выделить всё

COMMAND:> SITE chmod 644 /var/www/111
          550 chmod 644 /var/www/111: No such file or directory

В конфиге прописано:

Код:

ironnet:~# cat /etc/proftpd.conf ServerType standalone DefaultServer on Umask 022 ServerName "0.0.0.0" ServerIdent on "My FTPD" RootLogin on ServerAdmin Admin@this.domain.topdomain IdentLookups off UseReverseDNS off Port 21 PassivePorts 49152 65534 #MasqueradeAddress None TimesGMT off MaxInstances 30 MaxLoginAttempts 3 TimeoutLogin 300 TimeoutNoTransfer 120 TimeoutIdle 120 DisplayLogin welcome.msg User nobody Group nobody DirFakeUser off nobody DirFakeGroup off nobody DefaultTransferMode binary AllowForeignAddress off AllowRetrieveRestart on AllowStoreRestart on DeleteAbortedStores off TransferRate RETR 30 TransferRate STOR 40 TransferRate STOU 40 TransferRate APPE 40 SystemLog /usr/local/var/proftpd/secure RequireValidShell off #gp_random_username_length 6 #gp_random_password_length 6 #gp_randomize_case lower #gp_useradd_homedir_path /var/ftp #gp_html_path /var/www/html/ftp.htm #gp_welcome_name welcome.msg <IfModule mod_tls.c> TLSEngine off TLSRequired off TLSVerifyClient off TLSProtocol TLSv1 TLSLog /usr/local/var/log/proftpd_tls.log TLSRSACertificateFile /etc/gadmin-proftpd/gadmin-proftpd.pem </IfModule> <IfModule mod_ratio.c> Ratios off SaveRatios off RatioFile "/restricted/proftpd_ratios" RatioTempFile "/restricted/proftpd_ratios_temp" CwdRatioMsg "Please upload first!" FileRatioErrMsg "FileRatio limit exceeded, upload something first..." ByteRatioErrMsg "ByteRatio limit exceeded, upload something first..." LeechRatioMsg "Your ratio is unlimited." </IfModule> <Limit LOGIN> AllowUser www AllowALL DenyALL </Limit> <Anonymous /var/www/> User iron Group root AnonRequirePassword off MaxClients 5 "The server is full, hosting %m users" DisplayLogin welcome.msg <Limit LOGIN> Allow from 192.168.0.2 Deny from all </Limit> AllowOverwrite on <Limit LIST NLST STOR STOU APPE RETR RNFR RNTO DELE MKD XMKD SITE_MKDIR RMD XRMD SITE_RMDIR SITE SITE_CHMOD SITE_CHGRP MTDM PWD XPWD SIZE STAT CWD XCWD CDUP XCUP > AllowAll </Limit> <Limit NOTHING > DenyAll </Limit> </Anonymous>

Вроде как все права, однако не получается.
P.S: Может, тему стоит перенести в администрирование?
Спасибо сказали: