O usuário do SFTP não pode editar ou criar arquivos

4

Servidor: Ubuntu 12.04 LTS

Estou usando o openSSH e criei um usuário do SFTP chamado bob , que pertence ao grupo sftponly . Eu tenho chrooted bob para seu diretório inicial que é /usr/share/nginx/www/bob/ .

bob é capaz de fazer SFTP no servidor e view é o diretório home, no entanto ele é incapaz de editar os arquivos em seu diretório. Eu executei chown -R bob /usr/share/nginx/www/bob/* para tornar Bob o dono de seus arquivos, mas ele ainda não consegue editá-los.

Por que isso seria?

    
por George Reith 07.04.2013 / 16:35

1 resposta

6

Para chroot corretamente um membro do grupo sftponly, você precisa definir essas opções em /etc/ssh/sshd_config :


Subsystem       sftp    internal-sftp
Match Group sftponly
        ChrootDirectory /srv/chroot/%u
        ForceCommand internal-sftp

É um requisito que o diretório inicial, e os diretórios até a raiz do sistema, dos usuários chroot devem pertencer a root:root

Dados os seguintes valores para um usuário:


$ id user001
uid=1003(user001) gid=1003(user001) groups=1006(sftponly)
$ grep user001 /etc/passwd
user001:x:1003:1003::/input:/sbin/nologin

Você precisa de uma estrutura de diretórios como esta:


$ tree /srv/chroot
/srv/chroot
├── user001
│   └── input

Como o diretório HOME do user001 é avaliado após a chamada chroot, ele entra no diretório input , onde as permissões de gravação são válidas:


$ ls -lrtd /srv/chroot/user001/input
drwxrwx--- 2 user001 sftponly 4.0K Apr 07 17:55 /srv/chroot/user001/input
    
por 07.04.2013 / 18:00