1

Проблема вот в чем, если запускать не демон, а собственно /usr/sbin/proftpd, то все работает с вот этим конфигом:

proftpd.conf:

# This is the ProFTPD configuration file
ServerName “ProFTPD server”
ServerType standalone
#ServerIdent on “FTP Server ready.”
#ServerAdmin root@testdomain
DefaultServer on

# Cause every FTP user except adm to be chrooted into their home directory
# Aliasing /etc/security/pam_env.conf into the chroot allows pam_env to
# work at session-end time (http://bugzilla.redhat.com/477120)
#VRootEngine on
DefaultRoot ~
#VRootAlias etc/security/pam_env.conf

DenyFilter \*.*/
# Use pam to authenticate (default) and be authoritative
AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c
# If you use NIS/YP/LDAP you may need to disable PersistentPasswd
#PersistentPasswd off
#AuthPAMAuthorative off
# Don’t do reverse DNS lookups (hangs on DNS problems)
UseReverseDNS off

Port 21

# Set the user and group that the server runs as
User nobody
Group nobody

MaxInstances 20
UseSendfile off

# Define the log formats
LogFormat default “%h %l %u %t \”%r\” %s %b”
LogFormat auth “%v [%P] %h %t \”%r\” %s”

TransferLog /var/log/proftpd/proftpd-transfer.log
SystemLog /var/log/proftpd/proftpd-error.log
#<IfDefine DYNAMIC_BAN_LISTS>
#LoadModule mod_ban.c
#BanEngine on
#BanLog /var/log/proftpd/ban.log
#BanTable /var/run/proftpd/ban.tab

# If the same client reaches the MaxLoginAttempts limit 2 times
# within 10 minutes, automatically add a ban for that client that
# will expire after one hour.
#BanOnEvent MaxLoginAttempts 2/00:10:00 01:00:00

# Allow the FTP admin to manually add/remove bans
#BanControlsACLs all allow user ftpadm
#</IfDefine>

<Global>

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable
Umask 022

# Don’t do ident queries (hangs when the port is filtered)
IdentLookups off

# Allow users to overwrite files and change permissions
AllowOverwrite yes
<Limit ALL SITE_CHMOD>
Allow all
</Limit>
</Global>

Но стоит запустить его через service proftpd start выдает следующее

fatum@fatum-laptop:~$ ftp 192.168.56.3
Connected to 192.168.56.3.
220 ProFTPD 1.3.2 Server (“ProFTPD) [::ffff:192.168.56.3]
Name (192.168.56.3:fatum): fatum
331 Password required for fatum
Password:
530 Login incorrect.
Login failed.
421 Service not available, remote server has closed connection
ftp> 

Отсюда сделал вывод, что через service используется еще какой-то механизм запуска. из-за которого proftpd не видит пользователей, но вот какой... Помогите, очень прошу.

На ошибки в proftpd.conf реагирует как /usr/sbin/proftpd (пишет в какой строке ошибка), так и service proftpd start (пишет сбой). Этот конфиг - правильный. Его принимает без ошибок как /usr/sbin/proftpd/ так и service proftpd start, но законнектится при запуске через service proftpd start я так и не могу  ac

2

Ошибки при запуске через service есть какие-нибудь?
Запуская просто бинарник, Вы запускаете сервер от имени пользователя root, при запуске через service он запускается от nobody:nobody
Показывайте настройки PAM и рассказывайте точно, что и как настраивали вместе с конфигами

3

Кстати, если запускать просто бинарник пользователем можно зайти?
По идее, он должен тоже не пускать.

4 (03.09.2010 13:13:23 отредактировано xxfatumxx)

В том-то и беда, через бинарник он пускает без проблем, как я и писал.

Вот настройки /etc/pam.d/proftpd

#%PAM-1.0
auth       required    pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth       required    pam_stack.so service=system-auth
auth       required    pam_shells.so
account    required    pam_stack.so service=system-auth
session    required    pam_stack.so service=system-auth

