Как группа имеет доступ к чему-либо?

Поскольку gitявляется псевдонимом , оканчивающимся пробелом, bash выполняет раскрытие псевдонима для слова сразу после него:

$ alias mv='mv -i'
$ alias git=': git '
$ set -x
$ git mv
+ : git mv -i

Из документов:

Если последний символ значения псевдонима является пробелом, то следующий Командное слово, следующее за псевдонимом, также проверяется на расширение псевдонима.

Сделайте gitпсевдонимом без пробела:

alias git='LANG=en_US git'

Обратите внимание, что:

Первое слово замещающего текста проверяется на псевдонимы, но слово, идентичное раскрываемому псевдониму, не раскрывается второй раз. Это означает, что можно использовать псевдоним lsдля ls -F, для instance, и Bash не пытается рекурсивно расширять замену текст.

Итак, вам не нужно \git.

0
26.08.2017, 21:01
1 ответ

Программа запускается от имени пользователя и группы, которые ее вызывают. Принадлежность исполняемого файла программы значения не имеет. (Исключением является то, что исполняемый файл имеет установленный бит setuidили setgid, но это касается только нескольких программ, которые запускаются с повышенными привилегиями, среди которых journalctlнет.)

Любой может запустить /bin/journalctl, так же как любой может запустить /bin/ls. Однако не каждый может запустить /bin/journalctlс пользой: вам необходимо иметь доступ к файлам, к которым обращается journalctl, точно так же, как запуск ls somedirectoryтребует разрешения на доступ к какой-то каталог.

В случае journalctl соответствующие файлы находятся в /var/log/journal. См. Где хранятся данные «journalctl»? для более подробной информации.

Вы не должны изменять права доступа ни к одному из задействованных файлов. Поскольку вы точно не знаете, что делаете, вы, вероятно, что-то сломаете. Если вы хотите предоставить пользователю доступ для чтения к журналам, добавьте их в группу systemd-journal, для этого она и предназначена.

2
28.01.2020, 02:33

Теги

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