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

Linux ubuntu 10.04 LTS x64 конфигурация openssh sftp

Сервер Linux со следующим программным обеспечением:

- Ubuntu 10.04 LTS x64
- Linux kernel 2.6.38

Требуется следующая конфигурация / программное обеспечение:

- 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

Сервер будет в Интернете, поэтому он должен быть безопасным. Как я могу это сделать правильно? Я застрял с конфигурацией пользователя SFTP, он может получить доступ к FTP, но ничего не писать, а также не загружать. Я предполагаю, что что-то не так с chown или разрешения не установлены должным образом, я просто не могу понять, что вызывает эту проблему.

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

Добавлены / изменены следующие вещи в файл 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

И снова проблема в том, что пользователь может войти в систему с помощью ключа, SSH также работает отлично, но SFTP не работает должным образом.

Пользователь может войти в систему с помощью SFTP (я использовал filezilla), но тогда он не может загрузить и т. Д. Кажется, что у пользователя есть только бит выполнения (--x или 1)

Я очень надеюсь, что кто-то может мне помочь, я уже долго настраивал. Спасибо за помощь и ваше время.

Извлеченные разрешения root, / var и / 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

Каталог / var / www пуст.

Как root:

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

Может ли ваш пользователь SFTP помещать файлы в то, что будет отображаться под chroot как / files? Я не припомню сразу, но думаю, что вы не сможете писать против очевидного / из-за chroot jail.

Обновить:

Ах, это на самом деле на странице руководства для 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.

Итак, то, что вы указываете как ChrootDirectory в / etc / ssh / sshd_config, не может быть записано. Вы можете переосмыслить настройку своего каталога, так что корень документа для вашего веб-сайта - /var/www/example.com, где подкаталог example.com доступен для записи пользователем SFTP.