Логи пустые, точнее в них пишется все тот же Login incorrect. Да, кстати, через service не пускает не только пользователя fatum, но и анонима, и вообще кого-угодно.
В ftpusers закомментировал nobody - не помогло, расскомментировал обратно.

Плюс вот что выдает lsof при запуске с бинарника

 Консоль:
[root@centosserver pam.d]# proftpd -d 10
- using TCP receive buffer size of 87380 bytes
- using TCP send buffer size of 16384 bytes
- testing Unix domain socket using S_ISFIFO
- testing Unix domain socket using S_ISSOCK
- using S_ISSOCK macro for Unix domain socket detection
- mod_tls/2.2.1: using OpenSSL 0.9.8b 04 May 2006
- DenyFilter: compiling deny regex '\*.*/'
- retrieved UID 99 for user 'nobody'
- retrieved GID 99 for group 'nobody'
centosserver.testdomain -
centosserver.testdomain - Config for “ProFTPD:
centosserver.testdomain - DefaultServer
centosserver.testdomain - DefaultRoot
centosserver.testdomain - DenyFilter
centosserver.testdomain - AuthPAMConfig
centosserver.testdomain - AuthOrder
centosserver.testdomain - UserID
centosserver.testdomain - UserName
centosserver.testdomain - GroupID
centosserver.testdomain - GroupName
centosserver.testdomain - UseSendfile
centosserver.testdomain - TransferLog
centosserver.testdomain - Limit
centosserver.testdomain -  Allow
centosserver.testdomain - Umask
centosserver.testdomain - IdentLookups
centosserver.testdomain - IdentLookups
centosserver.testdomain - AllowOverwrite
centosserver.testdomain - ROOT PRIVS at mod_delay.c:307
centosserver.testdomain - RELINQUISH PRIVS at mod_delay.c:309
centosserver.testdomain - ROOT PRIVS at mod_ctrls.c:1504
centosserver.testdomain - RELINQUISH PRIVS at mod_ctrls.c:1506
centosserver.testdomain - retrieved group ID: 99
centosserver.testdomain - setting group ID: 99
centosserver.testdomain - SETUP PRIVS at main.c:3002
centosserver.testdomain - ROOT PRIVS at main.c:2112
centosserver.testdomain - RELINQUISH PRIVS at main.c:2119
[root@centosserver pam.d]# lsof -i -P
COMMAND    PID   USER   FD   TYPE DEVICE SIZE NODE NAME
dhclient  1610   root    4u  IPv4   6250       UDP *:68
portmap   1867    rpc    3u  IPv4   6768       UDP *:111
portmap   1867    rpc    4u  IPv4   6769       TCP *:111 (LISTEN)
rpc.statd 1903   root    3u  IPv4   6912       UDP *:810
rpc.statd 1903   root    6u  IPv4   6885       UDP *:807
rpc.statd 1903   root    7u  IPv4   6915       TCP *:813 (LISTEN)
sshd      2116   root    3u  IPv6   8231       TCP *:22 (LISTEN)
cupsd     2149   root    4u  IPv4   8311       TCP centosserver.testdomain:631 (LISTEN)
cupsd     2149   root    6u  IPv4   8314       UDP *:631
mysqld    2239  mysql   10u  IPv4   8441       TCP *:3306 (LISTEN)
mysqld    2239  mysql   29u  IPv4  11353       TCP 192.168.56.3:39851->fatum-laptop.testdomain:3306 (ESTABLISHED)
sendmail  2296   root    4u  IPv4   8617       TCP centosserver.testdomain:25 (LISTEN)
httpd     2333   root    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2357 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2358 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2359 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2360 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2361 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2367 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2368 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2369 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
avahi-dae 2432  avahi   13u  IPv4   9152       UDP *:5353
avahi-dae 2432  avahi   14u  IPv6   9153       UDP *:5353
avahi-dae 2432  avahi   15u  IPv4   9154       UDP *:35470
avahi-dae 2432  avahi   16u  IPv6   9155       UDP *:33474
sshd      2523   root    3u  IPv6   9642       TCP 192.168.56.3:22->fatum-laptop.testdomain:43446 (ESTABLISHED)
sshd      2525  fatum    3u  IPv6   9642       TCP 192.168.56.3:22->fatum-laptop.testdomain:43446 (ESTABLISHED)
mc        3332   root    5u  IPv4  11433       TCP 192.168.56.3:38180->fatum-laptop.testdomain:21 (ESTABLISHED)
proftpd   3384 nobody    0u  IPv6  12360       TCP *:21 (LISTEN)

И вот что при запуске с service

 Консоль:
[root@centosserver pam.d]# service proftpd start
Запускается proftpd:                                       [  OK  ]
[root@centosserver pam.d]# lsof -i -P
COMMAND    PID   USER   FD   TYPE DEVICE SIZE NODE NAME
dhclient  1610   root    4u  IPv4   6250       UDP *:68
portmap   1867    rpc    3u  IPv4   6768       UDP *:111
portmap   1867    rpc    4u  IPv4   6769       TCP *:111 (LISTEN)
rpc.statd 1903   root    3u  IPv4   6912       UDP *:810
rpc.statd 1903   root    6u  IPv4   6885       UDP *:807
rpc.statd 1903   root    7u  IPv4   6915       TCP *:813 (LISTEN)
sshd      2116   root    3u  IPv6   8231       TCP *:22 (LISTEN)
cupsd     2149   root    4u  IPv4   8311       TCP centosserver.testdomain:631 (LISTEN)
cupsd     2149   root    6u  IPv4   8314       UDP *:631
mysqld    2239  mysql   10u  IPv4   8441       TCP *:3306 (LISTEN)
mysqld    2239  mysql   29u  IPv4  11353       TCP 192.168.56.3:39851->fatum-laptop.testdomain:3306 (ESTABLISHED)
sendmail  2296   root    4u  IPv4   8617       TCP centosserver.testdomain:25 (LISTEN)
httpd     2333   root    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2357 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2358 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2359 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2360 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2361 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2367 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2368 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
httpd     2369 apache    3u  IPv6   8703       TCP *:80 (LISTEN)
avahi-dae 2432  avahi   13u  IPv4   9152       UDP *:5353
avahi-dae 2432  avahi   14u  IPv6   9153       UDP *:5353
avahi-dae 2432  avahi   15u  IPv4   9154       UDP *:35470
avahi-dae 2432  avahi   16u  IPv6   9155       UDP *:33474
sshd      2523   root    3u  IPv6   9642       TCP 192.168.56.3:22->fatum-laptop.testdomain:43446 (ESTABLISHED)
sshd      2525  fatum    3u  IPv6   9642       TCP 192.168.56.3:22->fatum-laptop.testdomain:43446 (ESTABLISHED)
mc        3332   root    5u  IPv4  11433       TCP 192.168.56.3:38180->fatum-laptop.testdomain:21 (ESTABLISHED)
proftpd   3401 nobody    0u  IPv6  12439       TCP *:21 (LISTEN)

Как видно пользователь один и тот же - nobody

На счет того, что и как:

proftpd ставил из RPMForge. Конфиг копипастил (но потом изменял) отсюда http://www.f1.kz/?page_id=730 пользователь fatum был прописан в группах wheel и nobody, так все. Дальше родилась проблема и с ней занимаюсь любовью уже четвертые сутки.

5

Вы каким пользователем зайти пытаетесь? Точнее, он в /etc/passwd присутствует?

6

Конечно, из настроек видно, что аутентификация идет через PAM

собственно вот /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
nscd:x:28:28:NSCD Daemon:/:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
pcap:x:77:77::/var/arpwatch:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
avahi:x:70:70:Avahi daemon:/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
fatum:x:500:500::/home/fatum:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin

7

Если у Вас пользователи системные, зачем Вам PAM? ProFTPd по умолчанию работает с системными пользователями

8

А если все же хотите через PAM - настраивайте /etc/pam.d/proftpd

9

Кстати, SELinux включен у Вас?

10 (03.09.2010 13:25:56 отредактировано xxfatumxx)

