Меню

Nano ошибка записи нет такого файла или каталога

Я пытаюсь создать новый файл:

nano/etc/apt/apt.conf.d/02proxy

При обновлении с 14.04 по 16.04, но я получаю ошибку:

No such file or directory

задан
2 February 2018 в 01:39

поделиться

2 ответа

Кажется, в вашем вопросе есть опечатка, потому что между nano и /etc/apt/apt.conf.d/… будет пустое пространство. Чтобы создать новый файл с именем 02proxy в каталоге /etc/apt/apt.conf.d (который обычно уже существует), откройте терминал и тип:

sudo touch /etc/apt/apt.conf.d/02proxy

Чтобы открыть файл 02proxy для редактирования в текстовом редакторе:

sudo nano /etc/apt/apt.conf.d/02proxy

Ярлыки для быстрого редактирования Nano Используйте комбинацию клавиш Ctrl + O и после этого нажмите «Ввод», чтобы сохранить файл в текущем местоположении. Используйте комбинацию клавиш Ctrl + X для выхода из nano.

ответ дан karel
17 July 2018 в 21:46

поделиться

Кажется, в вашем вопросе есть опечатка, потому что между nano и /etc/apt/apt.conf.d/… будет пустое пространство. Чтобы создать новый файл с именем 02proxy в каталоге /etc/apt/apt.conf.d (который обычно уже существует), откройте терминал и тип:

sudo touch /etc/apt/apt.conf.d/02proxy

Чтобы открыть файл 02proxy для редактирования в текстовом редакторе:

sudo nano /etc/apt/apt.conf.d/02proxy

Ярлыки для быстрого редактирования Nano Используйте комбинацию клавиш Ctrl + O и после этого нажмите «Ввод», чтобы сохранить файл в текущем местоположении. Используйте комбинацию клавиш Ctrl + X для выхода из nano.

ответ дан karel
23 July 2018 в 22:24

поделиться

Другие вопросы по тегам:

Похожие вопросы:

I have this problem on fresh install of Debian 8 (after doing apt upgrade).

nano is installed but when I try to use it to open a file :

nano myfile.txt

I get:

-bash: /usr/bin/nano: No such file or directory

I removed and reinstalled nano I get:

Setting up nano (2.7.4-1) ...
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in auto mode
update-alternatives: using /bin/nano to provide /usr/bin/pico (pico) in auto mode

And using /usr/bin/editor myfile.txt I can open the file.

Why does this happen? How can I fix it?

Stephen Kitt's user avatar

Stephen Kitt

387k50 gold badges995 silver badges1094 bronze badges

asked May 3, 2018 at 8:52

Karlom's user avatar

5

In Debian 8, nano includes both /bin/nano and /usr/bin/nano (the latter is a symlink to the former). In Debian 9, /usr/bin/nano is no longer included (see #767929 for details).

Presumably you upgraded from Debian 8 to a version of the package including the fix above. Your shell had remembered that nano was in /usr/bin/nano, but after the upgrade that was no longer the case. Running hash -r in your shell would fix that, as would starting a new shell.

answered May 3, 2018 at 12:56

Stephen Kitt's user avatar

Stephen KittStephen Kitt

387k50 gold badges995 silver badges1094 bronze badges

I have this problem on fresh install of Debian 8 (after doing apt upgrade).

nano is installed but when I try to use it to open a file :

nano myfile.txt

I get:

-bash: /usr/bin/nano: No such file or directory

I removed and reinstalled nano I get:

Setting up nano (2.7.4-1) ...
update-alternatives: using /bin/nano to provide /usr/bin/editor (editor) in auto mode
update-alternatives: using /bin/nano to provide /usr/bin/pico (pico) in auto mode

And using /usr/bin/editor myfile.txt I can open the file.

Why does this happen? How can I fix it?

Stephen Kitt's user avatar

Stephen Kitt

387k50 gold badges995 silver badges1094 bronze badges

asked May 3, 2018 at 8:52

Karlom's user avatar

5

In Debian 8, nano includes both /bin/nano and /usr/bin/nano (the latter is a symlink to the former). In Debian 9, /usr/bin/nano is no longer included (see #767929 for details).

Presumably you upgraded from Debian 8 to a version of the package including the fix above. Your shell had remembered that nano was in /usr/bin/nano, but after the upgrade that was no longer the case. Running hash -r in your shell would fix that, as would starting a new shell.

answered May 3, 2018 at 12:56

Stephen Kitt's user avatar

Stephen KittStephen Kitt

387k50 gold badges995 silver badges1094 bronze badges

  • Печать

Страницы: [1]   Вниз

Тема: Не получается создать файл/index.html в папке /var/  (Прочитано 1100 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн
San4ozzZ

sudo vi /var/www/test.site/public_html/index.html

 /var/www/test.site/public_html/index.html 
[ Ошибка записи /var/www/test.site/public_html/index.html: Нет такого файла или каталога ]

« Последнее редактирование: 20 Января 2022, 10:39:56 от San4ozzZ »


Оффлайн
БТР

Почему vi, если тема в новичковом разделе?

Файл по указанному адресу есть?

ls -al /var/www/test.site/public_html


Оффлайн
San4ozzZ

ls -al /var/www/test.site/public_html

невозможно получить доступ.

застрял прям тут, как народине в плену)
sudo nano /var/www/test.site/public_html/index.html
 такого файла
что не правильно делаю

(перенесите тему -уважаемый модератор, или удалите после, как поступить то) не знал где создать, в апаче?!)может название отредактировать..

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

« Последнее редактирование: 20 Января 2022, 09:59:33 от San4ozzZ »


Оффлайн
Morisson

Оформите Ваши сообщения согласно правил Форума. В противном случае они будут удалены.


shamanhuev

Не получается создать файл/index.html в папке /var/

А кокого он там понадобился ? Если речь идёт о локальном сервере , то обычный путь /var/www/html/blablabla


Оффлайн
БТР

невозможно получить доступ.

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

ls -alR /var/www/


Оффлайн
San4ozzZ

БТР,

usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user]
            [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p
            prompt] [-T timeout] [-u user] file ...


