Я установил LAMP в моей системе Ubuntu 12.04. Я хочу установить пароль для всех файлов в корневой папке Apache, чтобы их могли использовать только авторизованные люди. Как установить пароль для папок?
В этом случае вы не хотите защищать файлы паролем, а решаете, кому следует разрешить прикасаться к файлам. Это учетные записи пользователей, которые должны быть защищены паролями (или другими средствами, такими как ключи). Все остальное будет применяться для обмена паролями между пользователями, что всегда неверно.
То, что вы хотите сделать, это установить право собственности на файлы и каталоги. Это просто: chown -R www-data:groupname /siteroot
(siteroot - это каталог, содержащий файлы, которые вы хотите защитить).
В приведенном выше примере я установил право собственности на www-data, поскольку этому пользователю необходим доступ для публикации этих файлов. Я установил «имя группы» в качестве владельца группы. Вы можете использовать свою основную группу, которая совпадает с вашим именем пользователя. В этом случае только вы и сервер сможете управлять этими файлами.
Если вы хотите, чтобы более одного локального пользователя могли управлять контентом, то вы хотите создать новую группу, добавить соответствующих пользователей в эту группу и сделать ее владельцем группы. Допустим, вы хотите, чтобы существующие пользователи "joe", "john" и "gina" могли читать и редактировать файлы в каталоге / var / www /. У всех остальных вообще не должно быть доступа к этой папке.
addgroup mysite-editors
adduser joe mysite-editors
adduser john mysite-editors
adduser gina mysite-editors
chown -R www-data:mysite-editors /var/www/*
chmod o-rwx -R /var/www
Последняя строка - это то, что удаляет «чужие» права на чтение, доступ или запись в любые файлы в / var / www.
Для этого вы можете использовать обычную аутентификацию. Например:
Создайте файл htpasswd в папке apache (Вы можете создать его где угодно)
htpasswd -c /etc/apache2/passwd username
Теперь добавьте приведенный ниже контент в /
директива:
AuthType Basic
AuthName "By Invitation Only"
AuthUserFile /etc/apache2/passwd
Require valid-user