Всё сделал так, как написано, но получается вот что, если имеет право входить на комп локально, то и по ФТП он удалённо зайдёт, если нет, то и ФТП он не может зайти. Почему так ?
Установка vsftpd (Проблема с доступом)
Модераторы: SLEDopit, Модераторы разделов
-
Andrey2005
- Сообщения: 36
- ОС: LinuxMint
Re: Установка vsftpd
Всё сделал так, как написано, но получается вот что, если имеет право входить на комп локально, то и по ФТП он удалённо зайдёт, если нет, то и ФТП он не может зайти. Почему так ?
-
tmp13
- Сообщения: 986
- ОС: openSuse 11.2
Re: Установка vsftpd
так скорее всего потому что у вас стоит
local_enable=YES
на сколько я помню из-за этого)
local_enable=YES
на сколько я помню из-за этого)
Красных бей и белых бей!
Вот вам иерархия!
Я люблю тебя за это, милая моя,
Разудалая, хмельная мать моя – Анархия!
Вот вам иерархия!
Я люблю тебя за это, милая моя,
Разудалая, хмельная мать моя – Анархия!
-
Andrey2005
- Сообщения: 36
- ОС: LinuxMint
-
quadrik
- Сообщения: 350
- ОС: gentoo, только на серверах
Re: Установка vsftpd
Andrey2005,
Видимо, у вас vsftpd собран без поддержки PAM. установите
check_shell
Note! This option only has an effect for non-PAM builds of vsftpd. If disabled, vsftpd will not check /etc/shells for a
valid user shell for local logins.
Default: YES
Видимо, у вас vsftpd собран без поддержки PAM. установите
Код: Выделить всё
check_shell=No-
Andrey2005
- Сообщения: 36
- ОС: LinuxMint
Re: Установка vsftpd
quadrik писал(а): ↑05.03.2008 13:29Andrey2005,
check_shell
Note! This option only has an effect for non-PAM builds of vsftpd. If disabled, vsftpd will not check /etc/shells for a
valid user shell for local logins.
Default: YES
Видимо, у вас vsftpd собран без поддержки PAM. установитеКод: Выделить всё
check_shell=No
Опять не помогло, пользуюсь vsftpd в стандартной комплектации в Fedora 8 x64
-
quadrik
- Сообщения: 350
- ОС: gentoo, только на серверах
Re: Установка vsftpd
Не помогло это как? Входит с валидным шелом и не входит с /bin/nologin? Рестартовать сервис не забываете?
-
Andrey2005
- Сообщения: 36
- ОС: LinuxMint
Re: Установка vsftpd
-
Voler
- Сообщения: 498
- ОС: Fedora
Re: Установка vsftpd
а дистрибутив какой uname -a
rpm -qa vsftp pam
rpm -qa vsftp pam
-
Andrey2005
- Сообщения: 36
- ОС: LinuxMint
Re: Установка vsftpd
Код: Выделить всё
[root@FEDORA ~]# rpm -qa vsftp pam
pam-0.99.8.1-10.fc8
pam-0.99.8.1-10.fc8
[root@FEDORA ~]# uname -a
Linux FEDORA 2.6.23.14-107.fc8 #1 SMP Mon Jan 14 22:07:11 EST 2008 x86_64 x86_64Блин, забыл сказать, что я закоментирвал строку
Код: Выделить всё
local_root=/web/FTP_Zet-TechnoЧтоб при входе пользователи попадали в свои домашние каталоги. Может это из-за этого ?
-
Voler
- Сообщения: 498
- ОС: Fedora
Re: Установка vsftpd
Дистр знакомый, стоит на ноутбуке. Ядрышко не помешало бы обновить!
Да и нестабильно работает данный дистр.
Конечно нет это мало вероятно. Но стоит проверить.
Да и нестабильно работает данный дистр.
local_root=/web/FTP_Zet-Techno
Конечно нет это мало вероятно. Но стоит проверить.
-
Andrey2005
- Сообщения: 36
- ОС: LinuxMint
Re: Установка vsftpd
Ядрышко обновил и заодно PAM модуль.
Не помогло.
Расскоментирвание строчки Local_root тоже не помогло :-(
-
Andrey2005
- Сообщения: 36
- ОС: LinuxMint
Re: Установка vsftpd
Помогло комметирование строчки
Код: Выделить всё
auth required pam_shells.so-
Voler
- Сообщения: 498
- ОС: Fedora
Re: Установка vsftpd
Выкладываю последнюю наработку, по vsftpd
Для начала удалим, vsftpd.
Если, вы только что установили систему то вам нужно поставить,
Данный пакет включает в себя db_load без которого вы не сможете переконвертировать в Базу Беркли ваши логины.
Далее
Далее заходим на Сюда.
Правим скрипт под свои нужды.
vi ftp.sh #записываем в него наш скрипт, см. выше. Для тех кто не знаком с vi, есть аналог mcedit.
Запускаем скрипт
Если вы увидели что то типо этого
Все теперь, заходим на наш ФТП.
Но я немного переделал конфиг vsftpd.conf, под свои нужды.
В скрипте приведенным выше есть неточность, для того чтобы ваш пользоватьль мог зайти на фтп сервер, нужно или ручками
создать для него каталог или добавить в скрипт код.
Все теперь стартуем
#service vsftpd start
Теперь нам нужно, еще добавить пользователей.
Создадим файл
С таким содержанием
И так же в FTP_User.tpl
Также для вновь созданного пользователя нужно создать каталоги.
Ну вот и все, данная конфигурация ФТП сервера позволяет использовать вертуальных пользователей.
Рекомендую, после запуска ftp.sh удалить или дать права на чтенеи только root
chmod 600 ftp.sh
Так же вы можете поиграться с правами на директории, ну и конфиг vsftpd.conf
Все выше приведенное, проверенно на Fedora 7.
Спасибо, в написании данной статье Lek и руководству.
Руководству.
Для начала удалим, vsftpd.
Код: Выделить всё
yum remove vsftpd или rpm -e vsftpdЕсли, вы только что установили систему то вам нужно поставить,
yum install compat-db
в Fedora этот пакет не стоит.
Данный пакет включает в себя db_load без которого вы не сможете переконвертировать в Базу Беркли ваши логины.
Далее
Код: Выделить всё
cd /etc/vsftpd
touch ftp.sh
chmod 750 ftp.shДалее заходим на Сюда.
Правим скрипт под свои нужды.
Код: Выделить всё
#!/bin/sh
# LSN VSFTPD chroot install
# Version 1.0
# August 1, 2005
# Fire Eater <LinuxRockz@gmail.com>
# Released under the GPL License- http://www.fsf.org/licensing/licenses/gpl.txt
##############################################################################
#
IP_Address="`( /sbin/ifconfig | head -2 | tail -1 | awk '{ print $2; }' | tr --delete [a-z]:)`"
My_FTP_User="Ваше_имя"
My_FTP_Password="Ваш_пароль"
echo ""
echo "Setting up Vsftpd with non-system user logins"
echo ""
#
#
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig
cat <<EOFVSFTPD> /etc/vsftpd/vsftpd.conf
anon_world_readable_only=NO
anonymous_enable=NO
chroot_local_user=YES
guest_enable=NO
guest_username=ftp
hide_ids=YES
listen=YES
listen_address=$IP_Address
local_enable=YES
max_clients=100
max_per_ip=2
nopriv_user=ftp
pam_service_name=ftp
pasv_max_port=65535
pasv_min_port=40000
session_support=NO
use_localtime=YES
user_config_dir=/etc/vsftpd/users
userlist_enable=YES
userlist_file=/etc/vsftpd/denied_users
xferlog_enable=YES
anon_umask=0027
local_umask=022
async_abor_enable=YES
connect_from_port_20=YES
dirlist_enable=NO
download_enable=NO
EOFVSFTPD
cat /etc/passwd | cut -d ":" -f 1 | sort > /etc/vsftpd/denied_users; mkdir /etc/vsftpd/users
sed -e '/'$My_FTP_User'/d' < /etc/vsftpd/denied_users > /etc/vsftpd/denied_users.tmp
mv /etc/vsftpd/denied_users.tmp /etc/vsftpd/denied_users
chmod 644 /etc/vsftpd/denied_users
cat <<EOFPAMFTP> /etc/pam.d/ftp
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/accounts
account required /lib/security/pam_userdb.so db=/etc/vsftpd/accounts
EOFPAMFTP
cat <<EOFVSFTPU> /etc/vsftpd/users/$My_FTP_User
dirlist_enable=YES
download_enable=YES
local_root=/web/ftp/$My_FTP_User/public_html
write_enable=YES
EOFVSFTPU
echo $My_FTP_User > /etc/vsftpd/accounts.tmp
echo $My_FTP_Password >> /etc/vsftpd/accounts.tmp
/usr/bin/db_load -T -t hash -f /etc/vsftpd/accounts.tmp /etc/vsftpd/accounts.db
chmod 600 /etc/vsftpd/accounts.db
#
echo "Done....."
#vi ftp.sh #записываем в него наш скрипт, см. выше. Для тех кто не знаком с vi, есть аналог mcedit.
Запускаем скрипт
Код: Выделить всё
#./ftp.shЕсли вы увидели что то типо этого
Setting up Vsftpd with non-system user logins
Done.....
Все теперь, заходим на наш ФТП.
Но я немного переделал конфиг vsftpd.conf, под свои нужды.
Код: Выделить всё
#Разрешаем или нет анонимным пользователям
#чтение только, YES или NO
anon_world_readable_only=NO
#Разрешаем анонимных пользователей YES или NO
anonymous_enable=NO
#
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
#Лучим локальных пользователй в их каталогах.
chroot_local_user=YES
chmod_enable=YES
chown_uploads=YES
#Пользователь владелец.
chown_username=ftp
#Вертуальные пользователи используют локальные привелегии.
virtual_use_local_privs=YES
#Гостевой логин
guest_enable=YES
#Пользователь
guest_username=ftp
hide_ids=YES
listen=YES
#listen_address=192.168.1.200
#listen_port=21
local_enable=YES
local_root=/web/ftp
nopriv_user=ftp
session_support=NO
use_localtime=YES
user_config_dir=/etc/vsftpd/users
userlist_enable=YES
userlist_file=/etc/vsftpd/denied_users
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
anon_umask=0007
local_umask=0022
file_open_mode=0777
async_abor_enable=YES
#connect_from_port_20=YES
dirlist_enable=NO
dirmessage_enable=YES
download_enable=NO
ftpd_banner=Welcome to Zet-Techno
tcp_wrappers=YES
trans_chunk_size=8192
max_clients=10
max_per_ip=2
pam_service_name=ftp
pasv_max_port=65535
pasv_min_port=40000
ftpd_banner=Welcome to Zet-TechnoВ скрипте приведенным выше есть неточность, для того чтобы ваш пользоватьль мог зайти на фтп сервер, нужно или ручками
создать для него каталог или добавить в скрипт код.
Код: Выделить всё
mkdir /web/ftp/$My_FTP_User/
mkdir /web/ftp/$My_FTP_User/public_html
chown root.ftp /web/ftp/$My_FTP_User/
chmod 775 /web/ftp/$My_FTP_User/
chown root.ftp /web/ftp/$My_FTP_User/public_html
chmod775 /web/ftp/$My_FTP_User/public_htmlВсе теперь стартуем
#service vsftpd start
Теперь нам нужно, еще добавить пользователей.
Создадим файл
Код: Выделить всё
touch FTP_User.tpl и adduser_vsftp.sh
chmod 750 adduser_vsftp.sh
Откроем его
vi adduser_vsftp.shС таким содержанием
Код: Выделить всё
#!/bin/sh
# Vsftpd adduser
# Fire Eater <LinuxRockz@gmail.com>
# August 1, 2005
# Requires Server installation using the LSN Installer
# Released under the GPL License- http://www.fsf.org/licensing/licenses/gpl.txt
###############################################################################
Template_Dir="/etc/Templates" #обратите внимание на путь.Укажите свой, и создайте файл FTP_User.tpl в нем.
###############################################################################
# This option adds a ftp user
clear
echo "Now Adding FTP User"
echo -n "Username (lowercase): "
read FTP_USER_NAME
echo -n "Password (case sensitive): "
read FTP_USER_Password
cp $Template_Dir/FTP_User.tpl $Template_Dir/FTP_User.tpl.1
perl -pi -e "s/FTP_USER_NAME/$FTP_USER_NAME/g;" $Template_Dir/FTP_User.tpl.1
cat $Template_Dir/FTP_User.tpl.1 >> /etc/vsftpd/users/$FTP_USER_NAME
rm -f $Template_Dir/FTP_User.tpl.1
echo $FTP_USER_NAME >> /etc/vsftpd/accounts.tmp; echo $FTP_USER_Password >>/etc/vsftpd/accounts.tmp
rm -f /etc/vsftpd/accounts.db
db_load -T -t hash -f /etc/vsftpd/accounts.tmp /etc/vsftpd/accounts.db
chmod 600 /etc/vsftpd/accounts.dbИ так же в FTP_User.tpl
Код: Выделить всё
dirlist_enable=YES
download_enable=YES
local_root=/web/ftp/FTP_USER_NAME/public_html
write_enable=YESТакже для вновь созданного пользователя нужно создать каталоги.
Ну вот и все, данная конфигурация ФТП сервера позволяет использовать вертуальных пользователей.
Рекомендую, после запуска ftp.sh удалить или дать права на чтенеи только root
chmod 600 ftp.sh
Так же вы можете поиграться с правами на директории, ну и конфиг vsftpd.conf
Все выше приведенное, проверенно на Fedora 7.
Спасибо, в написании данной статье Lek и руководству.
Руководству.
-
Anybis
- Сообщения: 99
- ОС: GNU/Linux
Re: Установка vsftpd
Устанавливал с репозитария, ос fedora 9
сервер запускается и сразу падает =(
Код: Выделить всё
# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=NO
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
nopriv_user=user
ftpd_banner=Welcome to FTP Server.
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
chroot_list_enable=NO
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=NOсервер запускается и сразу падает =(
Код: Выделить всё
[root@ ~]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]
[root@ ~]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [ OK ]-
pehser
- Сообщения: 333
- ОС: sidux
Re: Установка vsftpd
смотри поблему в логе /var/log/vsftpd.log
Linux 2.6.30 (CPU Core2D 1.6 RAM 2Gb Video Nvidia 8500)
Тестю KDE4.3
Тестю KDE4.3
-
Anybis
- Сообщения: 99
- ОС: GNU/Linux
Re: Установка vsftpd
/var/log/vsftpd.log 0 bite
=(
=(
-
Anybis
- Сообщения: 99
- ОС: GNU/Linux
Re: Установка vsftpd
в messege тоже ничего не нашел(