Оффлайн
БТР

San4ozzZ, скопируйте всё, начиная от вводимой команды.


Оффлайн
San4ozzZ

ls -alR /var/www/

administrator@administrator-laptop:~$ ls -alR /var/www/

/var/www/:
итого 16
drwxr-xr-x  4 root     root     4096 янв 20 00:22 .
drwxr-xr-x 15 root     root     4096 янв 19 21:57 ..
drwxr-xr-x  2 www-data www-data 4096 янв 19 21:57 html
drwxr-xr-x  2 root     root     4096 янв 20 00:22 test.site

/var/www/html:
итого 20
drwxr-xr-x 2 www-data www-data  4096 янв 19 21:57 .
drwxr-xr-x 4 root     root      4096 янв 20 00:22 ..
-rwxr-xr-x 1 www-data www-data 10918 янв 19 21:57 index.html

/var/www/test.site:
итого 8
drwxr-xr-x 2 root root 4096 янв 20 00:22 .
drwxr-xr-x 4 root root 4096 янв 20 00:22 ..
administrator@administrator-laptop:~$


sudo su — root
сейчас всё по плану) благодарю.
ааа..чего дальше.. такс..
доступ получил.

sudo vi /var/www/test.site/public_html/index.html

«/var/www/test.site/public_html/index.html»
«/var/www/test.site/public_html/index.html» E212: Can’t open file for writing

 :idiot2:

https://forum.ubuntu.ru/index.php?topic=295213.0

« Последнее редактирование: 20 Января 2022, 13:05:54 от San4ozzZ »


Оффлайн
БТР

«/var/www/test.site/public_html/index.html» E212: Can’t open file for writing

У вас нет каталога /var/www/test.site/public_html.

Не нужно работать под root. Не нужно копипастить непонятные команды из интернета.


Оффлайн
Morisson

San4ozzZ, вы не понимаете?

Оформите Ваши сообщения согласно правил Форума. В противном случае они будут удалены.


  • Печать

Страницы: [1]   Вверх

Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее.

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

  • Проблемы с командами в терминале
  • Проблемы с программами
  • Проблемы с драйверами и ядром
  • Проблемы с графической оболочкой
  • Проблемы с диском и файловой системой

Все это мы рассмотрим ниже, но сначала общее введение и немного теории.

Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому. Здесь каждая программа создает лог файлы, в которых мы можем при достаточном знании английского или даже без него, выяснить, что произошло. Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.

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

  • Permission Denied — нет доступа, означает что у программы нет полномочий доступа к определенному файлу или ресурсу.
  • File or Directory does not exist — файл или каталог не существует
  • No such file or Directory — нет такого файла или каталога
  • Not Found — Не найдено, файл или ресурс не обнаружен
  • Connection Refused — соединение сброшено, значит, что сервис к которому мы должны подключиться не запущен
  • is empty — означает, что папка или нужный файл пуст
  • Syntax Error — ошибка синтаксиса, обычно значит, что в конфигурационном файле или введенной команде допущена ошибка.
  • Fail to load — ошибка загрузки, означает что система не может загрузить определенный ресурс, модуль или библиотеку (fail to load library) обычно также система сообщает почему она не может загрузить, permission denied или no such file и т д.

