Разрешение на запись в систему

printf '%s\n' *_*_*.h

Будет печатать имена файлов, содержащие как минимум 2 символа подчеркивания, не Начнем с . и заканчиваются на .h по одному в строке. Однако, если такого файла нет, он напечатает * _ * _ *. H .

1
05.11.2018, 15:22
3 ответа

Предполагая, что среда Unix/Linux поддерживает реализацию списка контроля доступа, вы можете применить такой список контроля доступа:

sudo setfacl -m u:mauro:rw /var/logs

This utility (setfacl) sets Access Control Lists (ACLs) of files and directories, i.e. sets what permission a user(s)/group(s) can have on a particular file or directory.

Refer to man-page of setfacl(1)

Кроме того, setfaclимеет рекурсивную опцию (-R )точно так же, какchmod:

Вы можете использовать заглавные -x Xразрешения, что означает:

execute only if the file is a directory or already has
execute permission for some user (X)

Таким образом, новая команда будет выглядеть как:

setfacl -R -m u:mauro:rwX /var/logs
-2
28.01.2020, 02:11

Создайте файл журнала как root,

sudo touch /var/log/mylogfile.log

Сделать его владельцем правильного пользователя:

sudo chown user:group /var/log/mylogfile.log

Если вы выполняете ротацию файлов журналов, убедитесь, что служба ротации(logrotateили что-то другое, что вы используете ), создает или оставляет пустой файл с правильным владельцем при каждой ротации файла журнала.

Чтобы позволить одному пользователю записывать несколько файлов журналов, создайте каталог /var/log/mylogs, принадлежащий данному пользователю, а затем создайте файлы журналов в этом каталоге.

-1
28.01.2020, 02:11

syslogd здесь твой друг. см.https://stackoverflow.com/a/36762675/537980

syslogdимеет разрешение на запись в этот каталог. Он предназначен для логирования. Он не будет давать никаких других разрешений (, только ведение журнала ). См. ссылку выше для получения дополнительной информации (Я не эксперт. Я только знаю, что он существует, и это то, что вам нужно ).

1
28.01.2020, 02:11

Теги

Похожие вопросы