ftp сервер vsftpd - 530 ошибка при попытках войти
GNU/Linux, UNIX, Open Source → Программное обеспечение
Нужно было сделать ftp сервер на SLES 10.2 (SuSE).
Поставил ftp сервер vsftpd, идущий в дистрибутиве.
Нашел инструкцию, начал настраивать точно по ней.
Задача, ftp с аутентификацией по имя пользователя,пароль. Каждый польховтаель может работать только в своей папке.
Это мой первый ftp сервер, поэтому предпочитаю действовать по максимально подробной инструкции.
www.opennet.ru/base/net/vsftpd_fedora7.txt.html
Итак, все по шаг сделал, но не работает. При попытке входа, пишет, что ошибка — 530. Похоже, я ошибся при копировании файлов и прописывании библиотек. Файрволл пока отключен.
Я делал так.
1. Установил vsftpd и нашел папку с примерами его конфигурации (EXAMPLE/VIRTUAL_USERS).
2. Вот тут я похоже не так понял.
«копируем необходимые файлы в нужные каталоги
vsftpd.pam /etc/pam.d/ftp»
Я должен создать папку ftp в /etc/pam.d/ и скопировать файл vsftpd.pam в
нее или должнен создать просто файл ftp и скопировать в него содержимое vsftpd.pam ? Я создал папку ftp и копировал файл в нее.
Дальше Скопировал файл logins.txt в папку vsftpd, и скопировал файл vsftpd.conf в папку vsftpd.
Далее все по инструкции.
Но в файле /etc/vsftpd/vsftpd.conf вместо
local_root=/data
я написал local_root=/srv/ftp/vsftpb (ественно ее сначла создав)
+ в скрипте для внесения пользователей
я написал db_load вместо db42_load (но скрипт работает, файл login.db создается в папке /etc/vsftpd/ ).
Тем не менее, — «530 this ftp server is anonymous only»
Возможно проблема в том, что нужно дописать в дистрибутивах x86_64 в /etc/pam.d/ftp нужны такие вот строки
auth required /lib64/security/pam_userdb.so crypt=none db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so crypt=none db=/etc/vsftpd/login
Но если ftp это папка, то куда именно это дописывать ?
И откуда взялось
«далее в /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login»
Помогите, плиз. Пардон за такой вопрос, но я Linux ровно 3 недели изучаю.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
Первая ссылка в google:
http://www.google.com/search?q=%22530+this+ftp+server+is+anonymous+only%22&ie=utf-8&oe=utf-8&aq=t&rls=org.debian:en:unofficial&client=iceweasel-a
там всего навсего о том, что нужно прописывать vsftpd в xinetd. Это я сделал. На сегодня ситуация такая.
1. Как написано, в инструкции 'виртуальные юзеры' -создаю базу данных пользователей из файла logins.txt базу vsftpd_logins.db
2. Пытаюсь создать PAM файл, похоже здесь я и ошибся. В папке etc/pam.d я создал файл ftp.
фот его содержимое.
ftp[codebox]# Uncomment this to achieve what used to be ftpd -A.
# auth required pam_listfile.so item=user sense=allow file=/etc/ftpchroot onerr=fail auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
# Uncomment the following line for anonymous ftp.
#auth sufficient auth required
auth required
account required password required session required
pam_ftp.so pam_unix2.so pam_shells.so pam_unix2.so pam_unix2.so pam unix2.so[/codebox]
Но файл etc/pam.d/vsftpd.pam я не удалил, а просто закоментировал в нем все строки.
3.Создал папку для виртуальных пользователей и сделал ее владельцем пользователя -virtual. Но вместо /home/ftpsite, написал /srv/ftp/vsftpd/
[codebox]Step 3) Set up the location of the files for the virtual users.
useradd -d /home/ftpsite virtual
Is -Id /home/ftpsite
(which should give):
drwx——— 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite
We have created a user called «virtual» with a home directory «/home/ftpsite». Let’s add some content to this download area:
cp /etc/hosts /home/ftpsite
chown virtual.virtual /horoe/ftpsite/hosts[/codebox]
4. Заменил оригинальный /etc/vsftpd.conf на
[codebox]anonymous_enable=NO
local_enable=YES
wr ite_enable=YES
anon_upload_enable=YES
anon_mkd i r_wr ite_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_usernaroe=virtual
listen=YES
listen_port=21
pasv_min_port=30000
pasv_max_port=30999
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
dirmessage_enable=YES
ftpd_banner=Welcoroe to Rost FTP[/codebox]
5. Сконфигурировал xinetd.
[codebox]If you are running xinetd, do the following:
Redhat users:
vi /etc/xinetd.d/vsftpd
# default: off
# description: The vsftpd FTP server serves FTP connections. It uses \
# normal, unencrypted usernames and passwords for authentication.
service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
nice = 10
}
Save and exit.
Now stop and restart xinetd…
/etc/rc.d/init.d/xinetd restart[/codebox]
Итого, пытаюсь подключится, ввожу логин, ввожу пароль и меня выкидывает — «Login incorrect».
Ну вот это уже совсем другая ошибка явно указывающая на проблемы с авторизацией.
Во-первых, что пишеться в лог?
Во-вторых, я в твоем конфиге не вижу вообще никаких намеков, на то как проводить авторизацию, как минимум там должен быть указан pam-модуль.
Почти доделал. Похоже осталось настроить права на доступ к файлам.
Вот фраза из логов клиента:
Статус: Соединение установлено, ожидание приглашения…
Ответ: 220 Wazzup
Команда: USER rost
Ответ: 331 Please specify the password.
Команда: PASS *****
Ответ: 530 Login incorrect.
При попытке анонимного подключения -
Статус: Соединение установлено, ожидание приглашения…
Ответ: 220 Wazzup
Команда: USER anonymous
Ответ: 331 Please specify the password.
Команда: PASS ************
Ответ: 500 OOPS: cannot change directory:/srv/ftp/ftp
Пробовал там тоже поставить 755 — не помогло.
Есть мысли как исправить? ¶
Вот мои конфиги -весят 25 килобайт.
slil.ru/26787617
Копия depositfiles.com/files/xmlt96u51@
Попробуй добавить.
userlist_enable=YES
У тебя действительно есть такой пользователь в системе?
И ещё у тебя в конфигах ^M встречается, скорее всего ты его правил под виндой, не думаю, что это может влиять, но мало ли.
это я уже добавил.
Было дело, гадости ^M были, но когда они были vsftpd не стартовал, ругался на строчки где они были. Я там все ручками почистил, теперь vsftpd стартует и перезапускается нормально, значит больше гадости там нет.
Вот последний конфиг, где все исправлено
http://slil.ru/26877960
ИМХО. дело с правами.
Т.к поменял права на доступ к :/srv/ftp/ftp на 400.
анонимные уже заходят, но нифига не видят там. Хотя файлы я туда положил.
Ответ: 227 Entering Passive Mode (192,168,0,150,213,52)
Команда: LIST -a
Ответ: 150 Here comes the directory listing.
Ответ: 226 Transfer done (but failed to open directory).
Пробовал все логичные варианты — 400 (dr), 740(drwxr), 750(drwxr-x)
эффект тот же. входит номально, но нифига не видно.
Может дело файле в файле /etc/ passwd
который сейчас выглядит
всякое разное
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
r2:x:500:500:r24:/home/r2:/bin/bash
vsftpd:x:502:501:vsftpd ftp user:/srv/ftp/chroot/empty:/bin/
всякое разное
Может стоит поменять x:502:501 на x:14:50 ?
Но что тогда делать с
/srv/ftp/ftp/ftpriv ?
Возможно, тут уж не подскажу. Анонимусы скорее всего не имеют прав на команду ls.
Да вроде нет.
В cmds_allowed=ABOR,ACCT,ALLO,APPE,CDUP,CWD,DELE,EPRT,EPSV,FEAT,HELP,LIST,MDTM,MKD,MODE,NLST,NOOP,OPTS,PASS,PASV,PORT,PWD,QUIT,REIN,REST,RETR,RMD,RNFR,RNTO,SITE,SIZE,SMNT,STAT,STOR,STOU,STRU,SYST,TYPE,USER,XCUP,XCWD,XMKD,XPWD,XRMD
По идее LIST — это она.
Убери listen=yes из конфига, ведь ты его запускаешь из под xinted.
Сейчас ситуация следующая -анонимные юзеры заходят без проблем.
После исправления прав на каталоги.
Но нормальные юзеры все еще зайти не могут. Все тоже — логин инкоррект.
+Логи не пишутся.
Про listen=yes -это все таки надо, т.к без этого — не стартует.
Логи уже пишутся, но в них ничего интересного нет.
Поставил vftpd таким же образом на CentOS.
Не прокатило. точно такая же фигня.
при этом pam работает. Вот мой текущий конфиг.
http://slil.ru/26997836
Кто нибудь может выслать заведомо рабочии конфиги с аутентификацией юзеров и ответить на вопросы, если они будут?
Попробуй использовать pam_service_name=login и залогиниться под реальным пользователем.
хм. Непомогло. Анонимные лазют, а нормальные фиг. Значит пам тут ни причем.
но в чем тогда может быть проблема?
Thu Feb 26 08:02:39 2009 [pid 14661] CONNECT: Client
«192.168.0.53»
Thu Feb 26 08:02:39 2009 [pid 14661] FTP response: Client
«192.168.0.53», «220 Wazzup»
Thu Feb 26 08:02:39 2009 [pid 14661] FTP command: Client
«192.168.0.53», «USER root»
Thu Feb 26 08:02:39 2009 [pid 14661] [root] FTP response:
Client «192.168.0.53», «331 Please specify the password.»
Thu Feb 26 08:02:39 2009 [pid 14661] [root] FTP command:
Client «192.168.0.53», «PASS »
Thu Feb 26 08:02:42 2009 [pid 14660] [root] FAIL LOGIN: Client
«192.168.0.53»
Thu Feb 26 08:02:43 2009 [pid 14661] [root] FTP response:
Client «192.168.0.53», «530 Login incorrect.»
root — это не удачная попытка, для него скорее всего нужна дополнительная опция попробуй обычного пользователя.