Сообщения об ошибках, кроме терминала, мы можем найти в различных лог файлах, все они находятся в папке /var/log, мы рассматривали за какие программы отвечают определенные файлы в статье просмотр логов linux. Теперь же мы подробнее рассмотрим где и что искать если linux выдает ошибку.

Проблемы с командами в терминале

Обычно проблемы с командами в терминале возникают не из-за ошибки linux или потому, что разработчики что-то недоработали, а потому, что вы ввели что-то неправильно или предали не те что нужно опции.

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

Также довольно частой ошибкой при выполнении команд есть неиспользование команды sudo перед самой командой для предоставления ей прав суперпользователя. В таких случаях вы обычно получаете ошибку Permission Denied или просто уведомление, что не удалось открыть тот или иной файл или ресурс: can not open …, can not read … и так далее.

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

Очень распространенной среди новичков ошибкой, есть no such file or directory при попытке выполнить файл, скачанный из интернета. Сразу кажется что это бред, ведь файл существует, но на самом деле оболочка ищет только файлы с флагом исполняемый, а поэтому пока вы не установите этот флаг для файла, он для оболочки существовать не будет.

Проблемы в программах

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

В терминале программа, скорее всего, покажет почему она не работает. Также у многих программ поддерживается опция -v или —verbose. Вы можете попробовать использовать эту опцию, если первый запуск в терминале ничего не дал. Далее, когда уже есть сообщение об ошибке, вы можете попытаться исправить его сами, если поняли в чем дело или попытаться найти решение на формуме, скорее всего, другие пользователи уже решили вашу проблему. Но если нет, вы можете создать новую тему и описать там свою ошибку. Но без вывода программы в терминале вам вряд ли помогут.

Многие ошибки системы linux, связанные с графической оболочкой вы можете найти в файле ~/.xsession-errors в вашей домашней директории. Если оболочка работает медленно, зависает или не работают другие программы, но в других логах причин этому нет, возможно, ответ находится именно в этом файле.

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

$ sudo systemctl status имя_сервиса

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

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

Проблемы с драйверами и ядром

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

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

sudo dmesg

Чтобы иметь возможность удобно листать вывод можно выполнить:

sudo dmesg | less

Или сразу выбрать все ошибки:

sudo dmesg | grep error

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

Проблемы с графической оболочкой

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

При проблемах с графической оболочкой вы можете всегда переключиться в режим терминала с помощью сочетания клавиш Ctrl+Alt+F1. Далее, вам нужно ввести логин и пароль, затем можете вводить команды терминала.

Посмотреть логи графической оболочки вы можете в том же файле ~/.xsession-erros.

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

Проблемы с диском и файловой системой

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

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

Выводы

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

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

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

3 ответы

  1. Измените каталог в терминале туда, где фактически находится скрипт Python. Если каталог рабочего стола ~ / Desktop, то cd ~ / Desktop. …
  2. Переместите файл в свой домашний каталог. …
  3. Запустите сценарий Python с полным путем из домашнего каталога: python3 ~ / Desktop / myfile.py> myfile.html.

Как решить проблему отсутствия такого файла или каталога?

1 Ответ

  1. Откройте терминал.
  2. Перейдите в каталог, в котором находится папка проекта.
  3. ЗАПУСТИТЬ установку композитора.

Как исправить bash Нет такого файла или каталога?

Чтобы исправить это, попробуйте программа dos2unix если он у вас есть, или см. Преобразование файлов DOS в формат Linux. Обратите внимание, что если вы используете dos2unix, он, вероятно, создаст новый файл и удалит старый, что изменит разрешения, а также может изменить владельца или группу и повлиять на жесткие ссылки.

Что означает отсутствие такого файла или каталога?

Это просто «Нет такой записи в каталоге ». Поскольку записи каталога могут быть каталогами или файлами (или символическими ссылками, или сокетами, или каналами, или устройствами), имя ENOFILE было бы слишком узким по своему значению.

Как изменить каталоги в Linux?

Команды для файлов и каталогов

  1. Чтобы перейти в корневой каталог, используйте «cd /»
  2. Чтобы перейти в домашний каталог, используйте «cd» или «cd ~».
  3. Для перехода на один уровень вверх по каталогу используйте «cd ..»
  4. Для перехода к предыдущему каталогу (или назад) используйте «cd -»

Команда не найдена в Linux?

