Назад | Перейти на главную страницу

OpenSSH 5.3 устанавливает UMASK для SFTP chroot env, не работает вообще

Я попытался переопределить настройку umask для SFTP-соединения в chrooted env. Я не мог использовать различную подсистему, кроме внутреннего ftp.

В OpenSSH_5.3p1 (Debian-3ubuntu4, OpenSSL 0.9.8k 25 марта 2009 г.) есть настройка umask непосредственно из команды.

Как ты умеешь устанавливать?

Моя конфигурация sshd:

Match User myuser
ChrootDirectory /mnt/jail/myuser/
AllowTCPForwarding no
X11Forwarding no
#ForceCommand /usr/lib/openssh/sftp-server -l DEBUG3
#ForceCommand /bin/sh -c 'umask 002; /usr/lib/openssh/sftp-server'
ForceCommand internal-sftp -u 002

во всяком случае, это работает.

Если вам не нужен патч, вот еще одно решение:

В sshd_config:

# Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp /usr/local/bin/sftpwrapper

# And the Match Group, ChrootDirectory, etc... declarations

И в / usr / local / bin / sftpwrapper (chmod 755, chown root: root)

#!/bin/bash --
umask 0002
exec /usr/lib/openssh/sftp-server

Пользователи в chrooted группе все еще могут использовать / bin / false в качестве оболочки.

Есть патч, который вы, возможно, захотите посмотреть, который добавляет SftpUmask возможность sshd_config.

http://sftpfilecontrol.sourceforge.net/

Вы также можете использовать pam_umask для эта тема. В /etc/pam.d/sshd:

session    optional     pam_umask.so umask=0002