Ssh

Centos 6 上的 SFTP 黑名單命令?

  • September 5, 2019

我只通過提供 shell 為 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上可用,但 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

CentOS 6 附帶的 OpenSSH 版本太舊。你可以嘗試安裝你自己的版本,但你必須維護它,我更喜歡依靠 Red Hat/CentOS 來保持這個更新檔。

如果您升級到 CentOS 7,則隨附的 OpenSSH 版本是 7.4p1,它支持-P您需要的標誌。

引用自:https://serverfault.com/questions/982009