Ошибка «Команда не найдена» означает, что команды нет в пути поиска. Когда вы получаете сообщение об ошибке «Команда не найдена», это означает, что компьютер искал везде, где только мог, и не смог найти программу с таким названием. … Если команда установлена ​​в вашей системе, убедитесь, что компьютер знает, где искать.

Как исправить отсутствие такого файла или каталога в Arduino?

zip, вы можете перейти в IDE Arduino и выбрать Sketch> Include Library> Add. ZIP-библиотека … Вам просто нужно перейти туда, где был загружен файл. Он сообщит вам «Библиотека добавлена ​​в ваши библиотеки» чуть выше темной области, где появилась исходная ошибка.

Как исправить отсутствие такого файла или каталога в Python?

У вас есть три варианта:

  1. Используйте абсолютный путь, чтобы открыть файл: file = open (r’C: pathtoyourfile.yaml ‘)
  2. Создайте путь к файлу относительно вашего скрипта python: from pathlib import Path script_location = Path (__ file __). Absolute (). Parent file_location = script_location / ‘file.yaml’ file = file_location.

Ошибка каталога bash?

Похоже, что-то пытается выполнить строку «/ home / oracle» как команду bash. Если это происходит при каждом входе в систему, возможно, такая команда была добавлена ​​в. bashrc или. bash_profile, например

Как запустить сценарий bash?

Сделать исполняемый сценарий Bash

  1. 1) Создайте новый текстовый файл с расширением. sh расширение. …
  2. 2) Добавьте #! / Bin / bash в начало. Это необходимо для части «сделать его исполняемым».
  3. 3) Добавьте строки, которые вы обычно вводите в командной строке. …
  4. 4) В командной строке запустите chmod u + x YourScriptFileName.sh. …
  5. 5) Запускайте, когда вам нужно!

Что такое каталог в Python?

Каталог или папка набор файлов и подкаталогов. … В Python есть модуль os, который предоставляет нам множество полезных методов для работы с каталогами (а также с файлами).

Как создать каталог в Python?

Метод 1: Использование os. mkdir () для создания каталога в Python

  1. Создание каталога-2 с помощью mkdir ()
  2. Создание каталога-1 с помощью mkdir ()
  3. Создание родительского каталога с помощью makedirs ()
  4. Создание промежуточного каталога с помощью makedirs ()
  5. Создание базового каталога с помощью makedirs ()

Содержание

  1. Ошибка отказано в доступе Linux
  2. Ошибка отказано в доступе Linux
  3. Выводы
  4. Ошибка отказано в доступе Linux
  5. Ошибка отказано в доступе Linux
  6. Выводы
  7. Отказано в доступе на выполнение файлов с правами 777 от рута
  8. Отказ в доступе к файлу при наличии прав
  9. При попытке скопировать/удалить файл, отказано в доступе
  10. [root@archlinux

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

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

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

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

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

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

oshibka otkazano v dostupe

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

oshibka otkazano v dostupe

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

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

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

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

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

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

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

oshibka otkazano v dostupe

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

oshibka otkazano v dostupe

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

Выводы

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

Источник

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

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

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

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

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

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

Snimok ekrana iz 2017 02 19 23 10 30

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

Snimok ekrana iz 2017 02 19 23 10 42

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

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

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

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

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

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

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

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

Snimok ekrana iz 2017 02 19 23 35 29

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

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

Snimok ekrana iz 2017 02 19 23 33 51

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

Выводы

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

Источник

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

Недавно поставил Mnajaro linux. На отдельном хдд у меня были некоторые программы. Теперь они отказываются выполнятся даже с правами 777, даже из под рута.

При попытке выполнить выдается ошибка: отказано в доступе

161741:1222785716

p

Примонтируй куда-нибудь в /media и попробуй снова

p

p

Соответствующий /lib/*ld.so* не найден, например пытаешься запускать 32бит бинарь в 64бит системе без установки 32бит libc.

135041:964175722

А что у тебя с SELinux или AppArmor?

p

В manjaro нет этих штучек. По крайней мере, по дефолту.

161741:1222785716

В общем проблема решилась. Отредактировал fstab, выставил во флагах defaults и оно заработало. Оказалось стояло просто user.

Мне кажется немного не очевидно это. Если при монтировании не стоит exec, то почему в правах на файл отображатся x?

p

Потому что права файлов и права монтирования это разные вещи.

161741:1222785716

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

p

39291: 1169282562

Соответствующий /lib/*ld.so* не найден, например пытаешься запускать 32бит бинарь в 64бит системе без установки 32бит libc.

Nope, в этом случае ошибка «No such file».

Источник

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

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

p

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

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

p

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

p

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

p

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

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

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

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

p

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

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

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

13118: 2055443150

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

p

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

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

13118: 2055443150

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

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

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

Источник

При попытке скопировать/удалить файл, отказано в доступе

157636:265184956

56216: 46439982

157636:265184956

[root@archlinux

]# cat /proc/mounts proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0 sys /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0 dev /dev devtmpfs rw,nosuid,relatime,size=4043884k,nr_inodes=1010971,mode=755 0 0 run /run tmpfs rw,nosuid,nodev,relatime,mode=755 0 0 /dev/sda2 / ext4 rw,relatime,data=ordered 0 0 securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0 tmpfs /dev/shm tmpfs rw,nosuid,nodev 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,mode=755 0 0 cgroup /sys/fs/cgroup/unified cgroup2 rw,nosuid,nodev,noexec,relatime,nsdelegate 0 0 cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,name=systemd 0 0 pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0 cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0 cgroup /sys/fs/cgroup/net_cls,net_prio cgroup rw,nosuid,nodev,noexec,relatime,net_cls,net_prio 0 0 cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0 cgroup /sys/fs/cgroup/rdma cgroup rw,nosuid,nodev,noexec,relatime,rdma 0 0 cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpu,cpuacct 0 0 cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0 cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0 cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0 cgroup /sys/fs/cgroup/pids cgroup rw,nosuid,nodev,noexec,relatime,pids 0 0 cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0 systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=36,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=733 0 0 debugfs /sys/kernel/debug debugfs rw,relatime 0 0 tmpfs /tmp tmpfs rw,nosuid,nodev 0 0 hugetlbfs /dev/hugepages hugetlbfs rw,relatime,pagesize=2M 0 0 configfs /sys/kernel/config configfs rw,relatime 0 0 mqueue /dev/mqueue mqueue rw,relatime 0 0 binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,relatime 0 0 /dev/sda1 /boot ext2 rw,relatime,block_validity,barrier,user_xattr,acl 0 0 /dev/sda3 /home ext4 rw,relatime,data=ordered 0 0 tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=810236k,mode=700,uid=1000,gid=997 0 0 gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse rw,nosuid,nodev,relatime,user_id=1000,group_id=997 0 0 fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0 /dev/sdc5 /run/media/sharapov/Data ntfs rw,nosuid,nodev,relatime,uid=1000,gid=997,fmask=0177,dmask=077,nls=utf8,errors=continue,mft_zone_multiplier=1 0 0

А вторую команду не понял

p

Ну и где в твоём вывод /dev/sdb и /dev/sdc? Не смонтировано ни одной файловой системы с них.

В форме отправки сообщения на форум между полем для ввода текста сообщения и кнопками «поместить», «предпросмотр» и «отмена» есть некоторый текст, прочти его пожалуйста и в частности открой ссылку на разметку lorcode.

И обрати внимание на тег [code][/code].

Будеи выглядеть вот так:

И нажимай кнопку «предпросмотр» перед помещением, а то читать твоё сообщение невозможно.

UPD:
А вот нашёл среди каши твоего сообщения, у тебя на /dev/sdc5 NTFS и использован ядерый драйвер ntfs, который умеет только читать:

Источник

Вопрос:

Я хотел бы добавить строку в файл журнала, но я продолжаю получать “Нет такого файла или каталога”,

cat "$NOW : Version $VERSION already installed on HOSTNAME!" >> /var/log/dig-nscp-install.log

Я на 100% уверен, что файл существует, и он доступен для записи, когда я нано.

Когда я пытаюсь это сделать в кли,

cat 'Hellooo test'>>/var/log/dig-nscp-install.log

Я также получаю cat: Hellooo test: No such file or directory

Любая помощь/советы, что я могу делать неправильно?

Благодарю.

Ответ №1

cat выводит содержимое файла. Вы должны использовать echo, которое просто перекликается с строкой в stdout:

echo "$NOW : Version $VERSION already installed on HOSTNAME!" >> /var/log/dig-nscp-install.log

Ответ №2

вы должны использовать echo вместо cat

сделай это

echo "$NOW : Version $VERSION already installed on HOSTNAME!" >> /var/log/dig-nscp-install.log

Ответ №3

Ошибка No such file or directory о гипотетическом файле с именем $NOW: Version $VERSION already installed on HOSTNAME! , а не о /var/log/dig-nscp-install.log. Как отмечали другие, используйте echo а не cat поскольку cat ожидает файловый дескриптор (например, имя файла).

echo "$NOW : Version $VERSION already installed on HOSTNAME!" >> /var/log/dig-nscp-install.log

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Named entity expected got none ошибка html
  • Name internal server error message возникла внутренняя ошибка сервера code 0 status 500