允许用户通过SFTP下载文件、删除文件,但不允许添加或修改

允许用户通过SFTP下载文件、删除文件,但不允许添加或修改

我在 CentOS 7.4 上有一个 SFTP 服务器(通过标准sshd),我想调整服务器,以便用户可以在他们的目录中下载文件,删除在他们的目录中的文件,但不能上传新文件或覆盖文件。

我可以使用chmod来设置rw,但我不希望用户能够上传新文件或修改它们,而只是下载它们。

这里有什么技巧可以使用吗?(似乎大多数人都想阻止删除,并允许添加/修改,而​​我想要的则相反。)

我还启用了 SELinux 并使其运行,如果这也有帮助的话。

对于用户来说chmod 555,我得到的最接近的结果是,但是我无法删除文件,只能读取它。如果我进入目录,我可以读取和删除文件,并且无法修改现有文件,但仍然可以添加新文件。chownchmod 755

此外,我的相应部分/etc/ssh/sshd_config

Match Group sftpusers
    ChrootDirectory /zfspool/sftp/%s
    ForceCommand internal-sftp

其余均为默认设置。SFTP 服务器是:

Subsystem    sftp    /user/libexec/openssh/sftp-server

答案1

您可以使用 sftp-server 的黑名单功能执行此操作,在 sshd_config 中设置:

Subsystem       sftp    /usr/libexec/openssh/sftp-server -P write

或者如果使用 internal-sftp:

ForceCommand internal-sftp -P write

您可以在白/黑名单模式下控制允许的请求,请参阅 man sftp-server 和 sftp-server -Q 请求以获取服务器上可用请求的列表。

相关内容