LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Потому что директория mpd (/home/ekzotech/.config/mpd) со всеми вложенными файлами принадлежит группе users, а не группе ekzotech.

В Unix права доступа к любому файлу или директории выглядят как три секции по три бита. Также указывается пользователь, «владеющий» файлом, и группа, «владеющая» файлом. Биты соответствуют правам на чтение, запись и выполнение. Первая секция — это права пользователя, «владеющего» файлом. Вторая секция — это права всех пользователей, которые состоят в группе, «владеющей» файлом. Третья секция — это права остальных.

На примере файла mpd.log:

-rwxrwxr-x 1 ekzotech users 88185383 дек 26 22:41 mpd.log

Эта строка говорит, что 1) владелец (пользователь ekzotech) имеет право читать файл, писать в него и выполнять его (кстати, последнее лишнее); 2) любой пользователь, состоящий в группе users, имеет те же права; 3) остальные права записи не имеют.

Ну вот и смотри. При запуске mpd «из консоли» он запускался от имени пользователя ekzotech, ну и всё было хорошо. При запуске mpd через systemd, согласно директиве User=mpd, процесс стартовал от имени пользователя mpd. (Директива user в конфиге самого mpd роли не играла, поскольку смена пользователя текущего процесса — привилегированная операция.) А поскольку пользователь mpd исходно не состоял в группе users, к нему применялись права «others», т. е. запрет записи.

Исходная версия intelfx, :

Потому что директория mpd (/home/ekzotech/.config/mpd) со всеми вложенными файлами принадлежит группе users, а не группе ekzotech.

В Unix права доступа к любому файлу или директории выглядят как три секции по три бита. Также указывается пользователь, «владеющий» файлом, и группа, «владеющая» файлом. Биты соответствуют правам на чтение, запись и выполнение. Первая секция — это права пользователя, «владеющего» файлом. Вторая секция — это права всех пользователей, которые состоят в группе, «владеющей» файлом. Третья секция — это права остальных.

На примере файла mpd.log:

-rwxrwxr-x 1 ekzotech users 88185383 дек 26 22:41 mpd.log

Эта строка говорит, что 1) владелец (пользователь ekzotech) имеет право читать файл, писать в него и выполнять его (кстати, последнее лишнее); 2) любой пользователь, состоящий в группе users, имеет те же права; 3) остальные права записи не имеют.

Ну вот и смотри. При запуске mpd «из консоли» он запускался от имени пользователя ekzotech, ну и всё было хорошо. При запуске mpd через systemd, согласно директиве User=mpd, процесс стартовал от имени пользователя mpd. Директива user в конфиге самого mpd роли не играла, поскольку смена пользователя текущего процесса — привилегированная операция.