Ошибка Permission denied
Permission denied (в русской системе — «Отказано в доступе») значит, что у вашего пользователя нет нужного права на файл или папку. Что делать, зависит от того, что именно вы пытались сделать.
Частые случаи
Найдите случай по тому, что вы делали, когда появилась ошибка:
Правите системный файлдобавьте sudo
Файлы в /etc, /var, /usr меняет только администратор — как и команды для всей системы (например, перезапуск служб). Добавьте sudo перед командой:
sudo nano /etc/hosts
sudo systemctl restart nginxЗапускаете скриптдайте право на выполнение
Ошибка выглядит так: ./script.sh: Permission denied. У файла нет права на выполнение:
chmod +x script.sh
./script.shПодробнее, в том числе про флешки и noexec, — в справке Как сделать скрипт исполняемым и запустить .sh.
Свои файлы не меняютсяверните их себе
Скорее всего, они были созданы командой с sudo и теперь принадлежат root. Посмотрите владельца в ls -l и верните файлы себе (вместо ~/projects — ваша папка):
ls -l ~/projects
sudo chown -R $USER:$USER ~/projectsПишете в файл через sudo echo … >используйте tee
Перенаправление > выполняет ваша оболочка без прав root, sudo действует только на echo. Правильно — через tee:
echo "192.168.1.10 server" | sudo tee -a /etc/hosts-a дописывает в конец; без него tee перезапишет файл целиком.
Не открывается папкапроверьте права на весь путь
Чтобы войти в папку (cd) или открыть файл внутри, нужно право x на эту папку и на все папки выше по пути. Права каждой части пути показывает namei -l /var/www/site/index.html.
Похожие сообщения
Permission denied (publickey)при подключении по SSH — это не права файлов: сервер не принял ваш ключ или не разрешает вход по паролю. Подробнее — в теме Ubuntu.Operation not permitted— действие запрещено даже при правах на файл: например, менять владельца чужого файла безsudoили удалять файл с особым атрибутом.sudo: … is not in the sudoers file— вашему пользователю не разрешено пользоватьсяsudo. Попросите администратора системы добавить вас в группуsudo(в Ubuntu, Debian и Mint).
Чего не делать
Не «лечите» ошибку командой chmod -R 777 и не работайте постоянно под root. 777 разрешает менять файлы всем пользователям и программам — на сервере это прямая дорога к взлому, а chmod -R по системным папкам ломает систему (перестаёт работать даже sudo). Дайте права ровно тому, кому они нужны: смените владельца (chown) или добавьте пользователя в группу.
Как устроены права — в уроке Права доступа: chmod, chown и rwx.