Я запутался в этой настройке, которую пытаюсь развернуть. Я надеюсь, что кто-то из вас, ребята, может помочь мне: очень ценится.
Справочная информация
Сервер Debian 6.0, ext3, с Apache2 / SSL и Nginx спереди в качестве обратного прокси. Мне нужно предоставить sftp доступ к корневому каталогу Apache (/ var / www), чтобы убедиться, что пользователь sftp привязан к этому пути с разрешениями RWX.
Все это без изменения каких-либо разрешений по умолчанию в / var / www.
drwxr-xr-x 9 root root 4096 Nov 4 22:46 www
Внутри / var / www
-rw-r----- 1 www-data www-data 177 Mar 11 2012 file1
drwxr-x--- 6 www-data www-data 4096 Sep 10 2012 dir1
drwxr-xr-x 7 www-data www-data 4096 Sep 28 2012 dir2
-rw------- 1 root root 19 Apr 6 2012 file2
-rw------- 1 root root 3548528 Sep 28 2012 file3
drwxr-x--- 6 www-data www-data 4096 Aug 22 00:11 dir3
drwxr-x--- 5 www-data www-data 4096 Jul 15 2012 dir4
drwxr-x--- 2 www-data www-data 536576 Nov 24 2012 dir5
drwxr-x--- 2 www-data www-data 4096 Nov 5 00:00 dir6
drwxr-x--- 2 www-data www-data 4096 Nov 4 13:24 dir7
Что я пробовал
- создал новую группу secureftp
- создал нового пользователя sftp , присоединился к группам secureftp и www-data также с помощью оболочки nologin . Homedir is /
- отредактировал sshd_config с
Subsystem sftp internal-sftp AllowTcpForwarding no Match Group <secureftp> ChrootDirectory /var/www ForceCommand internal-sftp
Я могу войти с пользователем sftp, перечислить файлы, но действие записи не разрешено. Пользователь Sftp находится в группе www-data, но разрешения для / var / www для бита группы читаются / читаются + x, так что ... Это не работает.
Я также пробовал с ACL, но, поскольку я применяю разрешения ACL RWX для пользователя sftp к / var / www (каталоги и файлы рекурсивно), это также изменит разрешения unix, чего я не хочу.
Что я могу сделать здесь?
Я думал, что смогу включить пользовательские www-данные для входа в систему как sftp, чтобы он мог изменять файлы / каталоги, которыми владеют www-данные в / var / www. Но по некоторым причинам я думаю, что это было бы глупо с точки зрения безопасности.
источник
Ответы:
Что я сделал, так это привязал моих пользователей к их домашним каталогам, а затем использовал их
mount --bind
для создания ссылки на них в своих домашних каталогах.Затем я использовал
setfacl
для проверкиwww-data
прав доступа maintans новые файлы в каталоге. Этот эффект будет повторяться/var/www
, что вы и хотите сделать.Устанавливая
g+s
каталог, все новые файлы и каталоги, созданные в нем, будут наследовать владение группой от своего родителя.Это должно делать свое дело.
Сделайте ваши крепления постоянными
Очевидно, что вы хотите, чтобы ваши монтировки все еще были там при перезагрузке сервера. Это так же просто, как добавить крепления к вашему
/etc/fstab
. Не все провайдеры позволяют вам трогать этот файл, но большинство делают.Просто добавьте такие строки:
Вы можете перезагрузить компьютер, чтобы убедиться, что он работает.
источник