ユーザ作成あれこれ

※Linux関連記事についてはsnagplaces on @wikiにまとめていますので、そちらをご参照ください。

ユーザの作成

# useradd hoge ※ユーザの作成
# passwd hoge ※ユーザパスワードの設定
Changing password for user hoge.
New UNIX password: ※パスワードを入力
Retype new UNIX password: ※パスワードを入力(確認用)
passwd: all authentication tokens updated successfully.

ユーザの削除

# userdel -r hoge

一般ユーザからrootになる

$ su –
パスワード:rootのパスワード

suの後に「-(ハイフン)」がないとパスの継承ができなくなるので注意。

su(root)になれるユーザを制限する

# usermod -G wheel hoge ※rootになれるユーザ名

# vi /etc/pam.d/su
【6行目あたり】コメントをはずす
auth required pam_wheel.so use_uid

指定したユーザ以外でrootになれないことを確認しましょう。

sudoを使えるユーザを指定する

# visudo もしくは # vi /etc/sudoers
【77行目あたり追記】ユーザを指定する場合
hoge ALL=(ALL) ALL
【83行目あたり】グループで指定する場合(suになれるユーザ) コメントをはずす
%wheel ALL=(ALL) ALL

sudoを使うときは以下のようにします。一度認証すると次回からパスワードの入力が必要なくなります。

$ sudo reboot ※スーパーユーザでしか実行できないコマンド
Password:ユーザのパスワード(rootではない)

コンソール上で別ユーザにSSHログイン

# ssh hoge@localhost ※ユーザ名@ホスト名
The authenticity of host ‘localhost (127.0.0.1)’ can’t be established.
RSA key fingerprint is RSAキー.
Are you sure you want to continue connecting (yes/no)? yes ※最初にログインするとき1回だけ出る
Warning: Permanently added ‘localhost’ (RSA) to the list of known hosts.
hoge@localhost’s password:パスワード

公開鍵認証している場合は別ユーザにも公開鍵を持っている必要があるようです。

コンソールログインの制限

#useradd -s /sbin/nologin hoge

この制限を入れるとTeraTerm等でのコンソール利用ができなくなります(FTP等は可能)。

ユーザシェルの変更

# chsh hoge
hoge のシェルを変更します。
新しいシェル [/bin/bash]: /sbin/nologin ※コンソールログインを制限する場合
新しいシェル [/sbin/nologin]: /bin/bash ※一般用にする場合
シェルを変更しました。

ユーザ作成時に自動で特定のディレクトリを作成

ここで設定するのはApacheのホスティング領域を設定する例です。

# mkdir /etc/skel/public_html
# chmod 755 /etc/skel/public_html

これでユーザを作成するたびにpublic_htmlが作成されますが、ユーザディレクトリ公開の為には結局ユーザディレクトリ毎にパーミッションの設定(711)をしなければなりません。

コメントを残す