綾小路龍之介の素人思考

[linux] useraddとadduserの違いはディストリビューションに依存する。

あるディストリビューションではadduserがuseraddのシンボリックリンクになっている。別のディストリビューションではperlスクリプト、shスクリプト。重要なのは、どんな場合もadduserはuseraddを呼び出すラッパーになっているということ。これに対して、useraddはディストリビューション非依存。だから、useraddの使い方を理解していれば、どんなディストリビューションでも困らない。

たとえば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はわかって無くてもよきに取り計らってくれるけど、ごみをシステムに残すかもしれない。

リファレンス

  1. useradd adduser - Google 検索
  2. The differences between useradd and adduser commands | Linuxers
  3. adduserとuseraddの違い - DUNNO-CLEARブログ2.0
  4. japan portal
  5. ubuntuのユーザー作成は、useradd?それともadduser?|六本木で働くIT系社長のアメブロ
  6. adduser vs useradd -Debian / Ubuntu-, Gentoo, Fedora/CentOS | Linux Operating System - Debian, Ubuntu, Fedora, Gentoo, Arch

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-07-19T05:11:37+09:00
  2. Modified: 2009-07-19T05:11:37+09:00
  3. Generated: 2017-07-17T23:09:17+09:00