Собственно читал вот эту статью по организации самого простейшего ftp - http://www.aitishnik.ru/linux/ftp-server-debian.html. Вопрос в том, что там разрешается всем анонимусам доступ к этому ftp, а как сделать так, чтобы всего несколько пользователей могли снаружи работать с ftp, причем так, чтобы могли только копировать файлы и папки оттуда, но не записывать туда ничего и не удалять ничего оттуда? Внешний ip есть. Хочу, чтобы было всего несколько прописанных мной пользователей с заданными мной паролями, которые могли бы снаружи пользоваться ftp, как я описал выше.
А ещё вопрос. А как мне работать самому с содержимым ftp сервера? Только чрез интерпретатор команд Линукса или могу, как в Самбе с Винды подсоединиться к машине и там работать с директорией и папкой?
Хочу, чтобы было всего несколько прописанных мной пользователей с заданными мной паролями, которые могли бы снаружи пользоваться ftp, как я описал выше.
text
anonymous_enable=NO
Входить смогут только пользователи которые у тебя есть, домашним каталогом по-умолчанию будет /home/$USER
Может быть я немного не верно написал. Я имел ввиду не пользователей системы (здесь мне одного root я думаю хватит, хоть и понимаю все возможные риски с этим связанные), а чтобы как-то отдельно прописать пользователей именно для ftp, но никак не для системы. То есть я хотел бы, чтобы можно было ну как в Самбе прописал пользователей и радуйся и они по логину и паролю смогут пользоваться ftp.
Или я просто неверно понял и вы именно это и предлагаете?
А ещё хотел бы понять, а могу я сделать так, чтобы через Самбу как-то указать папку в которой будет собственно храниться содержимое для ftp и потом заходить с Винды в эту папку и спокойно туда вставлять то что надо и удалять то, что не надо?
Добавил позже:
Вот: http://www.youtube.com/watch?v=SiiFFy1M4jU - здесь индус очень хорошо описывает установку и настройку ftp на Линукс Дебиан. Здесь он и как пользователей создавать показал и многое другое, НО как перекидывать файлы в папку ftp мне непонятно. Как он показал это ужас тихий, а если там файлов орда? Может есть какая-то альтернатива быстрая?
Да, мне в FTP папки достаточно заливать файлы с помощью smbclient
Ага, спасибо большое за инфу. Жаль на форуме нет кнопки "спасибо", так бы я надавил. :) А так, просто говорю вам спасибо. :) Это то, что я и хотел прочесть.
А вообще я не могу из Самбы сделать подобие ФТП? Ну чтобы к папке могли по внешнему айти пользователи коннектиться с определёнными правами, которые заключаются в разрешении копировать из этой спец. папки, но которым запрещено удалять и вставлять туда.
В общем попробовал я сделать ftp, получилось что-то странное. Могу ли я вообще сделать так, чтобы не создавать пользователей непосредственно vsftpd, а создать пользователей Самбы, расшарить папку для Винды и работать спокойно с этой папкой и чтобы пользователи могли снаружи заходить в эту папку по нашему внешнему ip?
Я вроде как-то так и сделал и попробовал чрез Total commander cимитировать будто снаружи ломлюсь на ftp. Происходит подсоединение, запрашивается авторизация и я не могу зайти под пользователями, которых создал для фтп, но захожу туда под пользователем Самбы (до этого расшарил папку в Самбе). А если пытаюсь под пользователями фтп зайти, то пишет, что мл не могу раздел /home поменять. (а папка FTP у меня лежит в home)
А могу я вообще сделать ftp на основе Самбы и без vsftpd вообще (это пожалуй самый главный вопрос)?
Инструкция - писал для себя и коллег (с нуля)
FTP сервер vsftpd с Виртуальными пользователями
Для нормальной работы FTP в пассивном режиме требуется (или желателен) модуль nf_conntrack_ftp.
Посмотреть загружен ли он #lsmod | grep nf_conntrack_ftp, в случае отсутствия добавить:
#echo nf_conntrack_ftp >> /etc/modules
#modprobe nf_conntrack_ftp
Установка db4.8-util утилиты работы с БД Беркли #apt-get install db4.8-util
Установка FTP сервера vsftpd #apt-get install vsftpd
Остановка сервиса vsftpd #service vsftpd stop
Конфигурационный файл /etc/vsftpd.conf
Создание каталога настроек пользователей # mkdir /etc/vsftpd
Создание текстового файла с пользователями (простой список, котором указывается имя пользователя и, на следущей строчке, пароль) # cat /etc/vsftpd/user.list
Пример: vasja
123
fedor
345
Создание БД #db4.8_load -T -t hash -f /etc/vsftpd/user.list /etc/vsftpd_login.db
Установка прав на БД: #chmod 0600 /etc/vsftpd_login.db
Копирование файла конфигурации доступа к данным пользователей в каталог /etc/pam.d
#cp /usr/share/doc/vsftpd/examples/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd
В файле настроен досуп к данным пользователей
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
Создание каталога, в котором будут лежать каталоги виртуальных пользователей: #mkdir /var/ftp
Создание каталога для пользователя (имя каталога должно совпадать с именем пользователя), пример для пользователя vasja: #mkdir -p /var/ftp/vasja
Установка прав на каталог /var/ftp с рекурсией: #chown -R ftp:ftp /var/ftp
Создание файлов конфигурации для каждого пользователя, например для vasja /etc/vsftpd/vasja, а в файле конфигурации /etc/vsftpd.conf добавляется параметр user_config_dir=/etc/vsftpd
В пользовательском файле конфигурации на примере vasja /etc/vsftpd/vasja зададим корневой каталог пользователя local_root=/var/ftp/vasja
/etc/vsftpd.conf
text
# Отключить IPV6
listen_ipv6=NO
# Отключаем анонимных пользователей
anonymous_enable=NO
# Разрешаем работу локальным пользователям
local_enable=YES
write_enable=NO
# Запрет записи
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
download_enable=YES
# папка по умолчанию
local_root=/var/ftp
anon_root=/var/ftp
#Делаем chroot для всех локальных пользователей
chroot_local_user=YES
chroot_list_enable=NO
# список пользователей, которым нельзя на FTP
#userlist_enable=YES
#userlist_file=/etc/vsftpd/disableusers
#Разрешение работы виртуальным пользователям
guest_enable=YES
guest_username=ftp
# папка для хранения дополнительных конфигов
user_config_dir=/etc/vsftpd
virtual_use_local_privs=NO
# выставим нужные права
chmod_enable=YES
nopriv_user=ftp
# маска создание и чтение файлов
local_umask=022
anon_umask=022
file_open_mode=0666
# Работать своей службой и слушать 21 порт
listen=YES
listen_port=21
# Настройка пассивного режима
connect_from_port_20=NO
pasv_min_port=50000
pasv_max_port=50100
# Установка публичного FTP
max_clients=100
max_per_ip=50
max_login_fails=3
data_connection_timeout=400
idle_session_timeout=400
hide_ids=YES
ls_recurse_enable=NO
pam_service_name=vsftpd
xferlog_enable=YES
xferlog_std_format=YES
dual_log_enable=YES
xferlog_file=/var/log/xferlog
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES
ftpd_banner=Wellcome
Спасибо большое! Очень подробная и довольно понятная инструкция, НО у меня всё равно остаётся главный вопрос, который таков:
Могу ли я как-то работать с папкой, в которой будет содержаться собственно наполнение моего FTP из Windows среды и её средствами? Я попробовал папку ftp открыть для видимости при помощи Самбы и тут начались проблемы с доступом к ftp, которые я описал выше.
Кстати, а как можно выкладывать большие описания конфигов и прочего подобного? Чем копировать столько текста в Линукс среде и как выкладывать этот текстовый файл с настройками?
Кстати, а как можно выкладывать большие описания конфигов и прочего подобного? Чем копировать столько текста в Линукс среде и как выкладывать этот текстовый файл с настройками?
Добавить файлы в каталог пользователя можно с помощью Samba клиента
1. Перейти в каталог пользователя
2. Загрузить файл: запустить клиента #smbclient //192.168.0.x/arh, посмотреть каталог ls, загрузить файл get
3. Установить права на каталог /var/ftp с рекурсией #chown -R ftp:ftp /var/ftp
"Victorius" написал:
Что значит эта строка? Первая строка я так понял означает открытие порта ftp (21) для доступа снаружи.
Добавить в таблицу filter в цепочку INPUT правило, разрешающее доступ к интерфейсу eth0 по протоколу tcp для пакетов, отправленных с порта в диапазоне 50000 - 50100.
А чем вообще хорошо создание виртуальных пользователей для vsftpd? Я так понимаю они всё равно будут на какой-то Oracle db находится, в чём тогда их виртуальность? Проясните пожалуйста этот момент.
Я так понимаю они всё равно будут на какой-то Oracle db находится, в чём тогда их виртуальность?
...или sqlite. А виртуальность, как я понимаю, их в том, что они не имеют собственного домашнего каталога и рабочей оболочки, что повышает безопасность сервера.
дОброго времени суток.
проблема:
установил debian и к нему купил лицензию ispmanager
настроил все работает, только файловые менеджеры не грузятся файлы. пробовал totolcommander выдает ошибку "550 Permission denied"
возможно это не настроен vsftpd?