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

Поместите группу CentOS в один каталог (и каталог внутри) - FTP

В конечном итоге я хочу заключить группу пользователей в тюрьму, чтобы они могли использовать FTP только в их домашней папке. Они должны иметь возможность чтения и записи в своей домашней папке и во ВСЕХ каталогах в этой папке. Я пытался сделать это некоторое время, но, похоже, нет простого решения, которое легко работает. Вот что я пробовал:

  1. chroting пользователей в их домашнюю папку, добавив следующий следующий код в vstfp conf:

    chroot_local_user=YES
    

    Это создало проблему, потому что у пользователей не было полного доступа к каталогам внутри, и некоторые проблемы зависали с правами доступа к файлам.

  2. Удаление ВСЕХ разрешений для / для группы с помощью списков ACL со следующим кодом:

    setfacl -x g:501 /
    

    Когда я выполнил эту команду, ничего не произошло, хотя она верна (насколько мне известно, она дословно соответствует документации).

Я задал здесь еще один вопрос о настройке списков управления доступом, и Zypher правильно сообщил мне, что возня с разрешениями / может быстро испортиться, поэтому я ищу лучший способ сделать то, что я описал выше. Любая помощь высоко ценится!

chroot_local_user правильный вариант для установки. Если у них нет доступа к файлам в их домашнем каталоге, значит, права доступа к этим файлам неверны, и их следует исправить, или согласиться с тем, что у пользователя не будет полного доступа ко всем файлам. Я сильно сомневаюсь, почему файлы, которые не принадлежат пользователю, помещаются в домашний каталог пользователя.

В крайнем случае, вы можете использовать расширенные атрибуты, чтобы получить желаемое поведение. setfacl -m -R u:<user>:rw $(getent passwd <user> | cut -d : -f 6); setfacl -m -R d:u:<user>:rw $(getent passwd <user> | cut -d : -f 6) для всех значений <user>, но это не гарантия - кто-то, кто может записать файл в домашний каталог пользователя, может удалить ACL, что вернет вас к исходной точке.