- Я пытаюсь сохранить файл с помощью редактора файлов nano в Ubuntu [Ошибка записи / имя файла: разрешение отклонено]
- 1 ответ
- Permission denied при открытие консольного редактора nano.
- One comment
- Ошибка bash permission denied
- Ошибка bash permission denied
- Выводы
- How to resolve the «Permission Denied» error in Linux
- Ошибка «Permission denied» в Linux
- Изменение прав в терминале
- Изменение прав в файловом менеджере
- В заключение
Я пытаюсь сохранить файл с помощью редактора файлов nano в Ubuntu [Ошибка записи / имя файла: разрешение отклонено]
С помощью текстового редактора Nano я пытаюсь сохранить и выйти из файла. У меня уже есть файл с именем.
Я нажимаю Control+ X, чтобы выйти.
Я нажимаю y, потому что я хочу сохранить файл, теперь он говорит, что файл для записи, Хорошо, я использую имя по умолчанию, потому что оно уже названо.
Проблема в том, что я получаю это сообщение. [Error writing /filename: Permission denied] ,
Что я делаю неправильно?
1 ответ
Ну, у вас нет прав на запись этого файла. использование
Если вы администратор, откройте другой терминал
вернитесь к своему терминалу «nano» и сохраните файл. Измените разрешения обратно на имя файла, если вам интересно, скорее всего, они 755
У меня возникла ваша проблема, и для устранения этой ошибки есть простой способ, поэтому в основном вам не нужно ничего делать, кроме как переключиться с обычного пользователя на пользователя root, и для этого введите команду sudo su, затем введите
Теперь у вас есть полный доступ, так что делайте все, что хотите, потому что теперь у вас есть полномочия суперпользователя.
su означает переключение пользователя
Чтобы создать файл в текстовом редакторе nano, просто введите:- nano [имя файла], затем введите, и теперь вы можете использовать все функции nano без каких-либо перерывов.
Источник
Permission denied при открытие консольного редактора nano.
Понадобилось мне отредактировать через консоль (Ctrl + Alt + T) текстовый файл, но есть одна странность, у меня нет прав на запись истории .nano_history.
Error reading /home/ekzorchik/.nano_history: Permission denied
Press Enter to continue starting nano.
Посмотрим какие у меня права на проблемный файл :
$ ls -l .nano_history
-rw——- 1 root root 102 2012-10-16 12:14 .nano_history
Но в то же время мне позволено, как создавать новые текстовые файлы, так и их редактировать. Чтобы не возникало ни каких сообщений о недостатке доступа, поправим права для пользователя ekzorchik на домашний каталог :
$ sudo find /home/ekzorchik/ -uid 1000 -exec chown ekzorchik <> \;
Вот собственно и всё, права на внутренние файлы и каталоги поправлены для текущего пользователя. Проблем больше нет. Можно сказать напоследок, удачи.
One comment
Спасибо очень доходчивое решение. Автор пиши больше и разнообразней — в этом твоя фишка. Ты все делаешь правильно.
Comments are closed.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.
Источник
Ошибка bash permission denied
Многие новички пытаются выполнить запись определенных значений в системные файлы с помощью операторов перенаправления ввода и вывода и получают ошибку bash permission denied. Эта ошибка выводится, даже если вы использовали sudo.
Казалось бы, sudo есть, значит права суперпользователя получены и все должно работать но тут все не так просто. В этой статье мы рассмотрим почему возникает ошибка bash permission denied и как ее обойти.
Ошибка bash permission denied
Допустим, вы выполняете команду:
sudo echo «nameserver 8.8.8.8» >> /etc/resolv.conf
А в результате вместо записи строчки в /etc/resolv.conf получаете ошибку:
bash: /etc/resolv.conf permission denied
В русской локализации это будет отказано в доступе bash linux. Так происходит потому что вы запускаете с правами суперпользователя утилиту echo и она честно выводит вашу строку в стандартный вывод bash с правами суперпользователя. Но bash запущен от обычного пользователя, и когда интерпретатор bash пытается записать полученную строчку в системный файл, естественно, что вы получите ошибку.
Но существует несколько способов обойти это ограничение, вы можете, например, использовать команду tee, которая записывает стандартный вывод в файл или запустить саму оболочку от имени суперпользователя. Рассмотрим сначала вариант с tee:
echo ‘текст’ | sudo tee -a /путь/к/файлу
echo ‘nameserver 8.8.8.8’ | sudo tee -a /etc/resolv.conf
Это очень простое решение, но, кроме того, вы можете запустить оболочку bash с правами суперпользователя, чтобы дать ей доступ на запись:
sudo sh -c ‘echo текст >> /путь/к/файлу’
sudo bash -c ‘echo текст >> /путь/к/файлу’
sudo bash -c ‘echo nameserver 8.8.8.8 >> /etc/resolv.conf
Еще одно решение, призванное, упростить эту команду, добавить такой код в
sudoe() <
[[ «$#» -ne 2 ]] && echo «Usage: sudoe
» && return 1
echo «$1» | sudo tee —append «$2» > /dev/null
>
Дальше для вывода строки в файл выполняйте:
sudoe ‘текст’ >> /путь/к/файлу
sudoe «nameserver 8.8.8.8» > /etc/resolv.conf
Теперь все будет работать, как и ожидалось, и ошибка bash отказано в доступе не появится. Еще можно поменять права на файл, а потом уже выводить в него строку. Но это очень неправильное решение. И даже не потому, что это небезопасно, а больше потому что там намного больше действий.
Выводы
В этой небольшой статье мы разобрали почему возникает ошибка bash permission denied при использовании команды echo для системных файлов, а также несколько путей ее решения. Как видите, все достаточно просто. Надеюсь, эта информация была полезной для вас.
Источник
How to resolve the «Permission Denied» error in Linux
While using Linux, you may encounter the error, “permission denied”. This error occurs when the user does not have the privileges to make edits to a file. Root has access to all files and folders and can make any edits. Other users, however, may not be allowed to make such edits.
Remember that only root or users with Sudo privileges can change permissions for files and folders.
The permissions can be changed using the chmod keyword. The syntax for the command is:
chmod flags permissions filename
- flags are the additional options users can set.
- permissions define if the user can read, write, or execute the file. They can be represented using symbolic or octal numbers.
- filename is the name of the file whose permissions are changed.
Here is an example where users can read, write, and execute a file; whereas, group and others can only read it.
Here, each letter has a meaning:
r gives read permissions
w gives write permissions
x gives execute permissions
The same command can be run using octal notation:
Here, each digit represents the sum of the permissions allowed:
4 gives read permissions
2 gives write permissions
1 gives execute permissions
0 gives no permissions
The sum of these permissions is used to represent each type of author.
Источник
Ошибка «Permission denied» в Linux
Все операционные системы семейства Linux имеют четко разграниченные права доступа. В своей домашней директории пользователь может делать все, что ему угодно, до тех пор, пока укладывается в отведенные рамки. Попытка выйти за них приводит к появлению ошибки «Permission Denied».
Изменение прав в терминале
Рассмотрим вариант, в котором необходимо прочесть текстовый документ, созданный другим пользователем. Файлы TXT в Linux можно просматривать непосредственно в терминале с помощью команды «cat».
- Заходим в каталог с интересующим нас документом. Набираем команду «cat filename», подставляя вместо «filename» имя нужного файла. На скриншоте показана ошибка «Permission Denied», выглядящая в русской локализации как «Отказано в доступе».
Получаем ошибку «Permission Denied» при попытке просмотреть содержимое файла
Проверяем права доступа к документу используя команду «ls -l»
Используем команду «chmod» и административные права для получения доступа
Просматриваем содержимое текстового документа командой «cat»
Изменение прав в файловом менеджере
Разберемся, как выполнить рассмотренную выше операцию в графическом интерфейсе, используя файловый менеджер из дистрибутива.
- Как видно на скриншоте, значок файла изначально имеет дополнительные символы, указывающие на то, что доступ у нему ограничен. При попытке посмотреть содержимое получаем графический вариант ошибки «Permission Denied».
При попытке открыть текстовый документ получаем ошибку «Permission Denied»
Открываем меню «Файл» и перезапускаем файловый менеджер от имени root
Набираем пароль root в окне аутентификации
Открываем параметры файла с помощью контекстного меню
На вкладке «Права» разрешаем доступ для группы root и остальных пользователей
Открываем ранее недоступный файл в режиме чтения и изучаем содержимое
В заключение
Как видим, избавиться от ошибки Permission Denied достаточно просто. Решив изменить правда доступа к системным файлам, лишний раз убедитесь, что полностью уверены в своих действиях и понимаете последствия вносимых изменений.
Источник