Ssh
Centos 6 上的 SFTP 黑名單命令?
我只通過提供 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
您需要的標誌。