Глиф Учебники

Ошибка Permission denied

Справочник · Командная строка Linux · 2 минуты чтения

Permission denied (в русской системе — «Отказано в доступе») значит, что у вашего пользователя нет нужного права на файл или папку. Что делать, зависит от того, что именно вы пытались сделать.

Частые случаи

Найдите случай по тому, что вы делали, когда появилась ошибка:

Правите системный файлдобавьте sudo

Файлы в /etc, /var, /usr меняет только администратор — как и команды для всей системы (например, перезапуск служб). Добавьте sudo перед командой:

Bash
sudo nano /etc/hosts
sudo systemctl restart nginx

Дальше: «Похожие сообщения»

Запускаете скриптдайте право на выполнение

Ошибка выглядит так: ./script.sh: Permission denied. У файла нет права на выполнение:

Bash
chmod +x script.sh
./script.sh

Подробнее, в том числе про флешки и noexec, — в справке Как сделать скрипт исполняемым и запустить .sh.

Дальше: «Похожие сообщения»

Свои файлы не меняютсяверните их себе

Скорее всего, они были созданы командой с sudo и теперь принадлежат root. Посмотрите владельца в ls -l и верните файлы себе (вместо ~/projects — ваша папка):

Bash
ls -l ~/projects
sudo chown -R $USER:$USER ~/projects

Дальше: «Похожие сообщения»

Пишете в файл через sudo echo … >используйте tee

Перенаправление > выполняет ваша оболочка без прав root, sudo действует только на echo. Правильно — через tee:

Bash
echo "192.168.1.10 server" | sudo tee -a /etc/hosts

-a дописывает в конец; без него tee перезапишет файл целиком.

Дальше: «Похожие сообщения»

Не открывается папкапроверьте права на весь путь

Чтобы войти в папку (cd) или открыть файл внутри, нужно право x на эту папку и на все папки выше по пути. Права каждой части пути показывает namei -l /var/www/site/index.html.

Похожие сообщения

Чего не делать

Не «лечите» ошибку командой chmod -R 777 и не работайте постоянно под root. 777 разрешает менять файлы всем пользователям и программам — на сервере это прямая дорога к взлому, а chmod -R по системным папкам ломает систему (перестаёт работать даже sudo). Дайте права ровно тому, кому они нужны: смените владельца (chown) или добавьте пользователя в группу.

Как устроены права — в уроке Права доступа: chmod, chown и rwx.