chroot SFTP: sshd_selinux_copy_context: getcon falhou com permissão negada [postauth]

0

Estou empenhado em criar o chroot do SFTP. Eu sou capaz de fazer o login, mas eu estou recebendo "Permissão negada" o que eu tento.

sftp webadm@<ip>:
webadm@<ip>'s password:
Connected to <ip>.
Changing to: /
sftp> ls
remote readdir("/"): Permission denied
sftp>

Foi o que eu fiz:

/etc/ssh/sshd_config
Subsystem sftp internal-sftp
Match Group sftponly
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        PermitTunnel no
        X11Forwarding no

Eu criei o usuário webadm

useradd webadm
passwd webadm
groupadd sftponly
gpasswd -a webadm sftponly
usermod -g sftponly webadm
groups webadm
webadm : sftponly

Eu segui este link como

ll /home/
drwx------+ 5 root   root   4096 May 31 23:49 webadm
ll /home/webadm/
-rw-r--r--.  1 webadm sftponly    5 May 31 23:34 test
getfacl /home/webadm/
getfacl: Removing leading '/' from absolute path names
# file: home/webadm/
# owner: root
# group: root
user::rwx
group::---
mask::---
other::---

Não há raiz escrito tem que ter diretora chroot, mas, em seguida, como usuário webadm pode acessar o conteúdo de seu dir? Eu tentei

setfacl -m u:webadm:rwx /home/webadm/

mas nem sequer consegui iniciar sessão.

Eu também tentei combinar o usuário em sshd, mas o mesmo efeito

Match User webadm
       ChrootDirectory /home/webadm
       AllowAgentForwarding no
       X11Forwarding no
       AllowTcpForwarding no
       #PermitTTY no
       ForceCommand internal-sftp
       PermitTunnel no

Selinux está no modo permissivo. O único erro que posso ver está em / var / log / secure

Accepted password for webadm from <ip> port 19669 ssh2
pam_unix(sshd:session): session opened for user webadm by (uid=0)
sshd_selinux_copy_context: getcon failed with Permission denied [postauth]

Então, o que estou fazendo de errado? Qualquer ajuda realmente apreciada. Obrigado.

    
por Sigi 03.06.2016 / 18:32

1 resposta

0

drwx------+ 5 root   root   4096 May 31 23:49 webadm

Tente definir as permissões nesse diretório como 755 (rwxr-xr-x) em vez de 700. O ID do webadm precisa da permissão Ler e eXamine no diretório para poder ver os arquivos nele.

O servidor ssh ficará bem com o diretor sendo legível. O recurso chroot requer apenas que o diretório não seja gravável . Do sshd_config manual (grifo nosso):

ChrootDirectory
Specifies the pathname of a directory to chroot(2) to after authentication. At session startup sshd(8) checks that all com- ponents of the pathname are root-owned directories which are not writable by any other user or group. After the chroot, sshd(8) changes the working directory to the user's home directory.

Sugiro que você remova a ACL do diretório também, a menos que seja necessário por algum outro motivo. Não acredito que o SSHD considere a ACL ao decidir se o diretório é adequado como um diretório chroot.

    
por 03.06.2016 / 20:51

Tags