当サイトはプロモーションが含まれています。

IDCFクラウドで稼働させたサーバーの初期設定 その2

サーバー

前回の記事(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