У меня довольно простой контейнер для док-контейнера sftp, в котором у меня есть следующие /etc/ssh/sshd_config
, вдохновленные множеством разных источников в Интернете - нет претензий, что это прекрасно, но эй, это вроде работы ,umask для внутреннего-sftp в контейнере Docker
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
.
Что мне не хватает? Есть ли возможность, что мой контейнер отсутствует? Есть что-то еще?
'umask' обычно устанавливается также в сценариях запуска (' ~/.bashrc' и т. Д.) Или в PAM: 'pam_umask'. Возможно, это может быть перезаписано некоторыми из этих средств. – Jakuje
Сценарии запуска не должны вызываться, так как это учетные записи nologin. Я посмотрю в PAM, спасибо за головы. – Morpheu5