- Файл-доступ запрещён
- Ошибка отказано в доступе Linux
- Ошибка отказано в доступе Linux
- Выводы
- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Решение проблемы «E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock» в Kali Linux
- Аварийное завершение работы во время обновления системы или установки программ
Файл-доступ запрещён
Здрствуйте форумчане.Подскажите пожайлуста.
Отредактировал файл-при сохранении пишет-доступ запрещён.
как с этим бороться?
Значит нет прав на запись в директорию, куда вы пытаетесь сохранить файл и/или нет прав на запись в выбранный файл. Обычно это можно исправить, если запустить команду с sudo .
Если вы открываете текстовый редактор из меню или двойным кликом по файлу, то есть когда нет возможности ввести sudo, то значит нужно изменить способ открытия на командную строку.
Для этого используйте команду вида:
sudo РЕДАКТОР /ПУТЬ/ДО/ФАЙЛА
В качестве РЕДАКТОРА может быть, например, gedit.
Пример команды, которая открывает файл /etc/hosts в редакторе gedit, запущенным с повышенными привилегиями:
@mial пробовал vim-nano при сохранении пишет -доступ запрещён.
Насколько я понимаю, запускаете их с sudo? Проверьте, доступна ли сама файловая система для записи — возможно, она смонтирована только для чтения.
Если файловая система смонтирована в том числе и для записи, то похоже на то, что у файла установлен атрибут i — это нечасто используемый атрибут, который запрещает любое изменение файла и его имени даже пользователю root — изменить файл становится возможно только после снятия атрибута, это делается командой вида:
sudo chattr -i /ПУТЬ/ДО/ФАЙЛА
не удаётся отредактировать.
┌──(root?kali)-[/home/kali]
└─# /etc/NetworkManager/NetworkManager.conf 127 ⨯
zsh: Отказано в доступе: /etc/NetworkManager/NetworkManager.conf
Извините, а вы вообще понимаете, что делаете?
В предпоследнем сообщении вы проверяете атрибуты в текущей директории. А в последнем сообщении вы просто вводите имя файла без указания программы, которой вы хотите его открыть, причём этот файл вообще в другой директории. Или это троллинг?
Если вы реально не понимаете, что делаете, то файл нужно открывать так:
sudo gedit /etc/NetworkManager/NetworkManager.conf
Если gedit не установлен, то установите его.
Это ваша задача сразу понятно объяснить что именно вы пытаетесь делать, чтобы общение не превращалось в чат. То есть написать, какие команды вводите, какого результата ожидаете, и что вас не устраивает в полученном результате. Никому не интересно вести с вами «беседы» и гадать, что за неведомая хрень у вас там происходит.
Ошибка отказано в доступе Linux
Новые пользователи довольно часто сталкиваются с такой ошибкой, как ошибка отказано в доступе Linux. Если вы только что перешли с Windows, то можете еще не знать всех особенностей операционной системы Linux и почему возникает такая проблема.
В этой статье мы рассмотрим причины ошибки access denied linux, а также как ее обойти.
Ошибка отказано в доступе 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, а также почему она возникает. Надеюсь, эта информация была полезной для вас. Если остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Решение проблемы «E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock» в Kali Linux
Иногда при использовании менеджера пакетов apt для установки программы или обновления пакетов, возникает ошибка:
E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен) E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?
В Интернете уже достаточно часто обсуждалась эта ошибка, но я решил вернуться к её решению, поскольку обычно дают неправильный совет, что нужно удалить /var/lib/dpkg/lock. Если не было аварийного завершения работы менеджера пакетов apt, то не надо удалять файлы-блокировщики. Это приведёт к тому, что apt при последующем использовании будет сообщать об ошибке и придётся запускать команду для наведения порядка в пакетах.
Причина ошибки в том, что apt уже работает в фоне — скорее всего, просто скачивает пакеты обновлений, поскольку по умолчанию apt не устанавливает обновления самостоятельно.
Для других дистрибутивов это вызывает временное неудобство, поскольку нужно подождать, когда apt завершит свои фоновые задачи. Если нужно скачать много пакетов, а Интернет-соединение медленное, то придётся довольно долго ждать. Для Kali Linux, специализированного дистрибутива, такое поведение может для некоторых быть вообще неприемлемым. Кстати, авторы Kali Linux утверждают, что по умолчанию сетевые службы отключены. Тем не менее apt всё равно может автоматически скачивать обновления в фоне, когда вы об этом не подозреваете.
Дело в том, что, например, окружение рабочего стола (GNOME) могут запускать apt в фоне. Я, вроде бы, нашёл все настройки, после отключения которых apt уже никогда не будет ничего загружать без вашего ведома. Если после их применения у вас всё равно возникла ошибка «Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock — open (11: Ресурс временно недоступен)», пишите в комментариях — будем копать ещё глубже.
Итак, начинаем с самого очевидного, отключаем скачивание обновлений по расписанию. Проверить, включены ли какие-либо автоматические обновления, можно командой:
systemctl list-unit-files | grep enabled | grep apt
sudo systemctl disable apt-daily-upgrade.timer sudo systemctl disable apt-daily.timer
Теперь отключаем Unattended (самостоятельные) обновления, для этого откройте файл файл /etc/apt/apt.conf.d/20auto-upgrades
sudo gedit /etc/apt/apt.conf.d/20auto-upgrades
в нём имеются следующие строки:
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";
Первая отвечает за обновление списка пакетов, а вторая – за обновления самих пакетов в системе. Вместо единиц впишете нули.
Теперь проверьте, настроен ли GNOME делать автоматические обновления:
gsettings get org.gnome.software download-updates
Если будет выведено true, значит да, графическая оболочка также в фоне скачивает обновления.
Чтобы это отключить выполните:
sudo gsettings set org.gnome.software download-updates false
Аварийное завершение работы во время обновления системы или установки программ
Если рассматриваемая ошибка была вызвана тем, что система была выключена во время обновления, то для её исправления нужно выполнить:
sudo rm /var/lib/dpkg/lock sudo rm /var/lib/dpkg/lock-frontend
Скорее всего, чтобы вновь появилась возможность использовать apt понадобиться выполнить следующую команду, для исправления проблем: