たとえばdebian lennyの場合、以下のようになる。adduserはperlスクリプトで、その中でadduserを呼んでいることがわかる。
# which -a useradd /usr/sbin/useradd # which -a adduser /usr/sbin/adduser # ls -la `which -a adduser` -rwxr-xr-x 1 root root 33803 2008-08-11 06:35 /usr/sbin/adduser # ls -la `which -a useradd` -rwxr-xr-x 1 root root 64664 2009-11-14 23:41 /usr/sbin/useradd # head `which -a adduser` #!/usr/bin/perl # adduser: a utility to add users to the system # addgroup: a utility to add groups to the system my $version = "3.110"; # Copyright (C) 1997, 1998, 1999 Guy Maor <maor@debian.org> # Copyright (C) 1995 Ted Hajek <tedhajek@boombox.micro.umn.edu> # Ian A. Murdock <imurdock@gnu.ai.mit.edu> # Bugfixes and other improvements Roland Bauerschmidt <rb@debian.org> # grep useradd `which -a adduser` my $useradd = &which('useradd'); &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', my $useradd = &which('useradd'); &systemcall($useradd, '-d', $home_dir, '-g', $ingroup_name, '-s', # useradd without -p has left the account disabled (password string is '!')
まとめると、単一のディストリビューションだけを使うrootはadduser。たくさんのディストリビューションを使うrootはuseradd。それぞれの使いかたを覚えればよい。useraddはやれといわれない限り最低限のことしかしない。adduserはわかって無くてもよきに取り計らってくれるけど、ごみをシステムに残すかもしれない。