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

Команды черного списка SFTP на Centos 6?

Я создал новую учетную запись для SFTP, только указав оболочку /bin/false, и стал членом stfp_only группа. Затем я отредактировал свой /etc/ssh/sshd_config как указано в многочисленных руководствах, которые я читал так

Subsystem sftp internal-sftp

Match Group sftp_only
ChrootDirectory /srv/uploads/%u
AllowTcpForwarding no
ForceCommand internal-sftp
X11Forwarding no

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

ForceCommand internal-sftp -P mkdir,rmdir

Однако похоже, что, хотя эти параметры белого / черного списка доступны на OpenBSD, версия sftp-server на Centos позволяет только вести журнал и параметры маски файла

usage: sftp-server [-he] [-l log_level] [-f log_facility] [-u umask]
      [-m force_file_perms]  

Есть ли другой способ, кроме попытки скомпилировать исходный код версии BSD? Что-то с ограничениями ACL, разрешающими только файлы, без папок, символических ссылок и т. Д.? Запретить изменение прав доступа к файлам?

Если бы существовал способ, чтобы загружаемые пользователями файлы создавались как root:sftp_only 664 то, по крайней мере, они могут изменять / удалять свои собственные файлы с помощью групповой записи, но не изменять права доступа, поскольку они не владеют ими.

Использование: CentOS версии 6.10, OpenSSH_5.3p1

CentOS 6 поставляется со слишком старой версией OpenSSH. Вы можете попробовать установить свою собственную версию, но тогда вам придется поддерживать ее, я бы предпочел полагаться на Red Hat / CentOS, чтобы она оставалась исправленной.

При обновлении до CentOS 7 будет поставляться версия OpenSSH 7.4p1, которая поддерживает -P флаг вам нужен.