Проблема
Права `chmod 777` установлены, но запись в файл невозможна (ошибка `Permission denied` или `Read-only file system`).

Причины
1. Файловая система смонтирована только для чтения (ro) — mount опция `ro`.
2. Атрибуты файловой системы — immutable (флаг `i` у `chattr`), append-only (`a`).
3. SELinux/AppArmor — контекст безопасности блокирует запись, несмотря на `777`.
4. Сетевые/виртуальные ФС — NFS, FUSE, overlayfs с опциями `ro` или noexec.
5. Символическая ссылка на файл — права относятся к ссылке, а не к цели.
6. Файл на ФС без поддержки Unix-прав — vfat, exfat, ntfs-3g без монтирования с `uid/gid`.
7. Отсутствие прав на запись в родительский каталог — если файл удаляется и создаётся заново.

Решение

bash
<h2 id="1-proverka-montirovaniya">1. Проверка монтирования</h2>
mount | grep $(df -h /path/to/file | tail -1 | awk '{print $1}')

<h2 id="esli-ro-peremontirovat-rw">Если ro → перемонтировать rw</h2>
mount -o remount,rw /mount/point

<h2 id="2-proverka-atributov">2. Проверка атрибутов</h2>
lsattr /path/to/file
<h2 id="esli-est-i-ili-a-snyat">Если есть &#039;i&#039; или &#039;a&#039; → снять</h2>
chattr -i /path/to/file
chattr -a /path/to/file

<h2 id="3-selinux-proverit-i-vremenno-otklyuchit-dlya-diagnostiki">3. SELinux — проверить и временно отключить (для диагностики)</h2>
getenforce
setenforce 0 # только для теста
<h2 id="postoyannoe-ispravlenie-restorecon-v-path-to-file">Постоянное исправление: restorecon -v /path/to/file</h2>

<h2 id="4-apparmor">4. AppArmor</h2>
aa-status | grep /path/to/file
<h2 id="otklyuchit-profil-aa-disable-etc-apparmor-d-imya-profilya">Отключить профиль: aa-disable /etc/apparmor.d/имя_профиля</h2>

<h2 id="5-ntfs-exfat-smontirovat-s-full-dostupom">5. NTFS/exFAT — смонтировать с full доступом</h2>
mount -t ntfs-3g -o uid=$(id -u),gid=$(id -g),fmask=002,dmask=002 /dev/sdXY /mnt

<h2 id="6-roditelskiy-katalog">6. Родительский каталог</h2>
<h2 id="esli-fayl-nuzhno-peresozdat-dat-prava-na-katalog">Если файл нужно пересоздать → дать права на каталог</h2>
chmod +w /parent/directory

<h2 id="7-esli-fayl-simlink-chmod-na-tsel">7. Если файл — симлинк → chmod на цель</h2>
readlink -f /path/to/file
chmod 777 /real/path


Проверка итоговая:
bash
touch /path/to/file/test_write 2>&1