1

Я запутался по поводу разрешений и доступа к sftp в Ubuntu.

У меня есть пользователь, который имеет доступ к папке www:

<username>:www-data

Я установил следующее в sshd_config:

Subsystem sftp internal-sftp
Match group www-data
    X11Forwarding no
    ChrootDirectory /var/www
    AllowTcpForwarding no
    ForceCommand internal-sftp
Match
Match user <username>
    X11Forwarding no
    ChrootDirectory /var/www/<theirwebsite>
    AllowTcpForwarding no
    ForceCommand internal-sftp
Match

Я изменил в sshd_config местоположение author_keys (из-за Ubuntu, шифрующего домашнюю папку)

AuthorizedKeysFile    /etc/ssh/%u/authorized_keys

У меня есть chown -R username:www-data to all the www directories

И чмод их тоже до 755

Иногда я могу получить доступ через sftp, но тогда он не позволяет мне редактировать файлы. В других случаях я не могу получить доступ вообще.

Я был бы очень признателен за любое объяснение или, возможно, указать куда-нибудь файл справки.

ура

1 ответ1

0

В игру вступают 2 разных элемента:

  1. Возможность входа на сервер через ssh
  2. Разрешения на файлы.

Все изменения, которые вы внесли в файлы SSH, связаны с разрешением доступа к системе, но файлы будут принадлежать пользователю, который вошел в SSH.

Вы можете читать файлы ОК, потому что права 755 говорят «Владелец может читать, писать и выполнять», любой другой может читать и выполнять.

Взлом (и менее безопасный способ) решения этой проблемы заключается в том, чтобы убедиться, что файлы имеют вид chmod 777 (т.е. каждый может их прочитать, удалить и отредактировать).

Лучшим способом было бы поместить имя пользователя в группу www-data/etc/groups) и дать файлам права доступа 775 (т.е. владелец и группа могут читать, писать и выполнять, все остальные могут просто читать и выполнять)

Я не видел этого раньше, но команды sshd_config , предполагая, что они работают - и у меня нет оснований полагать, что они не будут - ограничивают пользователя своим собственным каталогом и только выполнением sftp . Это ничего не может сделать с изменением владельца файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .