Centos 6 上的 SFTP 黑名单命令?

Centos 6 上的 SFTP 黑名单命令?

我已设置了一个新帐户,只需授予 shell/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

到目前为止一切顺利。我可以上传文件,而且大部分内容都被锁定,但用户仍然可以mkdirrmdir和更改文件权限,出于安全原因,我不想允许这些权限。我一直在尝试让黑名单像这样工作

ForceCommand internal-sftp -P mkdir,rmdir

然而,虽然这些白名单/黑名单参数在OpenBSD,Centos 上的版本sftp-server仅允许日志记录和文件掩码选项

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

答案1

CentOS 6 附带的 OpenSSH 版本太旧了。您可以尝试安装自己的版本,但随后您必须维护该版本,我更愿意依赖 Red Hat/CentOS 来保持修补。

如果您升级到 CentOS 7,附带的 OpenSSH 版本是 7.4p1,它支持-P您需要的标志。

相关内容