ユーザーがどのパッケージに属しているかを確認する方法は?

ユーザーがどのパッケージに属しているかを確認する方法は?

Linuxディストリビューションでは、一部のソフトウェアパッケージはユーザーアカウントを作成します。

特定のユーザーを作成したパッケージを確認するには?

FedoraとUbuntuについて具体的に知りたいのですが、他のディストリビューションへの答えも大歓迎です。

ベストアンサー1

Debianベースのシステム(Ubuntuを含む)では、パッケージは次のコマンドを使用してユーザーを作成します。管理者スクリプト、通常postinst。したがって、1つの方法は、次のスクリプトをgrepすることです。

grep -R --include='*.postinst' -e useradd -e adduser /var/lib/dpkg/info/

もちろん、これはpostinstスクリプトが削除されていないと仮定します(手動でまたは関連パッケージを削除したため)。


Debian ポリシー好むようですpostinst

[Y]必要に応じて、スクリプト内またはスクリプトからユーザーまたはグループを作成するようにパッケージを準備する必要がありますadduser(可能であれば後者が優先されます)。preinstpostinst

パッケージマネージャは、事前依存性preinstである限り使用することができます。adduser

base-passwdこのポリシーは、前の段落で述べたように、別のアカウントソースであるpackagesにもリンクされています。

静的に割り当てられたIDが必要な場合は、管理者にユーザーまたはグループIDを要求する必要があり、base-passwdパッケージが割り当てられるまでパッケージをリリースしないでください。 1つが割り当てられたら、パッケージがbase-passwdorのIDを持つパッケージのバージョンに依存するようにするか、パッケージがorの正しいIDを使用してユーザーまたはグループ自体を作成するように準備する必要があります。 (可能であればこれを行うのが最善です。そうでない場合は、事前にadduserパッケージに依存する必要があります。)/etc/passwd/etc/groupadduserpreinstpostinstpostinst

文書base-passwd/usr/share/doc/base-passwd/users-and-groups.txt.gzまたは/usr/share/doc/base-passwd/users-and-groups.html)には次のように記載されています。

The Debian base-passwd package contains the master versions of /etc/passwd and
/etc/group. The update-passwd tool keeps the entries in these master files in
sync on all Debian systems. They comprise only "global static" ids: that is,
those which are reserved globally for the benefit of packages which need to
include files owned by those users or groups, or need the ids compiled into
binaries. 

含まれているユーザー/グループは次のとおりです(から削除されました/usr/share/doc/base-passwd/users-and-groups.txt.gz)。

ユーザー(通常そのグループに属する)

root    man     majordom    irc         gdm
daemon  lp      postgres    gnats       saned
bin     mail    www-data    nobody      klog
sys     news    backup      messagebus  syslog
sync    uucp    operator    postfix
games   proxy   list        haldaemon

グループ(該当ユーザーなし)

adm     fax     audio       staff       sshd
tty     voice   src         users       fetchmail
disk    cdrom   shadow      lpadmin     cupsys
kmem    floppy  utmp        sasl        nogroup
dialout tape    video       scanner
dip     sudo    plugdev     ssh

パッケージREADME(/usr/share/doc/base-passwd/README)には、60000〜64999の範囲のUIDを持つ一部のユーザーがリストされており、これらのユーザーがそのパッケージによって生成されたことを示しています。

おすすめ記事