nginx -t пишет Permission denied: проверка запущена без sudo
Проверку настроек запустили от обычного пользователя, а nginx должен открыть файлы, доступные только root. Запустите ту же команду с sudo: sudo nginx -t.
Содержание 8
Что сделать прямо сейчас
Все команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.
Что значит это сообщение
2026/10/09 12:00:00 [warn] 2345#2345: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2026/10/09 12:00:00 [emerg] 2345#2345: open() "/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed13: Permission denied — «нет прав». Команду nginx -t запустили без sudo, то есть от обычного пользователя. Дата, время и номер процесса у вас будут свои. В других сборках nginx та же строка начинается со слов nginx: [emerg].
- Первая строка — предупреждение: строка user в
nginx.conf(от какого пользователя работает nginx) действует, только когда nginx запущен от root. - Вторая строка говорит, что ошибок в тексте настроек нет.
- Третья — что nginx не смог открыть служебный файл
/run/nginx.pid, куда он записывает номер своего процесса. Создавать файлы в папке/runможет только root. Поэтому итог — test failed.
Если на сервере есть сертификаты
2026/10/09 12:00:00 [warn] 2345#2345: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2026/10/09 12:00:00 [emerg] 2345#2345: cannot load certificate "/etc/letsencrypt/live/example.com/fullchain.pem": BIO_new_file() failed (SSL: error:…:system library::Permission denied:calling fopen(/etc/letsencrypt/live/example.com/fullchain.pem, r) error:…:BIO routines::system lib)
nginx: configuration file /etc/nginx/nginx.conf test failedСертификаты nginx читает, ещё пока разбирает настройки, поэтому строки syntax is ok здесь нет. Папка с сертификатами Let’s Encrypt закрыта для всех, кроме root, так что причина та же — нет sudo.
Шаг 1. Запустите проверку с sudo
sudo nginx -tsudo запустит команду с правами root. Если sudo спросит пароль, введите пароль своего пользователя на сервере: символы при вводе не видны, это нормально. В конце нажмите Enter. Если всё в порядке, ответ будет таким:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulНе меняйте права на папки /run и /etc/letsencrypt, чтобы проверка шла без sudo: ключ сертификата должен оставаться закрытым от других пользователей.
Шаг 2. Если и с sudo есть ошибка
Если с sudo проверка показывает другую ошибку, найдите её текст на странице Все ошибки nginx.
Если sudo отвечает is not in the sudoers file или не принимает пароль, разберитесь сначала с sudo — на странице Ошибки apt и sudo.
Как проверить
sudo nginx -t отвечает syntax is ok и test is successful, строк со словами Permission denied нет.
Похожие ошибки
| Сообщение | Чем отличается |
|---|---|
| open() … failed (13: Permission denied) с client и request | Это не проверка, а работа сайта: у nginx нет прав на файлы сайта — см. 403 Forbidden |
| cannot load certificate | С sudo тоже не читается — файла нет или он не тот |
| Job for nginx.service failed | Ошибка при запуске через systemctl |
Тексты сообщений на этой странице сверены с исходным кодом nginx 1.24.0 — эта версия стоит в Ubuntu 24.04. В других версиях слова могут немного отличаться.
Источники
- Исходный код nginx 1.24.0: nginx.c — предупреждение про директиву user.
- Исходный код nginx 1.24.0: ngx_cycle.c — при проверке nginx открывает файл с номером процесса.
- Как nginx собран в Ubuntu 24.04: файл debian/rules — путь /run/nginx.pid и вывод ошибок проверки на экран.
- Файл nginx.conf из пакета nginx в Ubuntu 24.04 — строка 1: user www-data.
- Исходный код OpenSSL 3.0.13: err.c — названия system library и system lib.
- man sudo.
Сверено 9–10 октября 2026 года.
Что почитать дальше
- Permission denied в Linux — как понять, каких прав не хватает, и когда помогает sudo.
- Все ошибки nginx.
- Как подключиться к VPS по SSH.
- Как настроить VPS с нуля.
Проверено и обновлено: 10.10.2026