Ограничьте доступ FTP только к/var/www с vsftpd

В жемчуге это может быть сделано много simplier:

perl -ne 'open(F, ">", ($1).".txt") if /\[ (entry\d+) \]/; print F;' file
41
14.11.2014, 18:11
4 ответа

Метод 1: Изменение корневого каталога пользователя

Удостоверьтесь, что следующая строка существует

chroot_local_user=YES

Корневой каталог пользователя аппарата к /var/www/ , если Вы хотите измениться для существующего пользователя затем, можно использовать:

usermod --home /var/www/ username

затем установите требуемое разрешение на /var/www/

Метод 2: использовать user_sub_token

Если Вы не хотите изменять Корневой каталог пользователя затем, можно использовать:

chroot_local_user=YES
local_root=/ftphome/$USER
user_sub_token=$USER

О нас user_sub_token:

Автоматически генерируйте корневой каталог для каждого виртуального пользователя, на основе шаблона. Например, если корневой каталог реального пользователя, указанного через guest_username, будет/ftphome/$USER, и user_sub_token установлен на $USER, то, когда тест виртуального пользователя входит в систему, он закончит (обычно chroot () 'редактор) в каталоге,/ftphome/test. Эта опция также берет влияние, если local_root содержит user_sub_token.

Создайте каталог и настройте полномочия:

mkdir -p /ftphome/{test,user1,user2}
chmod 770 -R /ftphome
chown -R ftp. /ftphome
usermod -G ftp test

Однажды перезапуск vsftpd и протестируйте свою установку.

Демонстрационный успех произвел:

[root@mail tmp]# ftp localhost
Connected to mail.linuxian.local.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mput vhosts
mput vhosts? 
227 Entering Passive Mode (127,0,0,1,146,41)
150 Ok to send data.
226 File receive OK.
24 bytes sent in 3.3e-05 seconds (7.1e+02 Kbytes/s)
ftp> ls -rlt
227 Entering Passive Mode (127,0,0,1,97,90)
150 Here comes the directory listing.
-rw-r--r--    1 787      787            24 Oct 11 19:57 vhosts
226 Directory send OK.
ftp> 221 Goodbye.
65
27.01.2020, 19:35
  • 1
    Обратите внимание, что у Вас может быть суффикс после $USER для local_root, такой как /home/$USER/ftp (который будет chroot пользователи к ftp подкаталог их домашнего dir). –  Benoit Duffez 17.08.2015, 23:14
  • 2
    Отметьте комментарии в vsftp FAQ относительно chrooting к папке, перезаписываемой пользователем, входящим в систему. Это очень вероятно в случае помещения local_root в фактический корневой каталог пользователя. –  Thomas Urban 18.03.2017, 00:31
  • 3
    Где подтвердить, что "chroot_local_user=YES" существуют? –  The One 17.01.2018, 08:16

Проверьте chrootопции в vsftpd.conf и создайте отдельного пользователя для него, homedir которого установлен на /var/www.

1
27.01.2020, 19:35
  • 1
    я хорошо знаю об этом, я создам отдельного пользователя. Я должен, возможно, перепроектировать свой вопрос затем, как может я ограничивать пользователя отдельным трактом только –  Badr Hari 11.10.2013, 14:01
  • 2
    Использовать sftp от OpenSSH. Посмотрите человека sshd_config для внутреннего-sftp, затем 'ForceCommand' и см. 'ChrootDirectory'. Более новый OpenSSH также добавил опцию для sftp-сервера для переключения на определенный путь, таким образом, в сочетании с ChrootDirectory можно сделать: chroot-> / путь-> место назначения-> 'onlyhere' =/chroot/onlyhere –  jirib 11.10.2013, 14:08

Вы можете сделать это:

usermod --home /var/www/ username
4
27.01.2020, 19:35

Я использовал предложение Рахула Патила, приведенное выше:

chroot_local_user=YES
local_root=/home/$USER/www-data
user_sub_token=$USER

Но я не мог понять, почему я мог войти в систему только с одним пользователем. Затем я обнаружил, что мы не можем выполнить chroot в корневой каталог (в данном случае / home / $ USER / www-data ), у которого есть доступ на запись. Поэтому я удаляю доступ на запись с помощью:

# chmod a-w /home/$USER/www-data

ПРИМЕЧАНИЕ: измените $ USER с вашим пользователем.

2
27.01.2020, 19:35

Теги

Похожие вопросы