Установка и настройка FTP-сервера ProFTPD в Porteus
Открываем терминал и вводим команды (окно с терминалом не закрываем, так как он нам понадобится в дальнейшем)ProFTPd — FTP-сервер для Linux и UNIX-подобных операционных систем.
Code: Select all
su
toor
pmod -u
pmod -m proftpd
# возможно потребуется зависимость libsodium
pmod -m libsodium
mv /tmp/proftpd*.xzm $PORTDIR/modules && mv /tmp/libsodium*.xzm $PORTDIR/modules
activate $PORTDIR/modules/proftpd*.xzm && activate $PORTDIR/modules/libsodium*.xzm
находим:
Code: Select all
ServerName "ProFTPD Default Installation"
#ServerType standalone
ServerType inetd
Code: Select all
ServerName "Name-of-your-server"
ServerType standalone
#ServerType inetd
Code: Select all
MaxInstances 30
Code: Select all
# Ограничение общего количества подключений
MaxInstances 8
Code: Select all
# Normally, we want files to be overwriteable.
AllowOverwrite on
Code: Select all
# Разрешить соединения на основе /etc/shells
RequireValidShell off
# Файлы для авторизации
AuthUserFile /etc/proftpd.passwd
AuthGroupFile /etc/proftpd.group
# Разрешаем докачивать файлы
AllowStoreRestart on
# Сообщение после успешного захода на сервер
AccessGrantMsg "Welcome to Server"
# Запираем всех в домашнем каталоге, чтобы не могли просмотреть каталоги выше. Важно для безопасности!
DefaultRoot ~
# Включаем пассивный режим работы для ProFTPD-сервера
# Указываем диапазон портов для пассивного режима
PassivePorts <min-pasv-port> <max-pasv-port>
# Разрешить доступ пользователю name-of-your-user и запретить доступ всем остальным
<Limit LOGIN>
AllowUser name-of-your-user
DenyALL
</Limit>
# Маска изменяющая права доступа, которые присваиваются новым файлам и директориям по умолчанию
<Directory /home/ftp/*>
Umask 002
AllowOverwrite on
</Directory>
Сохраняем изменения и закрываем файл настроек /etc/proftpd.confЗаметка.
- вместо /home/ftp можете задать свой путь для ftp директории и не забудете поменять путь во всех нижеприведенных командах.
- вместо name-of-your-user введите имя Вашего пользователя (в ниже приведенном примере пользователем будет выступать user, соответственно вместо директивы name-of-your-user, должен быть указан user) и не забудете поменять его во всех нижеприведенных командах.
Проверяем синтаксис /etc/proftpd.conf
Code: Select all
proftpd -t
Далее, в терминале:Заметка. Для проверки поддерживаемых модулейCode: Select all
proftpd -l
Code: Select all
mkdir /home/ftp
# или введите свою директорию для ftp
Code: Select all
# Перед тем, как создать пользователя для ProFTPd, пожалуйста, добавьте /bin/false в файл /etc/shells:
echo "/bin/false" >> /etc/shells
Code: Select all
# Добавляем права
chmod -R 777 /home/ftp
Первая команда - создаём группу ftp2 пользователем которой является пользователь с именем user, автоматически будет также создан файл proftpd.group в /etc
Code: Select all
ftpasswd --group --name=ftp2 --gid=50 --member=user --file /etc/proftpd.group
Вторая команда - создаём самого пользователя user. Обратите внимание, ещё раз, что user - это логин пользователя, он может быть masha, vasia, petia и так далее, короче это логин. В этой же команде задан каталог пользователя. Автоматически также при первом использовании команды будет создан файл proftpd.passwd в /etc
Code: Select all
ftpasswd --passwd --name=user --home=/home/ftp --shell=/bin/false --uid=1001 --gid=1001 --file /etc/proftpd.passwd
Последние две команды выше повторяем столько раз сколько пользователей вам нужно.
Кому очень хочется посмотреть куда пишутся пароли и прочее (они там будут в виде хэша) велком в /etc/proftpd.passwd
Ещё раз для понимания - это не UNIX пользователи, это фактически учётные записи вашего ftp-сервера.
Затем добавляем в автозагрузку proftpd
Code: Select all
echo "/usr/sbin/proftpd &" >> /etc/rc.d/rc.local
Code: Select all
/usr/sbin/proftpd &
Заметка. Для завершения процесса proftpdи последующего запуска proftpd (метод перезапуск proftpd), приведу пример:Code: Select all
ps aux | grep [p]roftpd # находим номер процесса /usr/sbin/proftpd, например это 5194 kill 5194 /usr/sbin/proftpd &