CentOS6のユーザー作成

2016.6.8 (水)

Linux系のマシンではrootとそのほかのユーザーに分かれていてroot以下はそれぞれの権限内での操作しかできないようになっています。それぞれいろいろ設定しておく必要があります。

ユーザーの作成

基本的なコマンドは以下の通りです。usermodとかほとんど使わないです。

command
useradd ユーザー作成
usermod 更新
userdel ユーザー削除
passwd パスワード作成・変更

新規ユーザー作成

新規でユーザーを作成すると/home以下に作成したユーザーの専用ディレクトリが自動的に作成されます。

# useradd test

/home/testが作成されているはずです。

# ls /home
ec2-user  test ←作成されている

また、passwdファイルに新しいユーザーが作成されているかも確認してみましょう。

# tail /etc/passwd
・・・・・
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
ec2-user:x:500:500:EC2 Default User:/home/ec2-user:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
test:x:501:501::/home/test:/bin/bash ←作成されている

※ちなみにadduserという似たようなコマンドもあります。これでも同様にユーザー作成が可能ですが、若干中身が違っていますので、気になる人は調べてみてください。

Webサーバーでユーザーを利用する場合

ふつうのlinuxでは新しいユーザーディレクトリのパーミッションがそのユーザーのみ読み書きができるようになっています。WEBサーバーなどで使うときはこれだと外から見られなくなるので、都度パーミッションの設定が必要です。

# chmod 755 /home/test
(または、chmod 705 /home/test)

ドキュメントルートになるディレクトリも設定しておきましょう。ここでは便宜的にwww。root権限で作成するとこれもまた問題なので、かならずそのユーザーにsuしてから作ります。(とはいえ、chownしても同じではあります。)

# su test
$ mkdir -m 755 /home/test/www
$ exit

ユーザーにコメントをつける

ユーザーが多数いる場合は、用途が不明になるのでコメントをつけることができます。一応日本語でもできますが文字セットにご注意。

# usermod -c "ここにコメントが書けます" test

確認方法はgrepが簡単だと思います。

grep test /etc/passwd
test:x:501:501:ここにコメントが書けます:/home/test:/bin/bash

ユーザーのパスワード設定

# passwd test
Changing password for user test.
New password:  ←ここでパスワード入力
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:  ←ここでパスワード再入力
passwd: all authentication tokens updated successfully.

親切なアラートがないので、1234とかいうパスワードも設定できちゃいますのでご注意くだい。少なくとも半角英数字(大文字小文字)+記号ぐらいの6文字以上ぐらいにしておかないと、結構ブルートフォースでやられます。

これでSSHなどで外からログイン可能になります。(SSHの設定も別途必要ですが)

ユーザーの削除

ユーザーの削除は頻繁にする作業じゃないんですが、実行するときは慎重にやりましょう。またユーザー以下のバックアップなどもとっておきましょう。

# userdel test

passwdファイルからユーザーが削除されていることも確認しましょう。

# tail /etc/passwd

ここまででだいたいの基本作業はできるかと思います。