Почему системный журнал является пользователем?

Когда я проверяю /var/log, Я нахожу что-то очень странным

me@me:~$ ls -lt /var/log |head -6 '
total 160368
-rw-r-----  1 syslog            adm              19919118 Jan 15 16:55 auth.log
-rw-r-----  1 syslog            adm             139702302 Jan 15 16:55 syslog
-rw-r-----  1 syslog            adm                191122 Jan 15 16:55 mail.log
-rw-r-----  1 syslog            adm               2210432 Jan 15 16:32 kern.log
-rw-r--r--  1 root              root              1741863 Jan 15 14:22 dpkg.log

Заметьте, что владелец первых четырех файлов журнала syslog. Это странно, потому что существует только один пользователь в моей системе:

me@me~$ users
me

Почему мог имя файла syslog быть пользователем?

15
задан 15 January 2019 в 04:30

3 ответа

Это имеет отношение к безопасности и полномочиям при доступе к Вашей системе.

И не, у Вас есть намного больше пользователей, чем просто Ваш собственный пользователь. Существует "корень", "демон", "мусорное ведро", "игры", "никто" и "список".

Сделайте a more /etc/passwd для списка пользователей в Вашей системе. Вы будете видеть много строк с "/usr/sbin/nologin". Это означает, что они не могут использоваться в качестве обычного пользователя с входом в систему как Ваш собственный пользователь, может. Третий столбец является идентификатором пользователя. Все идентификаторы пользователей ниже 1000 являются псевдо пользователями. Ваш 1-й sudo пользователь (тот, который установил систему) имеет 1000 по умолчанию.

В основном пользовательскому системному журналу позволяют использовать /var/log/ каталог, который установлен как каталог, принадлежавший корню. Для не взлома полномочий на каталоге (т.е. понизить полномочия, таким образом, другие пользователи могут использовать его) этот пользователь был создан.

То же сделано с пользователем для Apache и MySQL (Вы будете видеть www-пользователя-данных и группу и пользователя MySQL и группу при установке их) но это используется для загрузок вещей. Существует группа "dialout", который привык к устройствам доступа внешнему облику. Пользователи добавляются к этой группе, чтобы позволить пользователю использовать эти устройства. Иначе Вы доберетесь, разрешение отклонило ошибку. Это работает два пути: отклонение пользовательского доступа означает удалять группу.

26
ответ дан 23 November 2019 в 02:41

Услуга системного журнала, которая пишет сообщения журнала, созданные ядром и другими сервисами к различным файлам журнала, консоли и/или другим местам назначения, работает в соответствии с ее собственной учетной записью специального пользователя. Сделайте многие другие сервисы. Это должно реализовать принцип наименьшего количества полномочия:

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

В любой подобной Unix операционной системе (который включает весь GNU/дистрибутивы Linux, такой как Ubuntu), можно наиболее легко присвоить privilieges (который является главным образом правом читать и/или записать из определенных файлов или подобных файлу вещей, таких как узлы устройства) на основе пользователей и групп. Существуют другие возможности, но они часто более утомительны и подвержены ошибкам, чтобы настроить, или работать только в определенных контекстах.

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

Чтобы нанести больше ущерба, чем просто удаление/изменение файлов журнала и чтение "общедоступных" файлов (с разрешением "чтения" для всех), взломщик должен был бы сначала дополнительно использовать вторую ошибку, или в ядре или в некотором программном обеспечении, которое установлено для выполнения с различными полномочиями, чем пользователь, который вызвал его (setuid), и таким образом получите дополнительные полномочия (расширение полномочий).


users управляйте, чтобы Вы использовали, согласно его странице справочника, шоу только пользователи, которые в настоящее время зарегистрированы. Так как пользователь системного журнала является пользователем системы, это никогда не будет входить в систему, таким образом, это никогда не будет обнаруживаться в этом списке. Можно изучить файл /etc/passwd или используйте любой из других методов, описанных здесь для получения списка всех (человек и система) пользователи в системе.
8
ответ дан 23 November 2019 в 02:41

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

Читайте здесь для краткой истории системного журнала.

В других дистрибутивах например, дистрибутивы на основе Red Hat Linux, выводом системного журнала для системы, хранятся в названном файле /var/log/messages. Это зависит от конфигурации.

Как Rinzwind говорит из соображений безопасности различные компоненты в операционной системе, выполненной с определенным пользователем, и каждый пользователь имеет их собственные права. Например, системный журнал, по крайней мере, имеет разрешение записи на /var/log папка.

Система имеет многие сервисы, и обычно существуют пользователи для каждого сервиса или для небольшой группы сервисов. Например, apache get www-data|httpd|apache. Обычно эти пользователи демона не заставляют доступ Bash избегать утечек безопасности.

7
ответ дан 23 November 2019 в 02:41

Другие вопросы по тегам:

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