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
(可能であれば後者が優先されます)。preinst
postinst
パッケージマネージャは、事前依存性preinst
である限り使用することができます。adduser
base-passwd
このポリシーは、前の段落で述べたように、別のアカウントソースであるpackagesにもリンクされています。
静的に割り当てられたIDが必要な場合は、管理者にユーザーまたはグループIDを要求する必要があり、
base-passwd
パッケージが割り当てられるまでパッケージをリリースしないでください。 1つが割り当てられたら、パッケージがbase-passwd
orのIDを持つパッケージのバージョンに依存するようにするか、パッケージがorの正しいIDを使用してユーザーまたはグループ自体を作成するように準備する必要があります。 (可能であればこれを行うのが最善です。そうでない場合は、事前にadduserパッケージに依存する必要があります。)/etc/passwd
/etc/group
adduser
preinst
postinst
postinst
文書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を持つ一部のユーザーがリストされており、これらのユーザーがそのパッケージによって生成されたことを示しています。