Ребята помогите поднять vsftpd
Система: Gentoo Linux
Есть сайт валяющийся в /var/www.
Настроен анонимный Фтп на /home/ftp
Есть юзер anton который должен колупать в /var/www сайт.
конфиг vsftpd:
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=117
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
chown_username=ftp
ascii_upload_enable=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
ftpd_banner=Welcome to IRON's s FTP server.
chroot_local_user=YES
background=YES
ilisten=YES
anon_root=/home/ftp
Анонимусы спокойно залазят на сервер, а вот зарегестрированый юзер - неможет :(
Name (192.168.15.254:iron): anton
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.
я уже насколько раз менял пароль на юзера anton, и тоже самое...
GHost vsftpd # cat /etc/passwd | grep anton
anton:x:5902:100::/var/www:/dev/null
То есть при входе anton должен chroot-тится в /var/www
ЗЫ: Тока не отправляйте в Гугль...ниче толкового не нашел
Хм-м заглянул в /usr/share/doc/vsftpd/FAQ.gz (Debian)
Q) Help! Local users cannot log in.
A) There are various possible problems.
A1) By default, vsftpd disables any logins other than anonymous logins. Put
local_enable=YES in your /etc/vsftpd.conf to allow local users to log in.
A2) vsftpd tries to link with PAM. (Run "ldd vsftpd" and look for libpam to
find out whether this has happened or not). If vsftpd links with PAM, then
you will need to have a PAM file installed for the vsftpd service. There is
a sample one for RedHat systems included in the "RedHat" directory - put it
under /etc/pam.d
A3) If vsftpd didn't link with PAM, then there are various possible issues. Is
the user's shell in /etc/shells? If you have shadowed passwords, does your
system have a "shadow.h" file in the include path?
A4) If you are not using PAM, then vsftpd will do its own check for a valid
user shell in /etc/shells. You may need to disable this if you use an invalid
shell to disable logins other than FTP logins. Put check_shell=NO in your
/etc/vsftpd.conf.
Я не понял смысла этого cat /etc/vsftpd*
Вообще /etc/vsftpd - это дериктория. /etc/vsftpd/vsftpd.conf - валяется когфиг.
у меня не /etc/ftpusers а /etc/vsftpd/ftpusers..
halt
operator
root
shutdown
sync
bin
daemon
adm
lp
mail
postmaster
news
uucp
man
games
at
cron
man
games
at
cron
www
named
squid
gdm
mysql
postgres
guest
nobody
alias
qmaild
qmaill
qmailp
qmailq
qmailr
qmails
postfix
anton
cat /etc/pam.d/vsftpd
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_shells.so
account required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
Ой сорри....я торможу :(
Нада было выбросить anton из /etc/vsftpd/ftpusers
Как я заметил, что если я не пропишу в passwd шел для юзера, то vsftpd его не пускает :(
А меня не хочется чтоб юзар зазил по ssh :(
check_shell=NO - ничего не дает...как тольлько юзеру замесь /bin/bash приписываю /dev/null или /bin/false, то юзера не пускает....:((