Инструменты пользователя

Инструменты сайта


bsod:docker_access_denied

Ошибка: Docker/Linux: Permission Denied (Отказано в доступе)

Это была самая частая и самая коварная проблема на протяжении всей настройки. Она проявлялась по-разному, но причина всегда была одна: конфликт прав доступа между пользователем хоста (<code>malico</code> или <code>debi</code>) и пользователем внутри Docker-контейнера.

Проявление №1: FileZilla не может записать файлы

Проблема: Я не мог скопировать файлы сайта в папку

/var/www/mistworld

, получая ошибку «Permission Denied». Причина: Папка принадлежала системному пользователю

www-data

, а я был подключен как

debi

. Решение (двухэтапное):

1. Временно "забрать" папку себе: <code>sudo chown -R debi:debi /var/www/mistworld</code>.
2. Скопировать файлы.
3. **Вернуть** папку веб-серверу: <code>sudo chown -R www-data:www-data /var/www/mistworld</code>.

Проявление №2: Контейнер не может запуститься или создать файлы

Проблема: DokuWiki выдавал ошибку

DokuWiki Setup Error ... not accessible or writable

. Mumble не мог сохранить регистрацию пользователя. Причина: Docker создавал на хосте папку для `volumes` (например,

./dokuwiki/

) от имени

root

. А контейнер, запущенный от имени пользователя

1000

(PUID/PGID), не имел прав на запись в эту папку. Решение (универсальное):

1. **Остановить** проблемный контейнер (<code>docker compose stop ...</code>).
2. **Создать** нужную папку вручную (<code>mkdir -p ...</code>).
3. **Заранее выставить** правильного владельца: <code>sudo chown -R 1000:1000 ./dokuwiki/</code>.
4. **Запустить** контейнер.

Главный урок: для образов от ''linuxserver.io'' (и многих других) нужно **сначала готовить папку с правильными правами**, а потом запускать контейнер, а не наоборот.

Проявление №3: nano пишет `[ File is unwritable ]`

Проблема: Я не мог сохранить изменения в

conf.yml

. Причина: Файл был создан через

sudo nano

и принадлежал

root

. Решение: Сменить владельца файла на моего пользователя:

sudo chown malico:malico [путь_к_файлу]

. После этого открывать файл через

nano

без `sudo`.

bsod/docker_access_denied.txt · Последнее изменение: hallow