Рейтинг:0

certbot создает вызов, принадлежащий root:root и разрешения 640, и apache не может получить к нему доступ - настраиваемые ACL применяются к родительскому каталогу

флаг br

На моем сервере у меня есть специальные разрешения, которые я установил для своей папки public_html.

Сначала липкий бит

chmod g+s /home/domain.com/public_html

Также групповые разрешения по умолчанию.

setfacl -m 'по умолчанию: группа:: rwX' /home/domain.com/public_html

Когда я запускаю свою команду certbot

certbot конечно \
        --вебрут \
        -w /home/domain.com/public_html/ -d domain.com

certbot создаст .well-known/acme-challenge в папке public_html с правильными разрешениями. Он даже сохраняет правильное имя группы. Тем не менее, сам вызов acme будет иметь следующее.

-rw-r----- 1 root root 87 7 фев 17:27 ELnik5A0krJsKUsL2If1mVfd2pSzWJAiSSjhA6h-f5E

Он принадлежит root и имеет корень группы и не может быть прочитан apache2. Таким образом, вся операция проваливается.

Добавление --debug-challenges позволит приостановить его, чтобы я мог вручную исправить это, но у меня есть ощущение, что обновление может быть проблемой.

Какие у меня есть варианты, чтобы исправить это?

флаг in
Я бы спросил: «Почему вы используете certbot как root?» Возможно, вы захотите запустить его как более ограниченный пользователь. даже если это не решит вашу текущую проблему.
Рейтинг:1
флаг za

Ну, вы просто слишком усложняете вещи. Как много. Не нужно заставлять веб-сервер иметь дело со всеми вашими специальными разрешениями и прочим: просто сделайте его собственным веб-корнем для задач с простыми разрешениями (он будет размещать файлы примерно 0,0001% своего времени жизни, а 99,9999% просто останется пустым, поэтому он можно считать полностью безопасным):

для nginx это будет

    location ~* /.well-known/acme-challenge {
        позволять все;
        переписать ^/(.*)$ /$1;
        корень /var/www/le;
        сломать;
    }

и за заброшенное вроде (не уверен, десятилетиями не пользуюсь)

    Псевдоним "/.well-known/acme-challenge" "/var/www/le"

(а если серьезно, избавьтесь от апача, это музейный хлам, большинство людей избавились от него в начале 10-х)

а затем просто вызовите certbot с новым веб-рутом:

certbot точно --webroot -w /var/www/le -d foo.bar

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.