人間はなぜ自分のユーザーを持っているのですか?

人間はなぜ自分のユーザーを持っているのですか?

manなぜ自分のユーザーがいるのだろうか。

$ grep man /etc/passwd
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin

私はDebianバスターを使用しています。

ベストアンサー1

man(少なくとも、実装バージョンman-db) は、「キャッシュ」(索引付けを含む)が使用されるように独自のユーザーとして設定できます。例えば)ではwhatisなく、このユーザーが所有および更新できますroot

またman、このユーザーに対してuidを設定して、ユーザーに特定の権限を要求せずにキャッシュディレクトリに書き込むこともできます。

$ ls -ld /var/cache/man /usr/bin/man
-rwsr-sr-x  1 man man 115600 Feb 19  2021 /usr/bin/man
drwxr-xr-x 31 man man   4096 Nov 23 00:00 /var/cache/man

上記のmanバイナリはsetuidとsetgidmanだけでなくmanownsです/var/cache/man

sudo dpkg-reconfigure man-dbDebian 派生では、次の説明を使用できます。

manおよびmandbプログラムは、「man」ユーザーの権限で実行するようにset-user-idビットを設定してインストールできます。これにより、一般ユーザーは、事前にフォーマットされたマニュアルページ(「catページ」)をキャッシュして、遅いシステムのパフォーマンスを向上させるのに役立ちます。

マンページキャッシングは、80列ターミナルを使用している場合にのみ機能します。これは、あるユーザーが他のユーザーに不快な幅でCatページを保存するのを防ぐためです。ワイド端末を使用している場合は、MANWIDTH = 80を設定してマニュアルページの形式を80列に強制することができます。

この機能を有効にするとセキュリティ上のリスクがあるため、デフォルトでは無効になっています。疑わしい場合は無効にする必要があります。

Catページは現在役に立たないので、それをサポートしていないシステムを設定しても問題は発生しません。 Catページもサポートされていますが、任意のユーザーはそれを生成できないため、man定期的に作成するにはユーザーとsetuidバイナリが必要です。みんな猫のページがありません(参照catman)。

setuidなしで、ユーザーmanは関連するクローン操作(インデックス付けなど)manに使用できます。manwhatis

おすすめ記事