Я только что начал запускать сервер LAMP с AMI от turnkeylinux.com.
Он работает на AWS, все хорошо, довольно просто, чтобы все заработало.
Теперь я хочу разместить на этом сервере несколько сайтов, и я тоже это понял. Место, с которым я действительно сталкиваюсь с проблемами, - это предоставление пользователям соответствующего доступа через SFTP.
Я могу создать пользователя, который сможет войти в систему, но не могу понять, как на самом деле позволить ему изменять определенные файлы или папки в своей домашней папке.
Например:
Я вошел в систему как root, настраиваю все. Создаю /var/www/site1.com и загружаю кучу файлов. Я настроил свой DNS и VHosts, так что если я перейду на www.site1.com, он отлично работает.
Я создал пользователя с именем User1 и сделал его членом группы пользователей. а затем сделано
chown -R User1:www-data /var/www
Вроде работает, но я просто не уверен, что это было ПРАВИЛЬНО. И вот как я должен продолжать управлять сайтами. Он сделал все файлы 755. Я новичок в Linux, поэтому приветствую любые советы о том, как действовать.
«Правильный» способ зависит от множества факторов, но в простейшем случае:
1) Веб-сервер работает как www-data и должен отображать страницы в / var / www //
2) Пользователи должны иметь возможность писать в свои собственные папки
Итак, допустим, у вас есть /var/www/user1
с site1 и user2 с /var/www/
site2
Способ добиться того, что вы хотите, - это иметь все файлы, принадлежащие группе: www-data по всей иерархии папок / var / www
chown :www-data /var/www -R
И отдельные папки и файлы, принадлежащие соответствующему пользователю:
chown user1 /var/www/site1 -R
Затем вы можете использовать 640 разрешений для файлов (владелец: чтение-запись, группа: чтение, универсальный: ничего) и 750 для каталогов (владелец: чтение-запись-выполнение, группа: чтение-выполнение, универсальный: ничего)
Это становится более сложным, если вы хотите иметь возможность загружать файлы, например, через веб-сайты ...