як дозволити користувачам Apache та sftp писати у загальнодоступні папки користувача?


0

Вимоги:

  1. Користувачі sftp повинні мати можливість підтримувати веб-сайти свого акаунта через sftp. Я створив для них групу "sftponly".

  2. Apache (користувач: www-data) повинен мати можливість читати, писати та виконувати в папках "www" цих користувачів. Наприклад, функція автоматичного оновлення Wordpress повинна працювати без вказівки ftp.

Структура файлів, за якими я слідую, виглядає так:

/home/<username>/www/<domain.tld>/public

Мені вдалося змусити будь-яку вимогу працювати, але не дві разом.

Ось процес, який я дотримуюся, щоб створити нового користувача на даний момент:

adduser <username>
usermod -G sftponly <username>
chown root:root /home/<username>
chmod 755 /home/<username>
cd /home/<username>
mkdir www
chown -R <username>:sftponly *
chown -R www-data:www-data /home/<username>/www
chmod -R 770 /home/<username>/www

Як я можу відповідати обом вимогам?

Система: Ubuntu 14.04, Apache 2.4.7

Відповіді:


0

Я вважаю, що найпростішим способом задоволення обох вимог буде, мабуть, використання списків контролю доступу:

ACL - Arch-Wiki

Просто додайте ще одну групу, як-от так:

setfacl -mR "g:sftponly:rw" /home/<username>/www

Якщо ви не можете або не хочете використовувати ACL, я б запропонував переглянути цю документацію:

SCPOnly

SCPOnly - це спеціальна оболонка, яка може працювати з chroot тюрмами та PAM, щоб безпечніше дозволяти користувачам віддалений доступ.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.