Astra linux отказано в доступе при установке пакетов

Обновлено: 04.07.2024

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

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

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



Административные задачи следует делать из-под администраторского аккаунта? Да.



$ sudo apt-get install vim


только недавно начал осваивать Линукс
решил установить себе vim

Да ты угорел по хардкору, я смотрю.


$ sudo apt-get install gcc [sudo] password for evgeny

Ты ничего не путаешь?


И еще не могу просмотреть файлы с помощью команды ls в каталоге /home/evgeny/Документы. Не реагирует на . /Дакументы.

ls все правильно делает

Если не надо писать полный путь, частичный не надо начинать точками и слешами.

- домашняя папка, если ты уже в ней, то пиши просто ls Документы

олсо ты опечатался: >Д_а_кументы

Привет, новичек. Сейчас добрые линуксоиды возьмут тебя за руку, и поведут на экскурсию в сказочный мир GNU/Linux. Приготовься к этому волшебному путешествию. Вот это команда ls , а вот это команда cd, а вот здесь у тебя опечаточка.

su -
(пароль суперпользователя)
apt-get install vim
(ну или aptitude, но мало ли что там у тебя…)
exit

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


Если самостоятельно разобраться не может, не нужен.

sudo apt-get install vim

опечатался.не получалось что с vim,что с gcc.


не надо тебе пока vim, тем более gcc.

надо.хочу на си попробовать программировать и линукс освоить, вот,решил установить vim и gcc.


надо.хочу на си попробовать программировать и линукс освоить, вот,решил установить vim и gcc.

Похвальное желание, но начни с простого


Synaptic отменили уже?


Synaptic уже не требует права рута?


А причём права рута-то? ТС не может поставить ничего и тычет в консоль своими корявками. su -c synaptic проще наверное, не?


При том, что он натыкал правильно, просто прав на действие не хватило.


Все равно ему через synaptic удобнее будет и не так страшно по началу.


Да: установка программ только под администратором - одна изособенностей Linux.

нет. Следует добавить на следующей строке:

По сути это даст пользователю evgeny права администратора?


Почитаю. Но по теме: For the typical single user workstation such as the desktop Debian system on the laptop PC, it is common to deploy simple configuration of sudo(8) as follows to let the non-privileged user, e.g. penguin, to gain administrative privilege just with his user password but without the root password.


Зачем тебе sudo
?


В чем же проблема?

sudo удобна при наличии в организации нескольких админов с разным уровнем доступа к системе (админ, мл. админ, помощник и т.д.).

Интересно при чтении книги попробовать самому как это все делается. Взять и создать несколько пользователей в системе, дать им разные права, настраивая судо. Вобщем надо читать и пробовать :) спс всем за помощь!

Изображение пользователя megriv.

Я новичок. Недавно установил Kubuntu 16.04 LTS. При попытке установить дополнительную программу выдаётся одна и та же ошибка. Например, при установке Wine из официального репозитория:

$ sudo apt-get install wine
[sudo] пароль для mgi:
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Возможно, для исправления этих ошибок вы захотите воспользоваться «apt-get -f install»:
Пакеты, имеющие неудовлетворённые зависимости:
printer-driver-pxljr : Зависит: cups-filters (>= 1.0.42) но он не будет установлен или
foomatic-filters (>= 4.0.0

bzr156)
wine : Зависит: wine1.6 но он не будет установлен
E: Неудовлетворённые зависимости. Попытайтесь выполнить «apt-get -f install», не указывая имени пакета, (или найдите другое решение).

При любой установке присутствует ссылка на неудовлетворённые зависимости printer-driver-pxljr.

Что я делаю не так? Что нужно изменить?

Возможно, мой вопрос покажется сообществу слишком простым или вообще глупым, но простите новичку незнание.

Изображение пользователя Priestone.

Попытайтесь выполнить «sudo apt-get -f install»

И внимательно читайте чего будет написано. Что-то будет доустановлено, что-то, возможно, удалено. Главное не торопиться и попытаться понять написанное.

Изображение пользователя megriv.

Делал и это. Получил:

$ apt-get -f install
E: Не удалось открыть файл блокировки /var/lib/dpkg/lock - open (13: Отказано в доступе)
E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); у вас есть права суперпользователя?

megriv, ну чего непонятного? Priestone же четко написал команду с sudo, а у тебя что? Как новичка на первый раз прощаем, но постарайся сам уяснить для чего sudo там требуется.

sudo перед этим поставьте. Так вы получите права суперпользователя. Советую почитать, для чего нужно sudo/kdesudo, пригодится.

Изображение пользователя ericSAN.

Он sudo не ввёл.

Изображение пользователя ericSAN.

