sftp do trabalho do doseador em cromado com algum cliente sftp (Cyberduck)

1

Eu não consigo trabalhar em env SFTP + chrooted Usando a diretiva internal-sftp funciona, mas não consigo definir umask. (ex umask 002) Usando sftp-server do pacote openssh não funciona porque shell de login para replay apenas do usuário com / bin / false (arquivo não encontrado) Este é um comportamento do servidor sshd de: link

Minha configuração do sshd:

Match User sftponly
ChrootDirectory /mnt/www-prod-shared-jail/sftponly/
AllowTCPForwarding no
X11Forwarding no
#ForceCommand internal-sftp -u 002
ForceCommand /usr/lib/openssh/sftp-server
#ForceCommand /bin/sh -c 'umask 002; /usr/lib/openssh/sftp-server'

como você resolveu isso? Meu ambiente chrooted, em casa (chrooted) é / jail / user / bin / false

Eu tento:

  • excluir .bashrc
  • desativado / bin / bash na configuração / etc / passwd / bin / false
  • tente recriar / bin / bash no choroot, mas nada funciona.

Você tem alguma ideia?

Obrigado Ema

    
por emaaaa 08.04.2011 / 17:11

3 respostas

1

O servidor sftp interno está sendo executado como root e, portanto, pega umask de raiz. você pode consertar isso forçando a umask, por exemplo em /etc/ssh/sshd_config change

Subsystem sftp /usr/lib/openssh/sftp-server

para

Subsystem sftp /bin/sh -c 'umask 0002; /usr/libexec/openssh/sftp-server'

ou qualquer que seja você quiser.

    
por 09.04.2011 / 11:52
0

Eu encontrei isso recentemente. Especificar o umask no sshd_config funciona com o sftp, mas não com o interno-sftp. Infelizmente, para prender os usuários sem criar um ambiente chroot inteiro, você tem que usar o internal-sftp. A boa notícia é que ainda há uma maneira de definir o umask se você estiver usando o PAM.

Crie um grupo que contenha todos os seus usuários do sftp. Por exemplo, vamos chamá-lo de sftpjail.

Em seguida, adicione o seguinte ao /etc/pam.d/login

session optional pam_umask.so sftpjail umask=0002

Isso definirá o umask para todos os usuários no grupo sftpjail.

EDITAR Se você quiser usar a configuração que você tem acima, eu tenho certeza que você está perdendo o ambiente chroot (binários, arquivos de configuração, etc) - daí o "arquivo não encontrado" erros quando ele tenta fazer chroot. Embora se fosse eu, eu voltaria a usar o "ForceCommand internal-sftp" e definir o umask no PAM

    
por 09.04.2011 / 17:47
0

Eu tive esse problema, mas eu estava usando o ssh na máquina cliente em vez do sftp. Assim que usei sftp user @ host em vez de ssh user @ host, funcionou bem.

    
por 01.05.2013 / 16:38