前回の記事(IDCFクラウドで稼働させたサーバーの初期設定 その1)の続き。
Firewalldの設定
通常であれば、ファイアウォールの設定をするべきなのですが、IDCFクラウドの場合、仮想ルーターにファイアウォール機能が備わっているので、今回は無効化します。(IDCFクラウドのおすすめテンプレートでは、デフォルトでDisabledになっていました)
▼ firewalldの状態確認(例:自動起動無効で、現在起動していない)
[root@server ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
▼ firewalldを停止する場合
[root@server ~]# systemctl stop firewalld
▼ firewalldの自動起動を停止する場合
[root@server ~]# systemctl disable firewalld
SWAP領域の設定
IDCFクラウドのワンコインプランでは、swap領域が確保されていなかったので設定します。
設定方法としては、
- ISOイメージからの仮想マシン作成で、インストール中にswap領域の設定を行う。
- 追加ディスクを利用して、swap領域の設定を行う。
- swap領域用のファイルを用意して、swap領域の設定を行う。
などがあり、既に仮想マシン作成後なので最初のプランは除きます。
今回はswap領域用のファイルを用意するプランを採用しました。
【追記 ‘17.02.03】追加データディスクでswap領域を作成する方法を記事にしました。→IDCFクラウドで追加したデータディスクをswap領域にする
▼ 「0」で満たしたswap領域用のファイルを作成
[root@server /]# dd if=/dev/zero of=/.swapfiles bs=1M count=2000
2000+0 レコード入力
2000+0 レコード出力
2097152000 バイト (2.1 GB) コピーされました、 2.63215 秒、 797 MB/秒
▼ 600以外のパーミッションだと警告がでますので、パーミッションを600に変更
[root@server /]# chmod 600 .swapfiles
▼ 作成したファイルをswap領域に指定
[root@server /]# mkswap /.swapfiles
スワップ空間バージョン1を設定します、サイズ = 2047996 KiB
ラベルはありません, UUID=aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
▼ swapの有効化
[root@server /]# swapon /.swapfiles
▼ swapの確認
[root@server /]# cat /proc/swaps
Filename Type Size Used Priority
/.swapfiles file 2047996 0 -1
▼ swapの無効化(停止)したい場合
[root@server /]# swapoff /.swapfiles
[root@server /]# rm /.swapfiles
サーバー再起動後も有効にするために、以下のように/etc/fstabへ記述します。
[root@server /]# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Mon Mar 14 22:51:47 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb / xfs defbults 0 0
▼ 以下を追記
/.swapfiles swap swap defaults 0 0
suの制限設定
CentOSはデフォルトの状態だと、全ユーザーがrootになれる状態です。
今回のように、ユーザーが1人だけの場合などは特に設定する必要はないかもしれませんが、今後ユーザーが増える可能性も考慮して設定します。
最初にwheelグループにroot化を許可するユーザーを所属させます。
[root@server ~]# usermod -aG wheel testuser
▼ idコマンドで確認
[root@server ~]# id testuser
uid=500(testuser) gid=500(testuser) 所属グループ=500(testuser),10(wheel)
▼ wheelグループから離脱
[root@server ~]# usermod -G testuser testuser
usermodのオプション「-G」でセカンダリグループが変更可能です。小文字「-g」だとプライマリグループが変更されるので注意しましょう。
また、オプション「-a」は追記となり、セカンダリグループが複数ある場合に使用します。(「-a」なしだと、上書き)
[root@server~]# vi /etc/pam.d/su
▼ コメントアウトされている行。解除すると、wheelグループに属するユーザーのみ「su」が使用可能
auth required pam_wheel.so use_uid
▼ wheelグループかtomatoグループに属するユーザーのみ「su」が使用可能
auth required pam_wheel.so use_uid group=tomato
▼ rootへのスイッチのみを制限(su自体は誰でも利用可能)して、最初にログインしたユーザーがwheelグループに属していれば、rootへスイッチ可能
auth required pam_wheel.so root_only
▼ rootへのスイッチのみを制限(su自体は誰でも利用可能)して、rootへのスイッチを実行したユーザーがwheelグループに属していれば、rootへスイッチ可能
auth required pam_wheel.so use_uid root_only
ちなみに、/etc/login.defsへ「SU_WHEEL_ONLY yes」を追記する必要はありませんでした。
sudoの設定
サーバーの初期設定を終えて、通常運用後は基本的にはrootにならずに済むように、sudoコマンドを利用します。
とはいえ、全ユーザーがsudoコマンドを使用できるのもよろしくないので、使用できるユーザーを限定します。(この項目もユーザーが1人だけの場合などは、特に設定する必要はないかもしれませんが、今後ユーザーが増える可能性も考慮して設定します)
※設定ファイルは「/etc/sudoers」になりますが、直接編集することは推奨されていません。visudoコマンドで編集します。
[root@server ~]# visudo
...(略)
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
▲ この行を有効化(デフォルトで有効)することで、wheelグループに属するユーザーにsudoコマンドの利用を許可します。
なお、使用できるコマンドを限定するとか、パスワードなしで実行可能とか、rootパスワードで実行など色々と調整できます。
今回はここまで。
続きの記事は、IDCFクラウドで稼働させたサーバーの初期設定 その3