Главная >> Терминал >> Ошибка отказано в доступе Linux

Ошибка отказано в доступе Linux

Новые пользователи довольно часто сталкиваются с такой ошибкой, как ошибка отказано в доступе Linux. Если вы только что перешли с Windows, то можете еще не знать всех особенностей операционной системы Linux и почему возникает такая проблема.

В этой статье мы рассмотрим причины ошибки access denied linux, а также как ее обойти.

Ошибка отказано в доступе Linux

Наиболее часто такая ошибка встречается, в таких случаях:

  • Вы пытаетесь выполнить команду в терминале;
  • Вы пытаетесь примонтировать внешний носитель с помощью файлового менеджера;
  • Вы пытаетесь запустить системный сервис и находите такую ошибку в логе.

В операционной системе Linux действует сложная система полномочий. Настройки доступа для каждого файла настраиваются тремя параметрами - чтение, запись и выполнение. Эти параметры устанавливаются для трех категорий - владелец файла, группа файла и все остальные пользователи.

Если вы попытаетесь получить доступ, например, открыть для чтения файл, к которому вам доступ не разрешен, то вы получите такую ошибку. А учитывая что все устройства, сокеты, и другие системные объекты - это тоже файлы, то вы будете получать такую ошибку всегда, когда попытаетесь сделать то, что вам не позволено. Самый простой способ обойти такой запрет - это выполнять нужную команду от имени суперпользователя.

Многие программы проверяют после запуска от какого пользователя они запущены и говорят, что их нужно запускать от имени суперпользователя, но так ведут себя не все. Например, команда ls вернет ошибку отказано в доступе linux если вы попытаетесь посмотреть содержимое каталога суперпользователя:

ls /root

Но эта же команда нормально отработает нормально при использовании команды sudo:

sudo ls /root

Другой случай, это если вы обнаруживаете проблему в логах какого-либо системного сервиса, например, веб-сервера Apache. Казалось бы, должно было быть все верно, потому что запуск и так выполняется от имени суперпользователя.

Но нет, сервисы не только запускаются от имени суперпользователя, но потом, для увеличения безопасности они меняют пользователя на обычного, не привелигированного. Например, Apache работает от имени пользователя apache или www-data. Уже от имени этого пользователя программа пытается получить доступ к файловой системе.

Если нужная папка не доступна этому пользователю для чтения то вы получите ошибку access denied linux. Обычно, в логе программа сообщает какая папка или файл нужен когда происходит ошибка.

Вам просто нужно поменять на него права с помощью утилиты chmod или изменить владельца chown. Причем, нужно чтобы ко всем подкаталогам на пути к целевому каталогу был доступ у программы. Например, нельзя так чтобы права на чтение /home/ не было, а на /home/user/ было. Так не пройдет.

Права разрешающие чтение и запись владельцу и только чтение для группы и остальных вставляются командой:

sudo chmod 755 /путь/к/файлу

Или для смены прав для всех файлов в каталоге и самого каталога:

sudo chmod -R 755 /путь/к/каталогу

Или вы можете изменить владельца, обычно, это более безопасная и распространенная практика:

sudo chown пользователь /путь/к/файлу
$ sudo chown -R пользователь /путь/к/каталогу

Имя пользователя, от имени которого работает сервис вы можете посмотреть с помощью команды:

sudo ps aux | grep имя_сервиса

После того как вы установите правильные права, ошибка отказано в доступе linux больше не будет встречаться.

Выводы

В этой статье мы рассмотрели что делать если случается ошибка нет доступа linux, а также почему она возникает. Надеюсь, эта информация была полезной для вас. Если остались вопросы, спрашивайте в комментариях!

Оцените статью

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (18 оценок, среднее: 4,06 из 5)
Загрузка...

12 комментариев к “Ошибка отказано в доступе Linux”

  1. Идите вы с вашим линуксом. Не зря один процент пользователей. Не могу на свой жесткий диск записать файлы с флешки. Это полный п-ц.

    Ответить
  2. Спасибо Основателю и администратору сайта,за проделанный труд и повседневную работу над описанием программ, решений проблем и многое многое другое связанных с ОС Линукс и с его большим количеством дистрибутивов и прикладных программ.
    Материал выдан доступным и понятным языком, есть примеры и задачи по созданию тех или иных приложений. Одним словом здесь все что нужно, для ознакомления новичкам и развития своего потенциала бывалым пользователям Линукс.
    Благодарю Вас за материалы, поддержку и доступность саморазвития и осваивания ОС.

    Ответить
  3. Здравия я от невозможности установить винду ,убунту установила - жила норм , долгие месяцы ,пока не понадобилось 1 с установить на комп и вот уже 5 дней с утра до ночи , иду в магазин за молоком и говорю вот роот не виноват хоть чась папок 1с там а не в папке пользователя .... каждый день читаю статьи ,смотрю видео - а ошибка в программе 1cv8t.exe вылазит не смотря на на все мои попытки зависимости в терминале прописать ....Может есть у кого опыт установки 1с учебная версия на линукс убунту Ubuntu 22.04.2 LTS?

    Ответить
  4. Консоль запущена из-под root.
    При попытке запустить pvdisplay получаю "Отказано в доступе".
    В PATH добавил путь, где расположен pvdisplay (/usr/share/bash-completion/completions). Исправил .bashrc. Права на pvdisplay "rwxrwxrwx".
    Но получаю ошибку "Отказано в доступе". В чем причина?

    Ответить
  5. Решила очень просто: перенесла установочные файлы на внешний диск, с него запустила установку в домашнюю папку. Все работает. У меня Ubuntu 22.04.3 LTS

    Ответить

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