我有一个相当简单的 sftp Docker 容器,其中包含以下内容/etc/ssh/sshd_config
,灵感来自 Internet 上许多不同的来源——没有声称它是完美的,但是,嘿,它有点工作。
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
PermitRootLogin no
PubkeyAuthentication no
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication yes
UsePrivilegeSeparation sandbox
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp internal-sftp -u 0002
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
强调Subsystem
线接近尾声。据我了解,该-u
选项为进程设置了 umask,因此也为登录它的用户设置了掩码。不用说,我可怜的用户不断创建具有权限的文件,644/755
而不是预期的664/775
.
我错过了什么?我的容器是否缺少某种功能?还有别的吗?