linux ubuntu 10.04 Configuração de sftp de x64 do openssh de LTS

1

servidor Linux com o seguinte software:

- Ubuntu 10.04 LTS x64
- Linux kernel 2.6.38

Precisa da seguinte configuração / software:

- SSH through rsa key authentication
- SFTP with the following properties:
    - Single user
    - Access to ONLY /var/www (no home directory what so ever)
    - Rsa key authentication

O servidor estará na internet, por isso precisa estar seguro. Como posso fazer isso corretamente? Eu fico preso com a configuração do usuário do SFTP, ele pode acessar o FTP, mas não escrever nada, também não baixar. Eu acho que eu faço algo errado com chown ou permissões não estão definidas corretamente, eu simplesmente não consigo descobrir o que está causando esse problema.

sudo apt-get install openssh-server

sudo mkdir /var/www
sudo groupadd sftp_users
sudo useradd -d "/var/www" --groups sftp_users -s /bin/false -p '!' "root_sftp"
sudo passwd root_sftp

sudo chmod 751 /var/
sudo chmod 770 /var/www
sudo chown root:root_sftp /var/www

sudo nano /etc/ssh/sshd_config

Adicionadas / alteradas as seguintes coisas ao arquivo sshd_configuration

PermitRootLogin no
AuthorizedKeysFile /etc/ssh/authorized_keys
PermitEmptyPasswords no
PasswordAuthentication yes

Subsystem sftp internal-sftp

Match User root_sftp
        ChrootDirectory /var/www
        ForceCommand internal-sftp
        X11Forwarding no
        AllowTcpForwarding no
        PermitRootLogin no
        AllowAgentForwarding no

Agora, mais uma vez, o problema é que o usuário pode fazer o login, com uma chave, o SSH também está funcionando perfeitamente, mas o SFTP não está funcionando corretamente.

O usuário pode entrar com o SFTP (eu usei o filezilla) mas ele não pode fazer o upload, etc. Parece que o usuário só tem o bit de execução (--x ou 1)

Eu realmente espero que alguém possa me ajudar, eu demorei muito para configurar já. Obrigado pela ajuda e seu tempo.

Permissão extraída de root, / var e / var / www

# ls -lad / /var /var/www
drwxr-xr-x 22 root root               4096 2012-03-13 22:59 /
drwxr-x--x 15 root root               4096 2012-03-13 23:04 /var
drwxrwx---  3 root root_sftp 4096 2012-03-13 23:15 /var/www

O diretório / var / www está vazio.

    
por mike vercoelen 13.03.2012 / 19:32

1 resposta

1

Como root:

mkdir /var/www/files
chown root_sftp:sftp_users /var/www/files

O usuário do SFTP pode colocar arquivos no que aparece sob o chroot como / files? Não me lembro imediatamente, mas acho que você não será capaz de escrever contra o aparente / por causa da prisão chroot.

Atualização:

Ah, na verdade está na página man do sshd_config:

 ChrootDirectory
         Specifies a path to chroot(2) to after authentication.  This path, and all its components, must
         be root-owned directories that are not writable by any other user or group.

Portanto, o que você especificar como ChrootDirectory em / etc / ssh / sshd_config não pode ser gravável. Você pode repensar sua configuração de diretório, então qual é a raiz do documento para o seu site /var/www/example.com, onde o subdiretório example.com é gravável pelo usuário do SFTP.

    
por 13.03.2012 / 23:49

Tags