sshでいきなりrootに入られてしまうのは怖いので設定する
アジェンダ
sshで入るユーザの作成。
普段はこのユーザから入り、サーバ内でsuする。
このユーザからしかrootに入れないよう設定する
rootになれるユーザの作成
既存のグループの確認
/etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
wheel:x:10:
…
…
このwheelというグループに新規ユーザ(ops)を入れる(wheelグループ指定)
cmd
# adduser ops -g wheel
# passwd ops
作業用にdevも作っておく
cmd
# adduser dev
# passwd dev
確認
最後の行に以下が設定されていればok
/etc/passwd
…
…
ops:x:502:10::/home/ops:/bin/bash
dev:x:503:503::/home/dev:/bin/bash
補足:passwdの見方
- ops -> ユーザ名
- x ->パスワード(シャドウパスワード使用中はx表記)
- 502 ->ユーザ番号(重複不可)
- 10 ->グループ番号
rootになれるユーザを限定する
opsユーザとdevユーザを作成したのでwheelグループのopsのみrootに入れるようにしておく
※設定ファイルを変更後、すぐに反映するので注意
/etc/pam.d/su
- # auth required pam_wheel.so use_uid
+ auth required pam_wheel.so use_uid
運用する際にopsからrootに移行する際に毎回パスワードをいれるのは時間のロスなので、wheelグループ(この場合はrootとopsのみ)はsuの際にパスワードを入力しなくていいようにする。
/etc/pam.d/su
- # auth sufficient pam_wheel.so trust use_uid
+ auth sufficient pam_wheel.so trust use_uid
sudo作業が出来るようにする
普段はopsユーザのままで作業を行う。
install等はなるべく、sudoで行う
- 特定のユーザにsudo権限を付与する
visudo
+ ops ALL=(ALL) ALL
- wheelグループに所属しているユーザにsudo権限を付与する
- # %wheel ALL=(ALL) ALL
+ %wheel ALL=(ALL) ALL
- sudo時にパスワードレスにする
- # %wheel ALL=(ALL) NOPASSWD: ALL
+ %wheel ALL=(ALL) NOPASSWD: ALL
- wheelに所属しているユーザのみsudo権限(パスワードレス)
- # %wheel ALL=(ALL) NOPASSWD: ALL
+ %wheel ALL=(ALL) NOPASSWD: ALL
rootでのログインを禁止する
※これがやりたかった
/etc/ssh/sshd_config
- # PermitRootLogin yes
+ PermitRootLogin no
ファイルの変更後、sshdを再起動する
cmd
# service sshd restart
これでrootでsshで入れなければ設定が無事完了。
あとはopsに鍵認証で入ればストレス無く作業が出来るはず。