PDA

Показать полную графическую версию : proftpd + ftpasswd


Призрак
28-09-2011, 09:38
Здравствуйте уважаемые участники дискуссии.

Задумал я в ProFTPd (версия 1.3.3e установлен на FreeBSD 8.2) настроить виртуальных пользователей. Нашел статью в Интернете, которая описывает создание таких пользователей, в частности добавил в файл proftpd.conf такие строки:

AuthUserFile /etc/ftpd.passwd

по этому пути создал указанный файл.

потом создал директорию:


#mkdir /data/ftpdata/
#chown -R ftpsecure:ftpsecure /data/ftpdata (ftpsecure это пользователь и группа для запуска ProFTPd в непривелигированном режиме)



и поместил в нее файл .ftpaccess со следующим содержанием:

<Limit READ WRITE DIRS>
Order deny,allow
Allowuser test
</Limit>

Далее следуя примеру из статьи я попытался выполнить такую команду (примечание: 1002 1002 это соответственно UID пользователя/ GID группы ftpsecure:ftpsecure для запуска ProFTPd в непривелигированном режиме)


#ftpasswd --passwd --file=/etc/ftpd.passwd --name=test --shell=/bin/false --home=/data/ftpdata --uid=1002 --gid=1002


при выполнении этой команды система ругается матом:

ftpasswd: command not found

Помогите пожалуйста разобраться что я делаю не так?

Призрак
28-09-2011, 10:44
И еще я хотел бы спросить - можно ли организовать работу сервера с системными пользователями? Можно ли для каждого пользователя назначить одну домашнюю директорию в этом случае? Устанавливать права нужно с помощью директив в .ftpaccess и не использовать шелл? И как выполнять резервное копирование/перенос системных пользователей на другой сервер?

Призрак
28-09-2011, 11:45
Кстати сейчас разбирался с файлом .ftpaccess заходил через WinSCP (FTP), этот файл там виден! Какая же это безопасность если любой пользователь сможет прочитать содержимое этого файла?

Призрак
28-09-2011, 12:38
Молчите? Слов нет? Я так и думал. Ни в одной статье, ни в одном мануале нормально не сказано как работать с ProFTPd. "Крутые программисты" не удосужатся даже написать нормальные мануалы. То что файл .ftpaccess виден в директории куда заходит пользователь это вообще здорово, что тут еще сказать. Гордые фанатики UNIX систем презрительно относятся к новичкам, бросая пренебрежительно"кури мануалы". Я уже столько их накурился что голова болит. Но так и не выяснил как нормально организовать работу с пользователями в ProFTPd, остальное я уже понял (в том числе как раздавать права системным пользователям). Одно чудо пишет, что нужно для создания виртуальных пользователей использовать ftpasswd. Я обшарил всю систему - не нашел такого файла а следовательно и команда эта не выполняется. И все упорно пишут, пишут, копируют друг у друга, исправляют на свой лад, а толку нету и никогда не будет. Потому - что бесплатное ПО, про которое вопят красноглазики это куча потерянных нервов и времени.

PhilB
28-09-2011, 22:34
Молчите? Слов нет? »
Много ли сюда человек заглянуло между 09:38 и 12:38? Много ли из них занимаются ftp-серверами?

Теперь к делу.
Вот неплохая статья, я когда-то по ней настраивал работу с многими пользователями
http://dng.kiev.ua/node/15

использовать ftpasswd. Я обшарил всю систему - не нашел такого файла а следовательно и команда эта не выполняется. »
Не из под рута действительно не виден. Под рутом эта команда доступна (в том числи и дополняется по tab). Сия утилита есть файл /usr/sbin/ftpasswd

vadblm
28-09-2011, 23:45
Не из под рута действительно не виден. Под рутом эта команда доступна (в том числи и дополняется по tab). Сия утилита есть файл /usr/sbin/ftpasswd »
Тащемта это сторонний перловый скрипт, не входящий в состав собственно ProFTPd. Он тут http://www.castaglia.org/proftpd/#ContribTools

Призрак
29-09-2011, 10:37
Спасибо Вам огромное ребята, разобрался. И даже получилось так как мне надо! Это так здорово, даже русские буквы отображаются в FTP! Осталось еще прикрутить шифрование SSL, ClamAv и решить маленькую проблему (в этот раз она действительно маленькая) Вот мой пример формирования FTP директорий (естественно временный, у меня не совсем еще мозги набекрень съехали чтобы назначать папке /data/ftpdata/ на работающем сервере группу wheel!):

<directory /data/ftpdata>
<limit READ DIRS>
Order allow,deny
AllowGroup wheel
DenyAll
</limit>
<limit WRITE>
DenyAll
</limit>
</directory>

<directory /data/ftpdata/folder1>
<limit READ DIRS>
Order allow,deny
AllowUser Pavel
DenyAll
</limit>
<limit WRITE>
DenyAll
</limit>
</directory>

<directory /data/ftpdata/folder2>
<limit READ DIRS>
Order allow,deny
AllowUser Pavel
DenyAll
</limit>
<limit WRITE>
DenyAll
</limit>
</directory>


но есть еще две проблемы - одна маленькая другая достаточно серьезная - дело в том, что на сервере предполагается выкладывать Документы в *.PDF, *.doc, *.docx (особенно в PDF)

В папке FTP все нормально отображается (например Витамины.doc) но при попытке скачивания через браузер говорит

550 /Folder1/кракозябры вместо русского названия (ну с этим я разберусь) Forbidden command argument

Но когда я попробовал скачать через проводник, все это открывается в Internet Explorer пишет что не может найти страницу. А в адресной строке..... Отображается имя пользователя и незашифрованный пароль (караул!)!!!

res://ieframe.dll/dnserrordiagoff.htm#ftp://Pavel:(здесь незашифрованный пароль!!!)@195.19.1XX.XXX/folder1/%C2%E8%F2%E0%EC%E8%ED%FB.doc

Причем самое удивительное что название документа шифруется!!! Что это - баг со стороны мелкософта или мне нужно срочно прикручивать SLL шифрование к ProFTPD? А то ведь незашифрованный пароль ясное дело это не есть хорошо. Социальная инженерия рулит.

Причем архивы скачиваются нормально. Как мне сделать так, чтобы скачивались документы с вышеуказанными расширениями? Не есть выход складывать по одному документу в архив.




© OSzone.net 2001-2012