Назад | Перейти на главную страницу

Создать нового пользователя vsftpd и заблокировать (указать) домашний каталог / каталог для входа

Мне нужно периодически предоставлять временный и ограниченный доступ к различным каталогам на сервере CentOS linux, на котором установлен vsftp.

Я создал пользователя, использующего useradd [user_name] и дал им пароль, используя passwd [password].

Я создал каталог в /var/ftp а затем привязываю это к каталогу, к которому хочу ограничить доступ.

Что еще мне нужно сделать, чтобы гарантировать, что когда этот пользователь входит в FTP, он имеет доступ только к этому каталогу?

Полный ответ, который решил мой вопрос для любых других, которые после пошагового руководства ...

Установить vsftpd с помощью это как руководство.

  • Создать пользователя с useradd [user_name].
  • Создайте пароль пользователя с помощью passwd [user_name]. (Вам будет предложено указать пароль).
  • Создать каталог FTP в /var/ftp а затем выполните привязку к «домашнему» каталогу, который вы хотите указать для этого пользователя, с помощью mount --bind /var/www/vhosts/domain.com/ /var/ftp/custom_name/.
  • Измените домашний каталог пользователя с помощью usermod -d /var/ftp/custom_name/ user_name

    В /etc/vsftpd/vsftpd.confубедитесь, что настроены все следующие параметры:

    • chroot_local_user = ДА
    • chroot_list_enable = ДА
    • chroot_list_file = / etc / vsftpd.chroot_list

Список только пользователей в vsftpd.chroot_list файл, если вы хотите, чтобы у них был полный доступ к любому месту на сервере. Не перечисляя их в этом файле, вы ограничиваете все vsftpd пользователей в их указанный домашний каталог.

Другими словами (для справки): -

  1. означает, что по умолчанию все пользователи получают chrooтинг, кроме пользователей в файле ...
    • chroot_local_user = ДА
    • chroot_list_enable = ДА
  2. означает, что по умолчанию ТОЛЬКО пользователи в файле получают chrooтинг ...
    • chroot_local_user = НЕТ
    • chroot_list_enable = ДА

Для меня это не сработало даже после вышеизложенного. Для каталога уже был установлен local_root, и что бы я ни делал, каталог пользователя не был заключен в тюрьму. Наконец он работает после того, как только изменил

chroot_local_user = ДА

И следующая процедура

  1. vi /etc/vsftpd.conf
  2. Добавьте строку user_config_dir = / etc / vsftpd_user_conf (без кавычек)
  3. mkdir / etc / vsftpd_user_conf;
  4. cd / etc / vsftpd_user_conf
  5. vi user_name;
  6. Введите строку 'local_root = / srv / ftp / user_name'

Только мои два цента, если у кого-то была такая же проблема.

Chrooting, упомянутый в предыдущих ответах, не работал на моем сервере ubuntu 18.04. Я наконец-то заставил его работать, используя эту ссылку: https://passingcuriosity.com/2014/openssh-restrict-to-sftp-chroot/