Estou simplesmente curioso para saber por que man
tem seu próprio usuário.
$ grep man /etc/passwd
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
Estou usando o Debian Buster.
Estou simplesmente curioso para saber por que man
tem seu próprio usuário.
$ grep man /etc/passwd
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
Estou usando o Debian Buster.
man
(pelo menos, a versão implementada emman-db
) pode ser configurada com seu próprio usuário para que seu “cache” (que inclui índices, como usado, por exemplo , porwhatis
) possa ser de propriedade e atualizado por esse usuário (em vez deroot
).Além disso,
man
pode ser configurado para esse usuário, permitindo que ele grave em seu diretório de cache sem exigir permissões específicas para os usuários:O acima mostra que o
man
binário é setuid e setgidman
, eman
possui/var/cache/man
.Nos derivados do Debian, isso pode ser configurado com
sudo dpkg-reconfigure man-db
. A explicação ali dada é“cat pages” não são úteis hoje em dia, então configurar um sistema sem suporte para elas não causará nenhum problema. Também é possível suportar páginas cat sem permitir sua criação por usuários arbitrários e, portanto, exigir um
man
usuário e um binário setuid; vários sistemas Unix costumavam ser configurados para gerar periodicamente todas as páginas cat ausentes (consulte Recursoscatman
).Mesmo sem um setuid
man
, umman
usuário pode ser útil paraman
tarefas cron relacionadas (whatis
índices etc.).