Linux permission denied при удалении
Каждый пользователь, рано или поздно сталкивается с определенными проблемами в своей операционной системе Linux. Это может быть просто неправильное использование команд или их непонимание, так и такие серьезные ошибки Linux, как отсутствие драйверов, неработоспособность сервисов зависание системы и так далее. Linux очень сильно отличается от WIndows, это заметно также при возникновении проблем Linux. Вот допустим, произошла ошибка в программе Windows, она полностью закрывается или выдает непонятное число с кодом ошибки и все, вы можете только догадываться или использовать поиск Google, чтобы понять что произошло. Но в Linux все совсем по-другому.
Более того, если программу запускать из терминала, то все ошибки linux и предупреждения мы увидим прямо в окне терминала. и сразу можно понять что нужно делать.
Монтирование NTFS раздела от Windows 10 в Linux
Ошибка:
Решение:
sudo mount -t ntfs-3g -o remove_hiberfile /dev/sda2 /mnt
Ошибка:
Решение:
sudo ntfsfix /dev/sda3
Отключение режима гибернации в винде
Нет места, но место есть.
Проблема: ПО пишет, что закончилось место на диске, при этом df -h показывает, что место все-таки есть.
Решение: Надо проверить свободный айноды. df -hTi. Возможно их забили мелкие файлы.
Команда смены владельца и группы владельцев для директории и всех поддиректорий с файлами
sudo chown -R user:group /home/user/dir/
FTP сервер на Ubuntu server
Установить
sudo apt-get install vsftpd
Правим конфигурацию
sudo nano /etc/vsftpd.conf
Если надо анонимный доступ
anonymous_enable=Yes
чтение и правка файлов
local_enable=YES
write_enable=YES
папка входа по умоланию
local_root=/var/www
рестарт
sudo service vsftpd restart
Если права на файлы раздаются не верно
Раскомментируем строчку
umask 002
Расширить диск виртуальной машины KVM и VirtualBox
1)KVM
sudo qemu-img resize /home/vm/disk.img +10G
на вируалке
sudo apt-get install gparted
sudo swapoff /dev/vda5
sudo -X gparted
авторизация SSH без пароля
на своей машине
ssh-keygen -t rsa
в папке /home/имя пользователя/.ssh/id_rsa и id_rsa.pub появятся ключи
копируем на сервер
на сервере
chmod 600
Firefox средняя кнопка мыши не работает как прокрутка
Проброс портов iptables
Примонтировать флешку Ubuntu Linux
service srv1cv83 stop
sudo dpkg -l | more | grep 1c
sudo dpkg -r 1c-enterprise83-ws
sudo dpkg -r 1c-enterprise83-server
sudo dpkg -r 1c-enterprise83-common
dpkg -i 1c-enterprise83-common_8.3.6-2390_amd64.deb
dpkg -i 1c-enterprise83-server_8.3.6-2390_amd64.deb
dpkg -i 1c-enterprise83-ws_8.3.6-2390_amd64.deb
Google Chrome не предлагает сохранить пароли
Если Google Chrome не предлагает сохранить пароли и не использует автозаполнение, то причина может быть в том, что эти опции отключены в настройках. Для их включения перейдите во вкладку chrome://settings/, либо в меню выберите пункт «Настройки»:
На открывшейся странице в разделе «Автозаполнение» выберите пункт «Пароли»:
В открывшемся окне включите две опции:
- Предлагать сохранение паролей
- Автоматический вход (Автоматически входить на сайты с помощью сохраненного имени пользователя и пароля. Когда функция отключена, эти данные нужно вводить при каждом входе)
После этого автоматический вход и сохранение пароли должны начать работать.
Google Chrome не сохраняет пароли, хотя предлагает их сохранить
Эта ситуация более нестандартная, она может встречаться на различных операционных системах: в моём случае это Chromium на Linux, но сообщали также об аналогичной проблеме для Google Chrome на MacOS.
- После входа на веб-сайт, браузер, как обычно, предлагает сохранить пароль
- Я нажимаю на кнопку «Сохранить»
- Chrome не показывает никакие ошибки
- Но пароль не сохраняется: а) он не вводится автоматически при следующем заходе на сайт; б) пароль не отображается во вкладке chrome://settings/passwords
1. Выйдите из Chrome
2. Перейдите в директорию, где Chrome хранит данные пользователя — внутри домашней папки, в директории, зависящей от операционной системы:
4. Удалите файлы Login Data, Login Data-journal и Login Data 2-journal.
5. Повторите для других профилей, если необходимо.
После этого у меняв вновь включилось сохранение паролей.
Обратите внимание, что если у вас включена автоматическая синхронизация, то вы не потеряете сохранённые ранее пароли.
Какие файлы можно удалить при нехватке места на диске Linux
1. Удаление временных файлов
Файлы в папке /tmp/ будут удалены в любом случае при следующей перезагрузки системы. То есть с одной стороны их можно удалить достаточно безболезненно:
НО: может быть нарушена работа программ, которые запущены в настоящее время и которые сохранили какие-то данные в папку /tmp/.
2. Удаление файлов кэширования
В директории /var/cache/ много поддиректорий, которые можно удалить практически безболезненно (данные утеряны не будут, а программы создадут новые файлы кэширования). Эта директория вызывает особый интерес, поскольку на которых системах кэши разрастаются на гигабайты и десятки гигабайт. Иногда поиск проблемной директории в /var/cache/ может окончательно решить ситуацию с нехваткой места на диске.
Для удаления кэша шрифтов:
Для удаления кэша установочных пакетов (на Debian, Linux Mint, Ubuntu, Kali Linux и их производных):
Для удаления кэша установочных пакетов (на Arch Linux, BlackArch и их производных):
Удаление кэша справочных страниц:
Вы можете продолжить поиск больших кэшей применимо к программному обеспечению, установленному на вашей системе. Например, это могут быть кэши веб-сервера, прокси-сервера и т. д.
3. Удаление логов (журналов)
В этой папке (/var/log/) можно удалить практически все файлы, но старайтесь сохранить структуру папок, поскольку некоторые приложения после удаления здесь папки не в состоянии создать её второй раз…
На веб-серверах могут разрастись слишком сильно журналы веб-сервера.
Для удаления логов Apache на Debian, Linux Mint, Ubuntu, Kali Linux и их производных:
Для удаления логов Apache на Arch Linux, BlackArch и их производных:
Чтобы сервер начал создавать новые файлы журналов и записывать в них, нужно перезапустить службу веб-сервера.
В зависимости от интенсивности использования системы, накопленные журналы могут занимать гигабайты. В зависимости от системы файлы могут называться по-разному, более точный анализ рекомендуется выполнять с помощью утилиты ncdu:
4. Очистите корзину
Этот совет больше для настольных систем. Файлы, которые вы удалили в графическом интерфейсе рабочего стола, попадают в папку
/.local/share/Trash/files/, вы можете проанализировать их и при желании удалить (второй раз):
5. Удаление ненужных файлов исходного кода заголовков ядра
6. Удаление осиротевших пакетов
На Debian, Linux Mint, Ubuntu, Kali Linux и их производных удалить ненужные пакеты можно следующим образом:
7. Очистка журналов systemd
Со временем, в некоторых системах логи системы начинают занимать гигабайты на жёстком диске. Просмотреть журналы и освободить место вы можете с помощью команды journalctl
Чтобы увидеть, сколько место занимают журналы, выполните:
Чтобы удалить все записи, оставив только записей на 100 мегабайт, выполните:
Либо для удаления всех записей в системном журнале, старше одной недели:
8. Проанализируйте файлы Docker
Самой большой папкой является /var/lib/docker/overlay2/. Для анализа занимаемого места на диске выполните:
Новые пользователи довольно часто сталкиваются с такой ошибкой, как ошибка отказано в доступе 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, а также почему она возникает. Надеюсь, эта информация была полезной для вас. Если остались вопросы, спрашивайте в комментариях!
Все операционные системы семейства 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 достаточно просто. Решив изменить правда доступа к системным файлам, лишний раз убедитесь, что полностью уверены в своих действиях и понимаете последствия вносимых изменений.
$ cat permissions.txt
cat: permissions.txt: Permission denied
Для того чтобы понять что и кому можно делать с файлом и вообще что это за объёкт нужно ввести команду:
ls -l filename
Или просто ls -l и вам покажут все файлы в текущем каталоге (в том каталоге где вы находитесь).
Например, в моём домашнем каталоге:
alexander@srv-ubuntu:
$ ls -l
total 64
drwxrwxr-x 2 alexander alexander 4096 May 8 08:30 backups
-rwxrwxr-- 1 alexander alexander 39 Jun 4 17:43 helloworld.sh
-rw------- 1 alexander alexander 33838 Jun 3 18:37 it-inside_logo.jpg
-rw------- 2 alexander alexander 233 Jun 3 18:47 my_vs_info.txt
-rwxrwxrwx 1 alexander alexander 37 Jun 4 18:20 permissions_all.txt
--w-rw-r-- 1 alexander alexander 37 Jun 4 18:00 permissions.txt
drwxrwxr-x 2 alexander alexander 4096 May 8 08:34 recovers
lrwxrwxrwx 1 alexander alexander 14 Jun 3 18:46 soft_link_my_vs_info.txt -> my_vs_info.txt
-rw------- 2 alexander alexander 233 Jun 3 18:47 test_ln_my_vs_info.txt_
В левой колонке отображаются права доступа (-rwxrwxrwx). Так же вы видите кому принадлежит файл (alexander alexander).
В блоке (alexander alexander) первым указывается имя пользователя кому принадлежит файл, вторым группа которой принадлежит файл. Они могут быть одинаковыми или разными.
Например, в данной директории пользователи не входящие в группу alexander не могут создавать файлы, но могут просмотреть её содержимое и перейти в неё.
Если директория будет иметь следующие права:
alexander@srv-ubuntu:
$ ls -l | grep dir_permissions
dr--r--r-- 2 alexander alexander 4096 Jun 4 18:39 dir_permissions
То владелец сможет посмотерть её содержимое(но не увидет права доступа, просто файлы), но не сможет в неё перейти:
alexander@srv-ubuntu:
$ ls -l dir_permissions/
ls: cannot access dir_permissions/testfile.txt: Permission denied
total 0
-. ? ? ? ? ? testfile.txt
Перейти в директорию нельзя:
alexander@srv-ubuntu:
$ cd dir_permissions/
-bash: cd: dir_permissions/: Permission denied
При полном запрете будет просто отказ в доступе:
alexander@srv-ubuntu:
$ ls -l dir_permissions/
ls: cannot open directory dir_permissions/: Permission denied
Теперь Вы сможете понять причину по которой у Вас не получается что-то сделать с файлом =)
Читайте также: