В настоящее время я настраиваю одного пользователя на моем виртуальном хосте так:
sudo useradd -d /website/ -m user -s /usr/bin/rssh
sudo chown root:root /website/ -R #Don't get why I need this part but doesn't work without!
sudo chmod 755 /website/
sudo chown -R user:www-data /website/public_html
sudo chmod 755 /website/public_html
Это работает для user
добавлять и редактировать папки и файлы в /website/public_html
,
Теперь я хочу иметь возможность добавлять других пользователей с возможностью добавлять и редактировать папки и файлы в /website/public_html
, Проблема в том, что если я вхожу в использование групп и добавляю пользователей в группу www-data
и измените chmod на 775, чтобы пользователи могли редактировать другие сайты виртуальных хостов, например /website2/public_html
,
Все пользователи (как вы можете видеть выше) могут получить доступ к серверу только через sftp (-s /usr/bin/rssh
). Пользователи также заблокированы в своих домашних каталогах с помощью настроек из sshd_config
†. Предполагается, что я могу добавить всех пользователей в одну группу (www-data
) а также chmod 775
каталог или это не безопасно ?
Например Вот кто-то упоминает, что дает виртуальные хосты 775
Права доступа могут позволить пользователям вставлять php-скрипты, которые могут удалить все. Но без этого 775
это также не позволяет php создавать файлы.
†:
Match user user
ChrootDirectory /website/
ForceCommand internal-sftp
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no
Вы можете создать новую группу для каждого виртуального хоста и добавить к ней www-данные и других предоставленных пользователей. Затем установите эту группу в качестве владельца ваших файлов (chown). С указанием соответствующего разрешения (например, 775) вы будете там.
Других решений пока нет …