В моей ubuntu 14.04 I установил FTP-сервер (FTPD). Я хотел бы создать одного пользователя для этого и установить nologin на того пользователя. При вхождении в систему, используя клиент FTP, я хочу, чтобы тот конкретный пользователь смог видеть весь системный каталог.
Как я ограничиваю одного пользователя как этот к одному каталогу (Например. /usr/local/example
)?
Для vsftpd
, конфигурация чрезвычайно проста:
sudo apt-get install vsftpd
тогда:
sudo nano /etc/vsftpd.conf
гарантируют, чтобы Вы имели следующее право набора параметров:
# Depending on the version you're running, you might want to set the following
# parameter to YES
# (if affected by https://bugs.launchpad.net/ubuntu/+source/vsftpd/+bug/1313450)
listen=YES
# to allow local users to log on:
local_enable=YES
#if you want write access too:
write_enable=YES
# Set anonymous user directory to /srv/ftp (no default)
anon_root=/srv/ftp
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
# following for debugging purposes (to ensure you're on the right server)
ftpd_banner=Welcome to Aravind's FTP service.
# Now restrict users to their home directories:
chroot_local_user=YES
allow_writeable_chroot=YES
И теперь, если Вы хотите установить конкретного пользователя на конкретный каталог, просто создают пользователя с конкретным каталогом:
sudo adduser ftpuser --home /usr/local/example
Для тестирования:
Переходят к терминалу на машине, работающей vsftpd
и тип: ftp 127.0.0.1
и если Вас встречает Ваш собственный баннер, vsftpd
работы!
Тогда тест на той же машине к ее общедоступному адресу: ftp 1.2.3.4
и наконец от удаленной машины до общедоступного адреса. Если что-то идет не так, как надо с общедоступными адресами, проверьте свои настройки брандмауэра.
Дополнительные примечания:
, Если Вы не хотите, чтобы пользователь вошел в систему, добавьте --shell /bin/false
параметр к эти adduser
команда.
Вы могли бы также хотеть удалить все каталоги/файлы (Desktop
, Pictures
... что эти adduser
создал, если Вы не хотите их там...
Существует ли причина, необходимо ли использовать то определенное программное обеспечение FTP-сервера? То, что Вы ищете, главным образом называют "chroot" ( change корень каталог на пользователя) или что-то подобное. Согласно этот отчет об ошибках netkit FTP-сервер, это содержится в linux-ftpd
пакет, не предлагает ту функцию. Событие страница панели запуска говорит
, Это - netkit FTP-сервер. Рекомендуется для Вас использовать одну из своих альтернатив, таких как wu-ftpd или proftpd.
я знаю на основе опыта, что чистый-ftpd (установка VIRTUALCHROOT
) и ProFTPd ( виртуальные хосты ) предлагают функцию, которую Вы ищете. Оба доступны из стандартных репозиториев Ubuntu. Другое программное обеспечение FTP-сервера, вероятно, предлагает подобные функции.