無用なトラブルを避けるためにOSの状態を確認する最低限の方法を知っておきましょう。
前提
- Virtualbox上に「最小限のインストール」でCentOS7.7を構築
- ポートフォワーディングでホストの8888番ポートをゲストの80番ポートに転送(http)
- ポートフォワーディングでホストの2222番ポートをゲストの22番ポートに転送(ssh)
- ゲストOSからインターネット接続が可能
OSにログインする
まず調査したい対象OSにログインします。
ssh -p 2222 devuser@localhost
ユーザー名はインストール時に作成したユーザー名とする。わからなければrootでも可。
OSの状態を知る
OSのバージョン
まずはOSのバージョン。CentOSは6.x, 7.x, 8.xが実運用されており、バージョン毎に操作法がやや異なります。
自分の利用しているOSのバージョンを確認できるようにしましょう。
cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
timezone
運用に置いて重要なのがTimezoneです。標準ではUTCになっていることも多いため確認しておくと無用なトラブルを避けられます。
JSTになっていることを確認します。
timedatectl
Local time: 火 2020-03-31 07:19:50 JST
Universal time: 月 2020-03-30 22:19:50 UTC
RTC time: 月 2020-03-30 22:19:49
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
変更が必要な場合は下記のようにする。
sudo timedatectl set-timezone Asia/Tokyo
locale
ロケール(言語設定)に起因するトラブルは多くはないですが、どのような設定になっているかを知っておくといいでしょう。
localectl
System Locale: LANG=ja_JP.UTF-8
VC Keymap: jp
X11 Layout: jp
変更が必要な場合は下記の様にする。
sudo localectl set-locale LANG=ja_JP.utf8
メモリ容量
メモリ容量の確認方法です。
free
total used free shared buff/cache available
Mem: 1882152 151292 1515104 8808 215756 1578448
Swap: 839676 0 839676
ディスク容量
ディスク容量の確認方法です。
Linux(UNIX)系のOSでは標準で複数のパーティションが設定されることがあります。
ここで重要なのはrootパーティションです(/)。
df
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
devtmpfs 929116 0 929116 0% /dev
tmpfs 941076 0 941076 0% /dev/shm
tmpfs 941076 8808 932268 1% /run
tmpfs 941076 0 941076 0% /sys/fs/cgroup
/dev/mapper/centos-root 6486016 1200856 5285160 19% /
/dev/sda1 1038336 152476 885860 15% /boot
tmpfs 188216 0 188216 0% /run/user/0
tmpfs 188216 0 188216 0% /run/user/1000
CPUの状態
CPUの負荷状況の確認。
top
vmstat等も利用される。
SELinuxの状態
セキュリティー(アクセス制御)設定を行う機構。多くの場合OFF(disabled)にする。
httpによる公開ファイルの不正改竄等を防止する機能があるためONのままだと、Web関連のファイルの編集でトラブルの原因となる。
getenforce
Enforcing
EnforcingとなるのはONの状態です。
変更が必要な場合は/etc/selinux/configを編集
sudo vi /etc/selinux/config
設定をdisabledにする(詳細の手順は後述しますので、ここでは設定変更不要です)。
(OSの)Firewallの状態を確認
OS搭載のfirewallの状態も確認しておきます。
sudo firewall-cmd --state
running
sudoを実行した際、パスワードを聞かれる可能性があります。
動作しているようです。
どういう設定か見てみます。
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
sshが許可されています。
webを確認するには80番ポートをopenする必要があります(後述)。
考えよう
- SELinuxとは何か?
- firewall-cmdとは何か?
- swap領域とはなにか?