Титла: Vsftpd Публикувано от: atanasov75 в Dec 16, 2006, 21:18 Здравейте, без проблеми си пускам vsftpd, но не мога да вляза като друг потребител освен anonymous.
Ето и конфигурационния ми файл: # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd/chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive. listen=YES # # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 # sockets, you must run two copies of vsftpd whith two configuration files. # Make sure, that one of the listen options is commented !! #listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES Направил съм всичко по правилата на изкуството LINUX oбаче не работи както описват в man vsftpd.conf Mоля за сламка за потъващия!!!! Титла: Vsftpd Публикувано от: Bogo в Dec 17, 2006, 02:41 направи потребител с adduser
Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 17:36 Разбира се, че съм направил user с adduser, но не работи!?
Това е грешката, която получавам от browser-a: 500 OOPS: cannot change directory:/home/ftpuser 500 OOPS: child died А има такава директория с подходящите права! Просто съм в шах! Титла: Vsftpd Публикувано от: dad в Dec 17, 2006, 18:23
Когато тази опция е зададена, сървърът се опитва да зареди файл с юзъри, който няй-вероятно нямаш. Или я махни, или си направи съответния файл. И имай предвид, че при тази конфигурация, юзърите от въпросния файл(vsftpd.user_list по подразбиране) НЯМА да имат достъп до сървъра. Ако искаш да бъде обратното, трябва да зададеш директива:
Тогава само потребителите, изредени във файла, ще имат достъп. Успех Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 21:51 Благодаря за отговора, но съвета Ви не ми помогна.
Промених по няколко начина файла - vsftpd.conf 1) Махнах опцията userlist_enable=YES и сложих userlist_deny=NO като и създадох файл vsftpd.user_list в който си написах user-a за който искам да има достъп до ftp 2) Сложих опцията userlist_enable=NO, а всичко останало е същото 3) Има файл само user_list и в него си написах името на user-a И по двата начина няма ефект! Моля за помощ! Титла: Vsftpd Публикувано от: dad в Dec 17, 2006, 22:13 Може да не съм се изразил съвсем добре...Исках да предложа следните варианти:
1. Махаш директивата userlist_enable или слагаш NO. 2. Оствяш я YES и в vsftpd.user_list файла изброяваш потребителите, които НЕ искаш да имат достъп. 3. Оставяш userlist_enable=Yes , добавяш userlist_deny=NO и в гореспоменатия файл изброяваш потребителите, които трябва да имат достъп. Aко имаш доверие на всички потребители , избери първия вариант. Ако нямаш и държиш на сигурността, има още доста неща, които е добре да промениш в конфигурацията - chroot-ване на потребителите, права за писане, промяна на собственост на ъплоадите и т.н. Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 22:19 Вероятно има грешка... сигурно не за dhcpd.user_list става въпрос а за vsftpd.user_list !
Иначе махнах юзера си от този файл (vsftpd.user_list) , пробвах това което прочетох от Вас, обаче пак не става Титла: Vsftpd Публикувано от: dad в Dec 17, 2006, 22:29 Извинявам се, vsftpd.user_list , разбира се)
Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 22:31 # Example config file /etc/vsftpd/vsftpd.conf
# # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=YES # # Uncomment this to allow local users to log in. local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/vsftpd.log # # If you want, you can have your log file in standard ftpd xferlog format xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd/chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive. listen=YES # # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6 # sockets, you must run two copies of vsftpd whith two configuration files. # Make sure, that one of the listen options is commented !! #listen_ipv6=YES pam_service_name=vsftpd userlist_enable=NO tcp_wrappers=YES userlist_deny=YES А това е другият файл: # vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. root bin daemon adm lp sync shutdown halt news uucp operator games nobody А моя user е ftpuser , който не присъства в този файл Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 22:33 Вероятно проблема е някъде другаде!?
Титла: Vsftpd Публикувано от: dad в Dec 17, 2006, 22:38 Махни или коментирай userlist_enable и userlist_deny и виж дали работи. Пробвай да се логнеш от конзолата, за да видиш съобщенията:
Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 22:44 Направих това което казвате и получих следното:
ftp localhost Connected to localhost.localdomain. 220 (vsFTPd 2.0.5) 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (localhost:naso): ftpuser 331 Please specify the password. Password: 500 OOPS: cannot change directory:/home/ftpuser Login failed. 421 Service not available, remote server has closed connection ftp> Пробвах и това, което е същото: ftp ftpuser@localhost ftp: ftpuser@localhost: unknown host ftp> Титла: Vsftpd Публикувано от: dad в Dec 17, 2006, 22:52 Хм...Не виждам причина, казваш, че юзърът фигурира в системата...Между другото, забравих, че при Федората конфигурациаонният файл е /etc/vsftpd/vsftd.conf , а вече многоспоменатият файл трябва да бъде /etc/vsftpd.user_list. Понеже при мен и двете са в /etc.
Пробвах с твоя конфигурационен файл и нещата са наред... Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 22:59 Да user-a съществува логвам се със (su - ftpuser) без проблем, пробвах и с други user-и все едно й също. Файловете са си там където трябва.
Мен ме притеснява ето този ред: pam_service_name=vsftpd Там пробвах да го коригирам така: pam_service_name=passwd Като внимавах в /etc/passwd да си има /home/ftpuser:/bin/bash Обаче и така ударих на камък Титла: Vsftpd Публикувано от: dad в Dec 17, 2006, 23:04 Нали юзерът, с който опитваш си има home директория със съответните права? Защото такова съобщение се получава, когато няма.
Титла: Vsftpd Публикувано от: dad в Dec 17, 2006, 23:25 Като правиш промените в конфигурацията, нали не забравяш да рестартираш сървъра?
Понеже пробвах първия файл, който си дал и работи, направи всичко наново: Върни vsftpd.conf в първоначалното положение, както си го дал, като промени userlist_enable=NO и махни tcp_wrappers. Създай потребител:
Трябва да тръгне) Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 23:40 Направих всичко по написаните правила. Разбира се, че рестартирам всеки път vsftpd щом променя файла, но няма ефект.
Сериозно се закучиха нещата... Как така при вас тръгва, а при мен не!? Титла: Vsftpd Публикувано от: dad в Dec 17, 2006, 23:53 Не знам Случва се, когато зацикли човек, аз също зациклих. Понякога разковничето е съвсем малко, но не се вижда и в такива случаи май е по-добре да спре човек за малко
Изчакай някой по-компетентен да се изкаже, успех Титла: Vsftpd Публикувано от: atanasov75 в Dec 17, 2006, 23:56 Благодаря за отделеното време!
Аз сам без никакви проблеми си настроих vsftp под Fedora5, но сега незнам защо има проблеми!? Пробвах да върна една версия назад на vsftpd, в случая 2.0.4 , но проблема си остана Титла: Vsftpd Публикувано от: Hapkoc в Dec 18, 2006, 01:22 Лог файловете са от голяма помощ при проблеми с демоните. :)
Титла: Vsftpd Публикувано от: atanasov75 в Dec 19, 2006, 00:04 log файла е празен...
Просто съм в шок! Титла: Vsftpd Публикувано от: Hapkoc в Dec 19, 2006, 00:11 А във /var/log/auth.log?
Титла: Vsftpd Публикувано от: atanasov75 в Dec 19, 2006, 00:14 няма такъв файл при мен :-(
Титла: Vsftpd Публикувано от: atanasov75 в Dec 19, 2006, 00:15 директорията /var/log
-rw-r----- 1 root root 7480 18 дек 17,37 acpid -rw------- 1 root root 156327 12 дек 18,21 anaconda.log -rw------- 1 root root 20351 12 дек 18,21 anaconda.syslog -rw------- 1 root root 55410 12 дек 18,21 anaconda.xlog drwxr-xr-x 2 torrent torrent 4096 29 авг 12,36 bittorrent -rw------- 1 root root 0 12 дек 18,23 boot.log -rw------- 1 root utmp 0 14 дек 19,44 btmp -rw------- 1 root root 7298 19 дек 0,01 cron drwxr-xr-x 2 lp sys 4096 22 ное 14,17 cups -rw-r--r-- 1 root root 15931 18 дек 17,37 dmesg drwxr-xr-x 2 root root 4096 18 дек 17,37 gdm drwx------ 2 root root 4096 13 дек 22,32 httpd -rw-r--r-- 1 root root 147460 18 дек 17,42 lastlog drwxr-xr-x 2 root root 4096 12 дек 17,59 mail -rw------- 1 root root 7437 18 дек 17,37 maillog -rw------- 1 root root 670646 19 дек 0,13 messages drwx------ 2 root root 4096 1 дек 14,51 ppp drwxr-xr-x 2 root root 4096 12 дек 19,41 prelink -rw-r--r-- 1 root root 29980 13 дек 21,28 rpmpkgs drwx------ 2 root root 4096 2 сеп 5,59 samba -rw-r--r-- 1 root root 169763 14 дек 20,18 scrollkeeper.log -rw------- 1 root root 32577 19 дек 0,12 secure -rw------- 1 root root 0 12 дек 17,59 spooler drwxr-x--- 2 squid squid 4096 12 дек 11,35 squid -rw------- 1 root root 0 16 дек 20,01 vsftpd.log -rw-rw-r-- 1 root utmp 204672 18 дек 17,43 wtmp -rw------- 1 root root 2956 16 дек 21,27 xferlog -rw-r--r-- 1 root root 58310 18 дек 23,49 Xorg.0.log -rw-r--r-- 1 root root 88675 17 дек 23,59 Xorg.0.log.old -rw-r--r-- 1 root root 55851 17 дек 10,15 Xorg.20.log -rw-r--r-- 1 root root 55851 14 дек 23,10 Xorg.20.log.old -rw-r--r-- 1 root root 22726 17 дек 23,49 yum.log Титла: Vsftpd Публикувано от: romeo_ninov в Dec 19, 2006, 00:45 Извинявам се за тъпото предложение, но дали е възможно демона да се стартира в chroot обкръжение?
Титла: Vsftpd Публикувано от: nemanema в Dec 19, 2006, 09:56
Пич, ето накратко как да се справиш: - взимаш конф. файла от дистрибуцията и го променяш както искаш - в секцеята : # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd/chroot_list откоментираш редовете : chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list в директория : /etc/vsftpd/ създаваш файл chroot_list ако го нямаш - остави си рестрикциите по подразбиране и във въпросния файл chroot_list добави потребителя, с сойто искаш да се логнеш /etc/init.d/vsftpd restart това е цялата философия : ) Успех ! Титла: Vsftpd Публикувано от: atanasov75 в Dec 19, 2006, 12:00 Сигурно проблема е голям...
Пробвах и последния съвет, но отново няма резултат!!! Шах! Титла: Vsftpd Публикувано от: nemanema в Dec 19, 2006, 13:54
Здрасти ! Незнам защо смяташ, че е голям проблем ето ти готов, работещ файл: anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log idle_session_timeout=600 data_connection_timeout=120 ftpd_banner=Welcome to FTP service. chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list pam_service_name=vsftpd userlist_enable=YES #enable for standalone mode listen=YES tcp_wrappers=YES ### Dobavki za zashtita ot pretovarvane ### max_clients=20 max_per_ip=10 local_max_rate=1048577 # da se pusne ako se ustanovi skorost nad 10mb/s ### Drugi dopalnenia ### pasv_enable=YES use_localtime=YES accept_timeout=120 ### Double LOGs dual_log_enable=YES hide_ids=YES Метни го на машината ти. Провери си, че руут и другите потребители немогат да се лог-ват. Направи си файла с разрешените потребители за chroot. Провери си настройките за стената. Ако липсват, добави : ip_conntrack_ftp ip_nat_ftp в сонф.файла. Това е пич. Успех ! Титла: Vsftpd Публикувано от: atanasov75 в Dec 19, 2006, 18:06 Благодаря за изпратения готов файл!
Направих всичко, както е описано, дори си спрях iptables. Направих си файла chroot_list описах си вътре user-a за който искам услугата, но пак не работи... Грешката, която ми връща е: 500 OOPS: cannot change directory:/home/ftpuser Login failed. 421 Service not available, remote server has closed connection Предполагам, че проблема не е в конфигурационния файл!? Според Вас къде може да е? Титла: Vsftpd Публикувано от: atanasov75 в Dec 19, 2006, 18:15 Всъщност може би chroot_list грешно да съм го създал!?
Вътре просто съм написал ftpuser на първия ред. Това е юзера който да има достъп до услугата. Файла има права всички да го четат... Нали така трябва да е? Титла: Vsftpd Публикувано от: nemanema в Dec 19, 2006, 18:56
Точно така трябва да е chroot файла. Огледай си пермишъна на потребинеля, с който се опитваш да се логнеш. Защо просто не създадеш нов потребител както го пише в дебелите книги, добавяш го и във файла за chroot. Няма причина да се шашкаш ! Огледай нещата отново. Копирай от vipw реда на сегашния потребител, с който се опитваш да влезеш на ФТП-то и реда с новосъздадения потребител. Титла: Vsftpd Публикувано от: Just4Nick в Dec 19, 2006, 19:14 Понякога отговора е точно пред очите ти, но от взиране не можеш да го видиш (т.е. както често се оказва причината нещо да не става е в ЗКУ). Точно преди седмица и аз имах проблем с vsftpd.conf, при това работещ допреди месец. И изведнъж спира да работи. А какво се оказа, че преди месец си играх с hosts.allow и hosts.deny и сега просто бях забравил затова.
Ето конфигурация подобна на това, което искаш да постигнеш, макар и вече да има дадени няколко:
В chroot_list вече стана ясно, че трябва да се добави единствено името на user-a. Провери и правата върху /home директорията, ако не е тази по подразбиране. Титла: Vsftpd Публикувано от: atanasov75 в Dec 19, 2006, 21:34 Благодаря за помощта!
Пробвах и последният съвет от "Just4Nick" (сложих направо конф. файл), но няма никакъв напредък - не работи (връща същата грешка)! Ето и двата реда от vipw, както поиска "nemanema" ftpuser:x:502:502::/home/ftpuser:/bin/bash test:x:504:504::/home/test:/bin/bash И двата юзера са създадени с useradd. Правата на двете директории са : drwxr-xr-x 6 ftpuser ftpuser 4096 18 дек 17,42 ftpuser drwx------ 3 test test 4096 19 дек 21,25 test Нарочно съм увеличил правата за ftpuser Но и за 2-та юзера vsftp не работи Титла: Vsftpd Публикувано от: Bogo в Dec 20, 2006, 16:07 Погледни втория пост в темата!!!
Титла: Vsftpd Публикувано от: atanasov75 в Dec 21, 2006, 11:52 Bogo -> Можеш ли да бъдеш малко по-конкретен?
Титла: Vsftpd Публикувано от: atanasov75 в Dec 22, 2006, 10:46 Благодаря на всички за помощта!!!
Успях да реша проблема :-) Проблема както си и мислех не е в конфигурационния файл на vsftpd, а в правилата на selinux. Просто указах да се разреши разглеждането на директориите от юзерите и разреших upload и download и готово, вече работи :-) Странното, е че във федора по подразбиране са забранили това, а нали в крайна сметка това е идеята на сървъра!? Титла: Vsftpd Публикувано от: ivstvs в Jan 08, 2007, 01:17 Аз също имах този проблем оправи се с "Disable SELinux protection for ftpd daemon"
Намира се в : System => Administration => Security Level Configuration В таба "SELinux" Modify SELinux Policy => FTP чекваш "Disable SELinux protection for ftpd daemon" |