Создание ftp пользователя без панели управления ISPmanager
По-умолчанию, при установке ОС Linux из любых шаблонов, на сервере доступен только суперпользователь root. Подключение с данными root по протоколу FTP невозможно в целях безопасности (используется незашифрованный пароль). При установке шаблонов ОС типа minimal сервер FTP также не будет включен в установочный пакет. Если у Вас возникла необходимость быстрой ручной настройки нового ftp пользователя при отсутствии на сервере панели управления ISPmanager, нужно сделать следующее:
— Подключитесь к серверу по протоколу SSH (используя, например, Putty http://putty.org) пользователем root
Содержание
Установка proftpd (если proftpd уже установлен, пропустите этот шаг):
Если сервер не запустился автоматически после установки, используйте команду:
Ограничение ftp пользователей пределами домашнего каталога
Данная статья подразумевает работу конфигурацией ProFTPd «по-умолчанию», а в этом случае пользователь может выходить за пределы своего домашнего каталога и, хотя прав на работу с другими папками у него, скорее всего, нет, но при недостаточно строгой конфигурации сервера это может представлять угрозу безопасности. Решить эту проблему можно добавив одну строку в файл proftpd.conf:
Добавить ее можно в конец файла. После сохранения, перезапустите ftp сервер:
Создание нового ftp пользователя
Простым ftp пользователям нет необходимости иметь доступ к командной оболочке. Перед тем, как приступите к созданию новых пользователей, выполните команду:
Создайте нового пользователя
Командами выше мы создали пользователя (имя_пользователя нужно заменить на не занятое имя) и соответствующую группу, назначили и создали (ключ -m можно опустить, если каталог уже существует) домашний каталог /home/имя_папки и выбрали /bin/false в качестве командной оболочки пользователя, тем самым ее отключив в целях безопасности. Командой passwd мы создали пользователю необходимый пароль.
- В большинстве случаев, на данном этапе Вы уже можете подключаться с созданным пользователем к ftp серверу, который по-умолчанию работает на 21 порту. Однако, есть еще несколько шагов, которые, возможно, вы захотите выполнить:
Дополнительная информация
Доступ к командной оболочке (shell)
Если Вы все-таки хотите предоставлять пользователю доступ к командной оболочке, то указывайте путь до любой действующей вместо /bin/false, например:
Пользователям обычного протокола ftp не нужен доступ к shell, поэтому, безопаснее его не предоставлять.
Расположение proftpd.conf
Файл настроек proftpd.conf может располагаться в разных местах, в зависимости от вашей версии ОС:
Используйте этот файл для более детальной настройки своего ftp сервера при необходимости.
Ограничение прав ftp пользователя
При необходимости, Вы можете закрыть права на запись для пользователя, например, в домашнюю директорию и оставить их только для какой-нибудь внутренней папки, например upload:
От имени суперпользователя измените права:
В данном случае второе имя_пользователя является именем группы, которое по умолчанию совпадает с созданным вами именем пользователя.
Таким образом, за короткое время и небольшое количество действий, Вы можете создать безопасного базового ftp пользователя и начать работу с ftp на сервере.
Создание FTP-сервера в Linux
Передача файлов в сети осуществляется благодаря правильно настроенному FTP-серверу. Такой протокол работает с применением TCP по архитектуре клиент-сервер и задействует различные сетевые соединения для обеспечения передачи команд между подключенными узлами. Пользователи, которые подключились к определенному хостингу, сталкиваются с надобностью настройки личного FTP-сервера по требованиям компании, предоставляющей услуги обеспечения работы сайта или другого обеспечения. Далее мы продемонстрируем, как создается такой сервер в Linux на примере одной из утилит.
Создаем FTP-сервер в Linux
Сегодня мы будем использовать инструмент под названием VSftpd. Преимущества такого FTP-сервера в том, что он по умолчанию работает на многих ОС, обслуживает официальные репозитории различных дистрибутивов Linux и относительно просто настраивается для корректного функционирования. К слову, на ядре Линукс официально применяется именно этот FTP, и многие хостинги рекомендуют ставить VSftpd. Поэтому давайте обратим внимание на пошаговый процесс инсталляции и настройки необходимых компонентов.
Шаг 1: Установка VSftpd
По умолчанию всех нужных библиотек VSftpd в дистрибутивах не имеется, поэтому их нужно вручную загрузить через консоль. Осуществляется это следующим образом:
Обладателям версий Debian или Ubuntu требуется прописать команду sudo apt-get install vsftpd . CentOS, Fedora — yum install vsftpd , а для Gentoo — emerge vsftpd . После введения нажмите на Enter, чтобы запустить процесс инсталляции.
Подтвердите наличие прав у своей учетной записи, указав соответствующий пароль.
Обращаем внимание обладателей CentOS, которые задействуют выделенный виртуальный сервер от любого хостинга. Вам потребуется произвести обновление модуля ядра ОС, поскольку без этой процедуры во время инсталляции отобразится критическая ошибка. Последовательно вводите такие команды:
yum update
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum install yum-plugin-fastestmirror
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
yum install kernel-ml-doc-3.15.6-1.el7.elrepo.noarch.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-headers-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
yum install kernel-ml-tools-libs-devel-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install perf-3.15.6-1.el7.elrepo.x86_64.rpm
wget http://mirrors.neterra.net/elrepo/kernel/el7/x86_64/RPMS/python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum install python-perf-3.15.6-1.el7.elrepo.x86_64.rpm
yum —enablerepo=elrepo-kernel install kernel-ml
После окончания всей этой процедуры запустите любым удобным образом конфигурационный файл /boot/grub/grub.conf . Измените его содержимое таким образом, чтобы в итоге следующие параметры имели соответствующие значения:
default=0
timeout=5
title vmlinuz-4.0.4-1.el7.elrepo.x86_64
root (hd0,0)
kernel /boot/vmlinuz-4.0.4-1.el7.elrepo.x86_64 console=hvc0 xencons=tty0 root=/dev/xvda1 ro
initrd /boot/initramfs-4.0.4-1.el7.elrepo.x86_64.img
Далее вам останется только перезагрузить выделенный сервер и переходить к непосредственной инсталляции FTP-сервера на компьютер.
Шаг 2: Первоначальная настройка FTP-сервера
Вместе с программой на компьютер был загружен ее конфигурационный файл, отталкиваясь от которого и происходить функционирование FTP-сервера. Все настройки выполняются сугубо индивидуально по рекомендациям хостинга или собственным предпочтениям. Мы лишь можем показать, как открывается этот файл и каким параметрам обязательно следует уделить внимание.
- В операционных системах Debian или Ubuntu конфигурационный файл запускается так: sudo nano /etc/vsftpd.conf . В CentOS и Fedora он находится по пути /etc/vsftpd/vsftpd.conf , а в Gentoo — /etc/vsftpd/vsftpd.conf.example .
В консоли или текстовом редакторе отобразится сам файл. Здесь обратите внимание на указанные ниже пункты. В вашем конфигурационном файле они должны иметь такие же значения.
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
Остальное редактирование осуществляйте сами, а после не забудьте сохранить изменения.
Шаг 3: Добавление пользователя с расширенными правами
Если вы собираетесь работать с FTP-сервером не через свою основную учетную запись или хотите предоставить доступ другим юзерам, созданные профили обязательно должны иметь права суперпользователя, чтобы при обращении к утилите VSftpd не возникало ошибок с отказом в доступе.
- Запустите «Терминал» и введите команду sudo adduser user1 , где user1 — имя новой учетной записи.
Задайте для него пароль, после чего подтвердите его. Кроме этого, настоятельно рекомендуем запомнить домашний каталог учетной записи, в дальнейшем может понадобиться обращение к нему через консоль.
Заполните основную информацию — полное имя, номер комнаты, номера телефонов и прочую информацию, если требуется.
После этого присвойте пользователю расширенные права путем ввода команды sudo adduser user1 sudo .
Создайте для юзера отдельную директорию под хранение его файлов через sudo mkdir /home/user1/files .
Далее переместитесь в свою домашнюю папку через cd /home и там сделайте нового пользователя владельцем своей директории, введя chown root:root /home/user1 .
Перезапустите сервер после осуществления всех изменений sudo service vsftpd restart . Только в дистрибутиве Gentoo утилита перезагружается через /etc/init.d/vsftpd restart .
Теперь вы можете производить все необходимые действия на FTP-сервере от лица нового юзера, который обладает расширенными правами доступа.
Шаг 4: Настройка Firewall (Только для Ubuntu)
Пользователи других дистрибутивов могут смело пропускать этот шаг, поскольку настройка портов нигде больше не требуется, только в Ubuntu. По умолчанию Firewall настроен таким образом, что не пропустит входящий трафик из нужных нам адресов, поэтому потребуется разрешить его прохождение вручную.
- В консоли поочередно активируйте команды sudo ufw disable и sudo ufw enable , чтобы перезапустить Firewall.
Добавьте правила входящих соединений, используя sudo ufw allow 20/tcp и sudo ufw allow 21/tcp .
Проверьте, были ли применены введенные правила, просмотрев статус фаервола sudo ufw status .
Отдельно хочется отметить несколько полезных команд:
- /etc/init.d/vsftpd start или service vsftpd start — анализ конфигурационного файла;
- netstat -tanp | grep LISTEN — проверка корректности установки FTP-сервера;
- man vsftpd — вызов официальной документации VSftpd для поиска необходимой информации касаемо работы утилиты;
- service vsftpd restart или /etc/init.d/vsftpd restart — перезагрузка сервера.
Что касается получения доступа к FTP-серверу и дальнейшей работе с ним, обращайтесь за получением этих данных к представителям своего хостинга. У них же вы сможете уточнить информацию по поводу тонкостей настройки и возникновению различного рода ошибок.
На этом статья подходит к концу. Сегодня мы разобрали процедуру установки сервера VSftpd без привязки к какому-либо хостингу, поэтому учтите это при выполнении наших инструкций и сравнивайте их с теми, что предоставляет компания, содержащая ваш виртуальный сервер. Кроме всего, советуем ознакомиться с другим нашим материалом, в котором разбирается тема установки компонентов LAMP.