Почему там запись человека в/etc/passwd

Я заметил, что существует запись для пользователя человека в моем /etc/passwd файл. Какова цель этого пользователя?

man:x:6:12:man:/var/cache/man:/bin/sh
23
задан 18 August 2014 в 13:02

1 ответ

man (команда, не пользователь), приложение справки. Приложения предоставляют страницы справочника в своих пакетах, но man потребности знать, где они и также что помогает, они обеспечивают. Ускорять вещи — так man не поиск целая файловая система, когда Вы вводите man <command> — эти страницы справочника индексируются в базу данных названной командой mandb.

В Ubuntu mandb хранилища индексируют в GNU gdbm базу данных в /var/cache/man/index.db (и некоторые язык определенные версии в том же каталоге). Это - база данных хеширования значения ключа, не отличающаяся от кэш-памяти или ста других реализаций на подобных идеях. Это является двоичным, легким и быстрым. Я добавлю пример того, как играть с ним в конце.

Эта индексация, как планируют, будет ежедневно работать в Ubuntu /etc/cron.daily/man-db. Целый сценарий работает как корень и делает некоторую чистку сначала, но прямо в конце мы видим mandb быть выполненным как man пользователь:

# --pidfile /dev/null so it always starts; mandb isn't really a daemon,
# but we want to start it like one.
start-stop-daemon --start --pidfile /dev/null \
                  --startas /usr/bin/mandb --oknodo --chuid man \
                  $iosched_idle \
                  -- --no-purge --quiet

Это не изменяет группу, которая является почему все владения группы в /var/cache/man являются все еще корневыми.

Но почему делает mandb выполненный как другой пользователь вообще? Это могло (вероятно), работать точно так же как root но это обрабатывает вход от множества источников (взгляд на manpath). Выполнение как его собственный пользователь изолирует систему от аварийного завершения процесса — или хуже — быть использованным уродливыми, поврежденными или злонамеренными страницами справочника.

Худшее, которое могло произойти, будет только влиять man индекс страниц. Шиканье ого-го. Можно подтвердить что с чем-то как:

sudo -u man find / -writable 2>/dev/null

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


Можно посмотреть на базу данных с accessdb. Вот несколько случайных записей:

$ accessdb | shuf -n3
fpurge -> "- 3 3 1380819168 A - - gz purge a stream"
fcgetlangs -> "FcGetLangs 3 3 1402007131 A - - gz Get list of languages"
ipython -> "- 1 1 1393443907 A - - gz Tools for Interactive Computing in Python."

Хотя не совсем ясный из вышеупомянутого, там существуют на самом деле разделенные от вкладки поля:

<name> -> <ext> <sec> <mtime> <ID> <ref> <comp> <whatis> 

Можно читать больше о фактическом полевом содержании в техническом руководстве.

31
ответ дан 16 November 2019 в 12:04

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

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