Linuxの「システムユーザー」とは、特定のプログラムを実行するための専用アカウントのこと。
◆ Linuxで使用する3種類のユーザー
Linuxユーザーには管理者ユーザー、一般ユーザー、システムユーザーの3種類があります。
3種類のユーザー 説明 管理者ユーザー rootユーザまたはスーパーユーザーとも言われる。管理者ユーザは、システム管理のためのあらゆるコマンドを実行できるユーザ。管理者ユーザでの作業は最小限にする。 一般ユーザー システムを利用する側のアカウント。一般ユーザ―は自分専用のディレクトリが用意される。一般ユーザのーアカウントは、管理者ユーザーが作成することができる。 システムユーザー システムアカウントとも言われる。システム内部で特定のプログラムを実行するための専用アカウント。プログラム実行用アカウントなので、ログイン用に使用してはいけない。
Apacheやmysqlなんかをインストールしたときにできる、セキュリティのために一つのアプリケーションが占有して使うようになるあのアカウントを手動で作ってみようとしてみた。
このようなアカウントはシステムユーザーと呼ばれることが多いらしく、以下のようにして作成する#adduser --system username
RedHat系(CentOS等)とDebian系(Ubuntu等)で扱いが違うので注意。
CentOSの場合は同じです。「adduser」は「useradd」のシンボリックリンクになっています。
Ubuntu、FreeBSDでは「useradd」がコマンドにパラメータを与えてユーザを作るのに対して「adduser」は対話形式(質問に答えていく形)でユーザを作れます。
adduser
Debian ... Perlスクリプト。中でuseraddやgroupaddを巧みに呼びだす
CentOS ... useraddへのエイリアス、か、そもそも存在しない
ここからはDebian系のadduserについて書きます。
インタラクティブなユーザ追加スクリプトで、住所を聞いてきたりもします。
動作を/etc/adduser.confで書き換えることができ、デフォルトでログインシェルが/etc/bashになるのはこの設定ファイルに書かれているからのようです。-kがない際のスケルトンディレクトリが/etc/skelになるのもこいつのせい。