rootは権限が強いが常にrootで作業するのはセキュリティ的によくない。
管理者ユーザを別で作成し、ログイン・コマンド操作は管理者ユーザで行うようにする。
都度都度rootにスイッチして実行するのもいいが、パーミッションがばらけて管理が面倒なのでrootに近い権限を与えるように設定していく。
管理者ユーザの追加
①skel配下にフォルダ追加。ユーザ追加後に自動でpublic_htmlが生成されるようにする。
mkdir /etc/skel/public_html
②ユーザの追加・パスワード設定
useradd user_name
passwd user_name
chmod 701 /home/user_name
TCP Wrapper設定
sshでしかログインできないように設定する。
echo “sshd: ALL” >> /etc/hosts.allow
echo “ALL: ALL” >> /etc/hosts.deny
ローカル(自宅のPC)以外からのアクセスも考慮。
visudo設定
visudo
下記箇所に管理者ユーザの行を追加。
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
user_name ALL=(ALL) ALL
sshd_configの設定
vi /etc/ssh/sshd_config
以下を確認・変更する。
ポート番号をデフォルト「22」から変更
Port 33333
rootのログインを禁止
#PermitRootLogin yes
↓
PermitRootLogin no
空のパスワードでのログインを禁止
#PermitEmptyPasswords no
↓
PermitEmptyPasswords no
許可ユーザ(管理者ユーザ)を追加。
AllowUsers user_name
設定反映のため、デーモンを再起動
/etc/rc.d/init.d/sshd restart
rootになれるユーザーを限定する
vi /etc/pam.d/su
以下の通り設定。
#auth required pam_wheel.so use_uid
↓
auth required pam_wheel.so use_uid
管理者ユーザをwheel(管理者グループ)に登録する。
usermod -G wheel user_name
所属グループにwheelが追加されていることを確認
id user_name
※wheelユーザのみrootにスイッチできる設定となる。