невозможно создать обычный файл отказано в доступе linux

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

Новые пользователи довольно часто сталкиваются с такой ошибкой, как ошибка отказано в доступе 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 ps aux | grep имя_сервиса

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

Выводы

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

Источник

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

Установил FTP-сервер pure-ftpd. Хочу настроить. Конфига у сервера нет. Настройки он воспринимает так: в каталоге /etc/pure-ftpd/conf находятся файлы, каждый из которых отвечает за один параметр. Чтоб настроить что-то нужно создать файл с определённым именем и в нём написать «yes» или «no».

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

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

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

An error occurred while redirecting file ‘/etc/pure-ftpd/conf/someparam’ open: Permission denied

Новые пользователи довольно часто сталкиваются с такой ошибкой, как ошибка отказано в доступе 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 ps aux | grep имя_сервиса

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

Выводы

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

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

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

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

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

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

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

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

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

2 ответа

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

Загрузите сеанс в реальном времени (например, загрузочный USB-носитель Ubuntu, который вы используете для установки, или System Rescue. Если у вас его нет, вы можете создать его с помощью другого компьютера или даже купить). Если вы используете Ubuntu live USB, выберите ** Попробуйте Ubuntu без установки «.

Смонтируйте корневой раздел, используя правильное имя вместо sdXY

Проверьте, что это был правильный раздел:

Должен выводить то, что вы ожидаете увидеть в / примерно как:

Если это выглядит правильно:

Читайте также:  бабка гренни и хулиган в майнкрафте

Затем вы можете размонтировать раздел и перезагрузить систему как обычно

Источник

Нет прав на создание папок

Из админки через файловый менеджер пропала возможность создавать папки.
Было все ок до того (как мне кажется), пока не создал нового пользователя.
Как решить данную проблему?

Создание нового пользователя никак не влияет на существующих.

Что значит «из админки»? От root? И в какой именно директории пропала возможность создавать новые директории?

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

Из админки магазина.
В директории img невозможно создать поддиректорию.
Приходится под рутом это делать.
Уже и пользователя назначил для img root:root, все-равно не получается.
Не могу понять, что произошло. Админы жалуются.

А что значит «неумело»?
adduser xxxx.

вот поэтому только рут и может туда ходить.

Телепаты в отпуске. Опиши ситуацию.

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

Обращается ко мне и я через ssh под рутом создаю папку и заливаю картинки

upd: или он делает через веб-морду? тогда имя пользователя и группа те, от которого запущен веб-сервер

А как узнать, под кем сидит редактор?

Debian? Пользователь и группа веб-сервера www-data (если, конечно, не было изменено намеренно).

Ты сделал команду типа

В общем, прочти 1 часть данной книги (особенно про права доступа к файлам) http://mexalib.com/view/29837 и постарайся не доломать сервак окончательно, с твоими навыками это возможно.

Сорри, счас найду релеватную. Раньше качал отсюда, всё работало.

Уже и пользователя назначил для img root:root, все-равно не получается

А что должно было получиться?

Ну не проверил в первый раз. Я же не виноват, что сайт скурвился и вместо файлов банчит экзешники с левым содержимым. Новая ссылка норм, проверил.

Я просто из любопытства решил глянуть, вощемта.

Там рекламоговно и редиректы. Пришлось руками выдергивать.

1. adduser user 2. ввел пароль папка создалась в /home/user

За книжку спасибо, почитаю.
Помогите решить проблему сейчас, достают админы.

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

И если не спец, какого ты полез из-под рута менять права на файлы?

Для этого необходимо проблему описать, пока что ясно только что вчера работало а сегодня нет.

какого ты полез из-под рута менять права на файлы?

А главное, непонятно с какой целью.

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

Так же, вероятно веб-сервер запущен с правами не root пользователя, и root:root всё сломало еще больше. У меня вот вся папка:

drwxrwxr-x 8 www-data www-data 4096 Дек 12 15:53 dokuwiki

иначе тоже ничего не создается

После chown root:root вангую Permission denied.

Вот такой вот магазин

Из админки через файловый менеджер пропала возможность создавать папки

Вы бы для начала написали, что за магазин (название движка), что за веб сервер?

