Невозможно удалить отказано в доступе ubuntu

Обновлено: 06.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выводы

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

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

В домашнем каталоге есть файл: **.doc Фменеджер говорит что весит он 3,6 Мб. но удалять отказывается от простого пользователя. говорит файла такого нет. из под рута таже история. говорит нет файла и все тут! ФС - ext3 ОС openSUSE11.2 КДЕ4

Подскажите в чем может быть дело? Как побороть этот файл? Просто он уже достал, ему уже 2 года. судя по данным из файлменеджера.

С какими опциями примонтирован раздел?(вывод mount) Какие права у файла?(вывод ls -l) Какая общая ситуация по фс в системе?(вывод df) Как удаляете? Пробовали удалять по номеру инода? UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code. наберите в консоли ls -l в этом каталоге.
вывод скопируйте суда.

Скоро придёт
Осень

Не удаля еться файл! Даже из под рута!

Коллега, исправьте.
Позорище же какое.

Скоро придёт
Осень

/**.doc"
Только кавычки обязательно. Или
rm

в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик

тогда будет спрашивать, какой файл удалять. есть ещё mc

Stasroot1
а причём тут рут?!
у вас ошибка разве "нет доступа"?
да даже если и эта - если вы чего-то не понимаете, то "от рута", вы всё равно ничего не поймёте, а просто завалите всю систему.

Скоро придёт
Осень

Не удаля еться файл! Даже из под рута!

Коллега, исправьте.
Позорище же какое.


Спасибо за указание ошибки, да еще и в названии темы! Исправил! (блин постоянно делаю ошибки с этим мягким знаком! Хотя знаю как проверить! :-) )

Всем спасибо за подсказки, после обеда все посмотрю и выводы сюда напишу. Спасибо за помощь.

наберите в консоли ls -l в этом каталоге.
вывод скопируйте суда.

Вот вывод относительно одного файла который меня интересует:

С какими опциями примонтирован раздел?(вывод mount) Какие права у файла?(вывод ls -l) Какая общая ситуация по фс в системе?(вывод df) Как удаляете? Пробовали удалять по номеру инода?
mount У меня для этих целей в bashrc прописана функция lsn, которая выводит файлы пронумерованными, и кроме того, прописывает их в переменные LS1, LS2, .
После чего файл с крякозябрами переименовывается так:
mv "$LS25" "normal_name"

тогда будет спрашивать, какой файл удалять. есть ещё mc

Stasroot1
а причём тут рут?!
у вас ошибка разве "нет доступа"?
да даже если и эта - если вы чего-то не понимаете, то "от рута", вы всё равно ничего не поймёте, а просто завалите всю систему.


Так объясните мне каким образом удаляя файл из под рута, файл который лежит в пользовательской директории можно завалить систему? Вроде как вордовские документы не являются системными и соответственно систему завалит не получится. поправьте в чем мои мысли неправильны если я ошибаюсь.

Возможно данный файл сначала стоит переименовать, а затем удалить. Возможно данный файл сначала стоит переименовать, а затем удалить.

Пробовал уже. Вот что получается: Файл или папка /home/stas/Загрузки/��.doc не существует.

Как я понимаю, если файл отсутствует то его нельзя удалить переименовать переместить.

Вариант со скриптом интересный, но пока не очень понятно что куда прописывать?

Так что вопрос переходит из области практического в область теоретическую.

Так объясните мне каким образом удаляя файл из под рута, файл который лежит в пользовательской директории можно завалить систему? Вроде как вордовские документы не являются системными и соответственно систему завалит не получится. поправьте в чем мои мысли неправильны если я ошибаюсь.

А потом набрал rm -rvf etc, что-бы стереть эту чужую папку. Вот только по инерции, случайно, я набрал /etc. К счастью, у меня был бекап и с того компьютера тоже
А у вас - есть?

Так что вопрос переходит из области практического в область теоретическую. $ ls -il итого 38124 24639 -rw-r--r-- 1 ftp ftp 104 2010-03-23 17:17 ?.txt 1558228 drwxr-xr-x 2 ftp ftp 4096 2010-03-23 17:16 . \ . / 1558227 drwxr-xr-x 2 ftp ftp 4096 2010-03-23 17:16 . \ . / 24640 -rw-r--r-- 1 ftp ftp 139559 2010-03-23 17:17 . fpl 1558226 drwxr-xr-x 3 ftp ftp 4096 2010-03-23 17:16 . / 1558221 drwxr-xr-x 5 ftp ftp 4096 2010-03-23 17:17 Bluetooth/ 1558225 drwxr-xr-x 2 ftp ftp 4096 2010-03-23 17:16 Youcam/ 24638 -rw-r--r-- 1 ftp ftp 38818792 2010-03-23 17:17 setuprus.exe

Скоро придёт
Осень

Да у меня есть копия и как правило я ее делаю перед тем как что то серьезное делать и предполагаю что возможно случайно или по незнанию поврежу ее работоспособность.

Но согласитесь в моем случае даже из под рута систему я не убъю так как действую в конкретной папке и в случае если долго бездействует то или иное приложение с правами рут которое дабы не нашалить я его закрываю.

За метод с инодами спасибо. Новое для меня. Но понятное.

Но согласитесь в моем случае даже из под рута систему я не убъю так как действую в конкретной папке и в случае если долго бездействует то или иное приложение с правами рут которое дабы не нашалить я его закрываю.
ага. я тоже действовал "в папке". И конкретно убил все конфиги сразу во всей системе. Случайно слеш поставил. Ага. Руки. Но это реальный случай. У вас ещё и не такое будет

Скоро придёт
Осень

Но согласитесь в моем случае даже из под рута систему я не убъю так как действую в конкретной папке и в случае если долго бездействует то или иное приложение с правами рут которое дабы не нашалить я его закрываю.
ага. я тоже действовал "в папке". И конкретно убил все конфиги сразу во всей системе. Случайно слеш поставил. Ага. Руки. Но это реальный случай. У вас ещё и не такое будет

Будет конешно разное, но я пользуюсь Linux не первый день и поэтому глупые ошибки маловероятны. да, что то подобное натворить я мог когда только первые разы ставил и настраивал систему. сейчас все летает и работает на уверенную четверку, и ничего особо правит редактировать не особо нужно. :-) А в особо глубокие места не лезу стараюсь, так как времени на это реально нет. За предупреждение спасибо, да под рутом надо поменьше копаться по ФС ОС.

Пожалуйста попробуйте что я мог бы такого сделать чтобы поламать систему, просто ятобы я не наступил на эти и подобные грабли своей криворукости. про криворукость: не отправлять на винду, меня линь устраивает вполне, ибо в игрушки я вообще не работаю, фотошоп ненужен так как заглаза хватает гимпа. . хотя в винде мой твтюнер встроенный в ноутбук работает, а тут так и не настроил (упорствовать не упорствовал но надобы).

Пытаюсь сделать это:

sudo echo no > /etc/pure-ftpd/conf/someparam

На что мне отвечают:

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

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

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

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

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

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


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


Другой случай, это если вы обнаруживаете проблему в логах какого-либо системного сервиса, например, веб-сервера 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, а также почему она возникает. Надеюсь, эта информация была полезной для вас. Если остались вопросы, спрашивайте в комментариях!

У меня была проблема с Wi-Fi, которая до сих пор не решена из-за проблемы, которая возникла, когда я пытался ее решить.

Я нашел это решение для Wi-Fi, поэтому попробовал его:

Вставьте в конфиг этот текст

Я заметил, что у меня не было разрешения на запись или выполнение файла, поэтому я попытался использовать chmod решить проблему. Это упорядоченный список всех операций, которые я сделал и которые привели к проблеме этого вопроса:

После третьей или четвертой команды (я не уверен, какая из них) я потерял свои права администратора; на самом деле, если я пытаюсь использовать команду sudo он выводит 3 строки, которые я переведу как можно лучше:

На терминале отображается

Теперь, когда я открываю терминал, он выводит мне строку bash /etc/profile: Permission denied, которую я никогда раньше не видел, и пропущенная часть имени необычна, потому что вместо нее следует писать zenoraiser.

Что вы предлагаете мне сделать?

2 ответа

Там нет необходимости выполнять chmod вообще при использовании sudo редактировать файл, хотя вы не должны использовать sudo gedit (скорее sudo -H gedit например)

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

В реальной среде определите (поврежденный) корневой раздел на диске, используя sudo fdisk -l

Пытаюсь сделать это:

sudo echo no > /etc/pure-ftpd/conf/someparam

На что мне отвечают:

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

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

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

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

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

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

bash отказано в доступе ubuntu

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

bash отказано в доступе ubuntu

Другой случай, это если вы обнаруживаете проблему в логах какого-либо системного сервиса, например, веб-сервера 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 пользователь /путь/к/каталогу

bash отказано в доступе ubuntu

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

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

bash отказано в доступе ubuntu

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

Выводы

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

У меня была проблема с Wi-Fi, которая до сих пор не решена из-за проблемы, которая возникла, когда я пытался ее решить.

Я нашел это решение для Wi-Fi, поэтому попробовал его:

Вставьте в конфиг этот текст

Я заметил, что у меня не было разрешения на запись или выполнение файла, поэтому я попытался использовать chmod решить проблему. Это упорядоченный список всех операций, которые я сделал и которые привели к проблеме этого вопроса:

После третьей или четвертой команды (я не уверен, какая из них) я потерял свои права администратора; на самом деле, если я пытаюсь использовать команду sudo он выводит 3 строки, которые я переведу как можно лучше:

На терминале отображается

Теперь, когда я открываю терминал, он выводит мне строку bash /etc/profile: Permission denied, которую я никогда раньше не видел, и пропущенная часть имени необычна, потому что вместо нее следует писать zenoraiser.

Что вы предлагаете мне сделать?

2 ответа

Там нет необходимости выполнять chmod вообще при использовании sudo редактировать файл, хотя вы не должны использовать sudo gedit (скорее sudo -H gedit например)

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

В реальной среде определите (поврежденный) корневой раздел на диске, используя sudo fdisk -l

Читайте также: