Linuxサーバより愛を込めて。

Linux(Ubuntu)サーバとダーツを愛する中年サラリーマンの日記。

Linuxサーバ

Ubuntuでユーザ作成

ここまでお話したとおり、Ubuntuのユーザはデフォルトで使用できないrootとインストール時に作成した一般ユーザが存在しています。

 

基本的な作業は一般ユーザで行うとして、それ以外にユーザを追加する場合も出てくると思います。

 

例えば1台のPCを親子でだったり兄弟で使いまわす時など新たなユーザを作成することもあるでしょう。

 

またせっかくの自宅サーバなのでメールアカウントを複数持って使いまわすなんて事も管理者の思うままなんです。

 

ということでまずはユーザ追加作業の前に下準備をいくつかしておきましょう。

 

最初に /etc/skel/ というディレクトリに「public_html」と「Maildir」を、さらにpublic_htmlの中に「cgi-bin」というディレクトリを作成しておきます。

 

これにより、後ほどユーザを作成するときにユーザのホームディレクトリ内に先ほど作成したディレクトリがコピーされて自動的に作られるのです。

 

ちなみに「public_html」は作成したユーザがWebページを公開する際のドキュメントルートとして、「cgi-bin」はcgiを使用するためのディレクトリとして作っておきます。

 

「Maildir」はメールを使用するときの格納用ディレクトリとなります。

 

次は /bin/false というシェルをコピーして /bin/ftp というシェルを作成します。

 

シェルというのはログインしたユーザが使用できるコマンドインタプリタ(Windowsのコマンドプロンプトのようなもの。あれよりかなり高機能だそうですが)です。

 

が、この/bin/falseというのは中身が空なんです。つまりコマンドを実行することができないシェルとなっています。

 

各ユーザにはシェルが与えられているのですが、/bin/falseを付与されたユーザはコマンドの実行はおろかログイン(sshも含めて)もできないユーザとなります。

 

ただ、これだとメールを使用することもFTPでホームディレクトリに接続することもできないのです。そしてなぜかは知らないのですがコピーした/bin/ftpだとFTP接続は可能だがログインできないという都合の良い?ユーザを作成できるのです。

 

前置きが長くなりましたがいよいよユーザを作成します。

まずは一般ユーザですが、やり方は簡単♪

 

コマンドで

 

sudo adduser ○○

 

と入力しましょう。(詳しい使い方はコマンドラインで「man adduser」と入力すると表示されます)

 

あとは対話形式で

  • パスワード × 2回入力(確認のため)
  • Full Name(空白でも可)
  • Room Number(空白でも可)
  • Workphone(空白でも可)
  • Homephone(空白でも可)
  • Other(空白でも可)

と順次入力すれば完了です。

 

sudo dir /home/○○/

 

と入力してみると新しいユーザのホームディレクトリが作成されているはずです。

 

ちなみに「useradd」というコマンドもあり、そちらでもユーザを作成することができますがUbuntuの場合ホームディレクトリが自動作成されないという特徴があります。

Ubuntuの場合、というのは以前Vine Linux(Red Hat系)ではuseraddでディレクトリ作成までしてくれていたという背景があります。念のため・・・

 

残るはFTP&メール専用ユーザです。こちらは

 

sudo adduser --shell /bin/ftp ○○

 

と入力します。

 

あとは一般ユーザと同様の手順でユーザ作成完了です。

 

ログイン画面のユーザ一覧には表示されますが、パスワードを入力してもログインできないはずです。

 

このようにユーザの追加作業自体は簡単ですので、あとは各ユーザの管理をしっかり行っていきましょうね。

-Linuxサーバ
-,