Очень большое imho, но ТС лучше сделать так:
$ sudo add-apt-repository ppa:wine/wine-builds
$ sudo apt-get update
$ sudo apt-get install --install-recommends wine-staging
$ sudo apt-get install winehq-staging чтобы в итоге он получил wine 1.9.23, а не давно протухший 1.6

Изображение пользователя megriv.

$ sudo apt-get install --install-recommends wine-staging
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Уже установлен пакет wine-staging самой новой версии (1.9.23

gzip: stdout: No space left on device
E: mkinitramfs failure find 141 cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.4.0-47-generic with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Failed to process /etc/kernel/postinst.d at /var/lib/dpkg/info/linux-image-4.4.0-47-generic.postinst line 1052.
dpkg: ошибка при обработке пакета linux-image-4.4.0-47-generic (--configure):
подпроцесс установлен сценарий post-installation возвратил код ошибки 2
dpkg: зависимости пакетов не позволяют настроить пакет linux-image-extra-4.4.0-47-generic:
linux-image-extra-4.4.0-47-generic зависит от linux-image-4.4.0-47-generic, однако:
Пакет linux-image-4.4.0-47-generic пока не настроен.

dpkg: ошибка при обработке пакета linux-image-extra-4.4.0-47-generic (--configure):
проблемы зависимостей — оставляем не настроенным
dpkg: зависимости пакетов не позволяют настроить пакет linux-image-generic:
linux-image-generic зависит от linux-image-4.4.0-47-generic, однако:
Пакет linux-image-4.4.0-47-generic пока не настроен.
linux-image-generic зависит от linux-image-extra-4.4.0-47-generic, однако:
Пакет linux-image-extra-4.4.0-47-generic пока не настроен.

dpkg: ошибка при обработке пакета linux-generic (--configure):
проблемы зависимостей — оставляем не настроенным
Настраивается пакет linux-image-4.4.0-45-generic (4.4.0-45.66) …
Running depmod.
update-initramfs: deferring update (hook will be called later)
The link /initrd.img is a dangling linkto /boot/initrd.img-4.4.0-47-generic
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-45-generic /boot/vmlinuz-4.4.0-45-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-45-generic

Вчера не успел, продолжаю бороться сегодня.
Пока без особого успеха.
Может, дело в дистрибутиве?

Этичный хакинг и тестирование на проникновение, информационная безопасность

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


В Интернете уже достаточно часто обсуждалась эта ошибка, но я решил вернуться к её решению, поскольку обычно дают неправильный совет, что нужно удалить /var/lib/dpkg/lock. Если не было аварийного завершения работы менеджера пакетов apt, то не надо удалять файлы-блокировщики. Это приведёт к тому, что apt при последующем использовании будет сообщать об ошибке и придётся запускать команду для наведения порядка в пакетах.

Причина ошибки в том, что apt уже работает в фоне — скорее всего, просто скачивает пакеты обновлений, поскольку по умолчанию apt не устанавливает обновления самостоятельно.

Для других дистрибутивов это вызывает временное неудобство, поскольку нужно подождать, когда apt завершит свои фоновые задачи. Если нужно скачать много пакетов, а Интернет-соединение медленное, то придётся довольно долго ждать. Для Kali Linux, специализированного дистрибутива, такое поведение может для некоторых быть вообще неприемлемым. Кстати, авторы Kali Linux утверждают, что по умолчанию сетевые службы отключены. Тем не менее apt всё равно может автоматически скачивать обновления в фоне, когда вы об этом не подозреваете.

Дело в том, что, например, окружение рабочего стола (GNOME) могут запускать apt в фоне. Я, вроде бы, нашёл все настройки, после отключения которых apt уже никогда не будет ничего загружать без вашего ведома. Если после их применения у вас всё равно возникла ошибка «Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен)», пишите в комментариях — будем копать ещё глубже.

Итак, начинаем с самого очевидного, отключаем скачивание обновлений по расписанию. Проверить, включены ли какие-либо автоматические обновления, можно командой:

Для их отключения:

Теперь отключаем Unattended (самостоятельные) обновления, для этого откройте файл файл /etc/apt/apt.conf.d/20auto-upgrades

в нём имеются следующие строки:

Первая отвечает за обновление списка пакетов, а вторая – за обновления самих пакетов в системе. Вместо единиц впишете нули.

Теперь проверьте, настроен ли GNOME делать автоматические обновления:

Если будет выведено true, значит да, графическая оболочка также в фоне скачивает обновления.

Чтобы это отключить выполните:

Аварийное завершение работы во время обновления системы или установки программ

Если рассматриваемая ошибка была вызвана тем, что система была выключена во время обновления, то для её исправления нужно выполнить:

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

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