Заблокуйте користувача VsFTP на домашній dir


0

Я працюю над цим близько години і дотримуюся багатьох прикладів, але все ж новий користувач може дістатись до всієї структури каталогів, або взагалі не може увійти з повідомленням "500 OOPS: vsftpd: відмовляється запускатися з корінним записом всередині chroot () ". Мої кроки:

adduser user1
nano /etc/passwd (changed home dir to /var/www/domain.com and bash to rbash)
nano /etc/vsftpd (uncommented chroot_local_user=YES, chroot_list_enable=YES, chroot_list_file=/etc/vsftpd.chroot_list)
nano /etc/vsftpd.chroot_list (add a line for user1)

Я спробував купу різних варіацій цього, але це не має для мене сенсу. Спочатку давайте уточнимо, що насправді означає chroot_local_user = ТАК? Я прошу лише тому, що, здається, нічого не роблять так, як я очікую. Деякі сайти говорять про переключення на НІ.

Я намагаюся налаштувати віртуальний хост для веб-майстра своєї сестри, але не хочу, щоб він бачив інші мої файли для інших моїх сайтів. Чи є якийсь крок, який я пропустив, або мені просто перейти на інший ftp-сервер?

Відповіді:


0

Ідея полягає в тому, щоб затиснути користувача на їх домашній каталог. Додавання користувачів /etc/vsftpd.chroot_listнадає їм виключення з цього затискача, тому ваш веб-майстер не повинен бути там.

Ви отримуєте це, 500 OOPSтому що ви надали дозвіл на запис у корені каталогу та у вас включені хрооти.

Вам не потрібно використовувати chroot - просто змініть домашній каталог користувача на корінь веб-сайту:

usermod -d /var/www/domain.com user1

Переконайтеся, що ваш vsftpd.confфайл містить:

anonymous_enable=NO
local_enable=YES
write_enable=YES

Переконайтесь, що ви видалили (або відключили) будь-які chrootрядки.


0

Гарет Червоний може бути абсолютно правий, я закінчився, відмовившись від vsftp, тому що не зрозумів цього, перш ніж він прийшов.

Я в кінцевому підсумку просто робив це все через opensh, який мав свої проблеми. Те, що я ніколи не бачив у жодному з навчальних посібників, якими я поділюсь тут.

/etc/ssh/sshd_config: Add these lines:
Subsystem sftp internal-sftp
Match User sftpuser
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory /home  
  ForceCommand internal-sftp

Супер важливо це залишається / вдома! Якщо ви спробуєте / home / sftpuser, це не вдасться.

Хитрість у підсумку полягала в тому, щоб перевірити auth.log, де я іду цю помилку: fatal: bad ownership or modes for chroot directory

Це привело мене до цієї сторінки: https://wiki.archlinux.org/index.php/SFTP_chroot

Після того як я змінив ChrootDirectory на / home, я chmod 750 всіх каталогів користувачів, які ув'язнили цього користувача, а потім запустив цю команду:

mount --bind /var/www/example.com /home/sftpuser

Я сподіваюся, що це допоможе комусь, мені знадобилося кілька годин, щоб знайти потрібну інформацію, було б набагато менше, якби я раніше заглядав у журнали.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.