думаю, что может быть всё сложнее 🙂 У меня вот, если я меняю права для рута, веб морда пишет «cannot write to file », а в логе апача:

Источник

Отказ в доступе к файлу при наличии прав

Кроме прав к файлу должны быть права к директории вышестоящей и всем выше неё, в том числе бит x, судя по сообщению его нет.

должны быть права к директории вышестоящей и всем выше неё

Но без бита x, он не «открыл» бы эти «папки» вообще?

Читайте также:  что такое содиум майнкрафт

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

насколько я помню у рута есть CAP_DAC_OVERRIDE или что-то подобное, поэтому права на что угодно могут быть хоть 000

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

Файловая система какая? Ext4? Команду lsattr выполняли, как выше постоветовали?

Посмотрите вот эту ссылку, возможно, Вам поможет предложенный там вариант.

а lsof что по поводу этих файликов говорит?

у нас подобное бывает, что файл вроде как есть, но сделать с ним ничего нельзя (mc его еще красным показывает, со знаком вопроса), но у нас постоянное создание и удаление файлов, а случаи единичны и не зависят от типа файлов.

Учитывая, что началось пару дней назад, то в dmesg или /var/log/syslog могут быть записи, которые может помогут хотя бы понять, что произошло (чаще всего искать надо по имени диска или точки монтирования)

А в чём разница между debugfs и fsck? Просто fsck уже пробовал, для обоих дисков.

Недавно в самбе порезали поддержку старых протоколов. Вероятно активировался ACL или чтото в этом духе. Права рута в этом случае ни на что не влияют. Возможно ты неправильно авторизован на сервере.

Недавно в самбе порезали поддержку старых протоколов.

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

Я подумал что ты пытаешься выполнять операции по сети.

Ну в таком случае ещё можнт гадить SeLinux и компания. Не трогал их?

debugfs — это ручное редактирование файловой системы. А fsck — это автоматическое или полуавтоматическое исправление ошибок.

Источник

unixforum.org

Форум для пользователей UNIX-подобных систем

Решено: Консоль. Отказано в доступе

Решено: Консоль. Отказано в доступе

Сообщение KALIBR-10 » 19.02.2008 11:39

Привет всем, помогите чем можите!
В линухе я не спец, вот у меня какая проблема:
в консоли не могу получить права рута, ввожу su- а он мне bash: /bin/su: отказано в доступе

И ещё вопросик
У нас локальная сеть, через самба подключаюсь к домену, выхожу на сервер, и так долго он пытается отобразить содержимое. Так и должно быть.

Re: Решено: Консоль. Отказано в доступе

Сообщение Alexei_VM » 19.02.2008 12:15

Переключиться в текстовую консоль, войти рутом, и выполнить команду control su public

Re: Решено: Консоль. Отказано в доступе

Сообщение KALIBR-10 » 20.02.2008 11:14

Re: Решено: Консоль. Отказано в доступе

Сообщение romuil » 20.02.2008 11:20

Re: Решено: Консоль. Отказано в доступе

Сообщение KALIBR-10 » 20.02.2008 11:38

su-
щтказано в доступе

control su public
command not found

Re: Решено: Консоль. Отказано в доступе

Сообщение romuil » 20.02.2008 11:45

Re: Решено: Консоль. Отказано в доступе

Сообщение KALIBR-10 » 20.02.2008 12:16

Спасибо! Сработало.
А почему такое случилось что в доступе было отказано и что значит команда control su public?

Re: Решено: Консоль. Отказано в доступе

Сообщение Alexei_VM » 20.02.2008 12:34

Случилось это потому, что пользователю (в настройках по умолчанию) доступны далеко не все команды. Например, команда su (у вас дистрибутив Server не иначе?).

Множество команд, доступ к которым разумно ограничить, в системе ALT Linux снабжены специальными комментариями для программы control, в которых содержится описание «уровней доступа» к командам, например public, relaxed, wheelonly и т.п. Соответственно, команда control может менять права (правила) доступа к этим командам.

В данном случае с помощью команды control для программы su было установлено поведение, описанное правилом public, то есть доступ для этой программы стал открыт для всех пользователей.

Источник

Компьютерный онлайн портал