Указывая на то, что аутентификация идет через PAM, я хотел сказать, чтоидет именно через PAM, а не через MySQL или LDAP  wink
То, что практически все ftp-серверы работают c системными пользователями по умолчанию я и так знаю. Вопрос в том, почему он с ними не хочет работать через service?

Да, включен.

11

Судя по тому, что при запуске бинарника пускает и анонимусов, то в таком случае ему пофигу на Ваш конфиг просто. Поэтому смотрите, что я написал выше.
Посему, или настраивайте PAM, или убирайте из конфига:

AuthPAMConfig proftpd
AuthOrder mod_auth_pam.c* mod_auth_unix.c

12

Нет, нет, нет, при данной настройке анонимусов он не пускает и как я писал выше, реагируют на конфиг как бинарник, так и демон.

А вот на счет последнего сейчас попробуем ab

13

Та же борода, разве что ответ немного поменялся

 Консоль:
fatum@fatum-laptop:~$ ftp 192.168.56.3
Connected to 192.168.56.3.
220 ProFTPD 1.3.2 Server (“ProFTPD) [::ffff:192.168.56.3]
Name (192.168.56.3:fatum): fatum
331 Password required for fatum
Password:
530 Login incorrect.
Login failed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

14

А Вы уверены, что не зашли при этом? ls выдает что-нибудь?

15

 Консоль:
ftp> ls
530 Please login with USER and PASS
ftp: bind: Address already in use
ftp>

Судя по ответу сервера - нет smile

16

А что насчет SELinux?

17 (03.09.2010 13:53:46 отредактировано xxfatumxx)

/etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#    enforcing - SELinux security policy is enforced.
#    permissive - SELinux prints warnings instead of enforcing.
#    disabled - SELinux is fully disabled.
SELINUX=enforcing
# SELINUXTYPE= type of policy in use. Possible values are:
#    targeted - Only targeted network daemons are protected.
#    strict - Full SELinux protection.
SELINUXTYPE=targeted

Может его вырубить?

18

Попробуйте. У многих проблемы из-за него

19

Не помогло :wall:

20

Попробуйте этот конфиг:

ServerName                      "default"
ServerType                      standalone
DefaultServer                   on
ScoreboardFile          /var/run/proftpd/proftpd.scoreboard
Port                            21
Umask                           022
MaxInstances                    30
CommandBufferSize       512
User                            nobody
Group                           nobody
AllowOverwrite          on
DefaultRoot ~

по минимуму

21

Дело явно не в proftpd. Конфиг скушался на ура без единой ошибки, но результат тот же - Login incorrect

22

конфиг будет кушаться в любом случае, если нет серьезных ошибок... например, орфографичечкие ошибки врезультате которых сервер просто не сможет определить указанный параметр или опцию... поэтому отсутствие ругани при запуске ни о чем не говорит, поскольку сервер не может проверить правильность, например, параметров авторизации

23

если ничего не поможет, то можно пойти таким путем:
1. снести proftpd
2. снести конфиги
3. поставить proftpd с репозитория EPEL
4. использовать стандартный конфиг с минимумом исправлений (только самое необходимое)

24

Последнее хоть и радикальное решение, но помогло. Стало быть проблема была именно с конфигом - что-то он не учитывал. Вот только что, я так и не понял ac

Плюсую вашу репутацию, спасибо.

25

Может быть не только с конфигом. но и с самим бинарником. Я все же предпочитаю пользоваться репозиториями, которые если и не успели стать стандартными для дистрибутива, но очень скоро ими станут. EPEL полностью совместим по пакетам со стандартными репами CentOS. О RPMforge такого сказать нельзя.
Но это так, лирика. ab

Помогло и хорошо.

26

Вы, это, далеко не уходите  smile Я хоть и не совсем новичек в *nix'ах как таковых, но однозначный новичек в Rad Hat-дистрибутивах. Так что вопросы еще наверняка будут. Еще раз спасибо.

27

Я уезжаю на неделю ab

Так что появлюсь только 11-12 числа.