ユーザーを作成するために使用するコマンド「useradd」。
筆者はサーバー立ち上げ時のみ使う感じですね。
サーバー立ち上げ後は、ユーザー作成や編集、削除はWebminなどのGUIで済ましてしまうことが多いです。
コマンド例
# useradd pochaneko
# passwd pochaneko
ユーザー pochaneko のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。
最初のuseradd 作成するユーザー名
で、ユーザーを作成します。
CentOS7の場合、シェルはbashでホームディレクトリが作成されます。
次のpasswd ユーザー名
で、パスワードを設定します。(2回目以降は、パスワードの変更)
主なオプション
オプション | 内容 |
---|---|
-D | 設定のデフォルト値を表示する。 |
-M | ユーザのホームディレクトリを作成しない。 |
筆者は「useradd」に関しては、オプションを使うことはありません。
細かい設定はGUIで済ませてしまいます。
ユーザー別設定
好みの問題ですが、筆者は以下のような設定を施します。
$ vi ~/.bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -la'
umask 022
今後作成するユーザーに自動的に付与するには、以下のファイルに追記します。
# vi /etc/skel/.bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ll='ls -la'
umask 022
SSH接続の準備
作成したユーザーがSSH接続を使用する可能性がある場合に以下の設定を行います。
※パスワード認証が可の場合は以下の設定は必要ありませんが、公開鍵認証を行う場合には必要です。
クライアント側で鍵作成
$ ssh-keygen -t rsa -b 4096
$ ssh-keygen -t ecdsa -b 256
$ ssh-keygen -t ecdsa -b 384
$ ssh-keygen -t ecdsa -b 521
$ ssh-keygen -t ed25519
公開鍵と秘密鍵が作成されるので、公開鍵をサーバーへ転送する。
サーバー側で公開鍵登録
$ mkdir .ssh
$ chmod 700 .ssh/
$ vi .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
「authorized_keys」に公開鍵を記述します。
sudo(su)関係の設定
sudoコマンドの実行をwheelグループに限定するため、ユーザーをwheelグループに所属させます。(ユーザーのセカンダリグループに追加)
# usermod -aG wheel pochaneko
PAMの設定
おすすめは、3番目のオリジナルのユーザーアカウントを基にチェックです。
# vi /etc/pam.d/su
▼suコマンドの使用をwheelグループのみに制限する場合
auth required pam_wheel.so use_uid
▼rootアカウントへのスイッチのみ制限し、現在実行中のユーザーアカウントを基にチェックする場合
auth required pam_wheel.so use_uid root_only
▼rootアカウントへのスイッチのみ制限し、オリジナルのユーザーアカウントを基にチェックする場合
auth required pam_wheel.so root_only
wheelグループがsudoを使用できるようにする
CentOS 7ではデフォルトでwheelグループは、sudoを使用できるようになっていますが、もしできない場合には、以下の設定を確認します。
# visudo
%wheel ALL=(ALL) ALL
上記の%wheel ALL=(ALL) ALL
がコメントアウトされていれば、外してください。
なお、似たもので%wheel ALL=(ALL) NOPASSWD: ALL
がありますが、こちらはパスワードなしでsudoが実行できるようになります。