CentOS Linux(以下、CentOS)は、RHEL(Red Hat Enterprise Linux)と完全互換を目指して開発されたLinuxディストリビューションです。
フリーで誰でも利用でき、情報も豊富なため日本でも人気の高いLinuxです。
本記事では、これからCentOSを利用したいと考えている人に向けて、インストール後に実施すべき初期設定の内容をご紹介します。
CentOS LinuxをVPSで利用するなら
ミライサーバー
\2週間無料・全プランSSD搭載/
ミライサーバーを無料で試す
目次
前提条件
今回は、仮想マシン上にインストールされたCentOSに初期設定を行っていきます。
仮想マシンのスペックは以下のとおりです。
- CPU:2vCPU
- Memory:4GB
- Disk:50GB
- バージョン:CentOS Linux release 7.9.2009(Core)
また、コマンドの標記については、実際に入力するコマンドを太字、補足の内容を青字で記載しています。
wheelグループの追加
rootユーザーは管理者権限をもっており、Linux内ではあらゆる操作が可能なため、操作にはリスクを伴います。
例えば、誤って重要なファイルを削除してしまう、意図せぬタイミングでプログラムを実行してしまうことが考えられます。
そのため、誰でも簡単にrootユーザーを使えるようなことはしません。
通常運用では一般ユーザーを利用し、root権限が必要な場合のみ、suコマンドでrootユーザーに切り替えます。
具体的には、wheelグループにrootユーザーになれるユーザーのみ追加します。
以下のコマンドでは、rootユーザーで一般ユーザー(以下の例では、testuser)をwheelグループに追加しています。
# usermod -G wheel testuser
wheelグループに追加されたユーザーは、suコマンドでrootユーザーに切り替えられます。
$ su –
パスワード: ※rootユーザーのパスワードを入力
# ※rootユーザーになった
SELinuxの無効化
CentOSには、システムにアクセスできるユーザーを制御するセキュリティ機能「SELinux」が標準で有効になっています。
しかし、この機能が有効になっていると、サービスやアプリケーションの動作に影響を及ぼしてしまうことも多いです。
そのため、SELinuxを無効化しておきます。
SELinuxが有効になっているかどうかは、以下のコマンドで確認できます。
# getenforce
Enforcing ※SELinux有効
SELinuxを無効化するには、設定ファイル「/etc/selinux/config」の内容を修正します。
# vi /etc/selinux/config
【変更前】 SELINUX=enforcing 【変更後】 SELINUX=disabled |
設定ファイルを修正後、設定を有効にするため、CentOSを再起動します。
※注意
この設定変更はスペルミス等がないよう、十分に注意してください。
設定を間違えた場合、CentOSが起動しなくなる可能性があります。
CentOSが起動したら、SELinuxが無効化されていることを確認します。
# getenforce
Disabled ※SELinux無効
パッケージ管理システムの設定
パッケージの最新化
インストール済みのパッケージ一括アップデートを行うには、以下のコマンドを実行します。
# yum -y update
パッケージの自動更新
パッケージの自動更新を設定するには、「yum-cron」パッケージが必要です。
以下のコマンドで、yum-cronをインストールします。
# yum -y install yum-cron
yum-cronをインストールしたら、設定ファイル「/etc/yum/yum-cron.conf」に設定を追加します。
# vi /etc/yum/yum-cron.conf
【変更前】 apply_updates = no 【変更後】 apply_updates = yes |
設定ファイルを修正したら、yum-cronを起動します。
# systemctl start yum-cron
また、yum-cronをCentOS起動後に自動起動する場合は、以下のコマンドで自動起動設定を有効化します。
# systemctl enable yum-cron
nkfコマンドのインストール
nkfコマンドは、文字コードと改行コードを変換するためのコマンドです。
例えば、Windowsの日本語文字コードはSJIS(Shift-JIS)ですが、LinuxではUTF-8が使われます。
そのため、Windowsで作成したテキストファイルをそのまま変換せずCentOSに転送すると、文字化けが発生します。
このとき、文字コードを変換するコマンドがnkfコマンドです。
WindowsとLinuxでファイルのやりとりが頻繁に行われる場合は、nkfコマンドをインストールしておくとよいでしょう。
CentOS 7から、nkfコマンドは標準リポジトリに含まれなくなったので、epelリポジトリをインストールします
# yum install -y epel-release
その後、epelリポジトリを使用して、nkfをインストールします。
# yum install -y nkf —(←-を2回重ねる)enablerepo=epel
なお、nkfコマンドで文字コードを変換するには、以下のコマンドを実行します。
※Shift-JISからutf-8に変換する場合
$ cat [shift-jisのファイル名] | nkf–w > [出力ファイル名]
※utf-8からShift-JISに変換する場合
$ cat [utf-8のファイル名] | nkf –s > [出力ファイル名]
ファイアウォール「firewalld」の設定
CentOS 7以降では、ファイアウォール機能として「firewalld」が標準で有効になっています。
使用しない通信はポートを閉じることで、セキュリティを強化できます。
Webサーバーのように外部からの通信を受け入れる場合は、firewalldを必ず設定しておきましょう。
デフォルトでは「public」ゾーンが割り当てられています。
publicゾーンの設定を確認するには、以下のコマンドを実行します。
# firewall-cmd —(←-を2回重ねる)list-all
上記例だと、「dhcpv6-client」「ssh」の2つのみが許可されています。
ここで、Webサーバーを構築することを想定して、「http」「https」をオープンする設定を追加するには、以下のコマンドを実行します。
# firewall-cmd –add-service=http –zone=public –permanent
# firewall-cmd –add-service=https –zone=public –permanent
コマンドを実行したら、変更内容を反映します。
# firewall-cmd –reload
再度設定を確認すると、「http」「https」が追加されていることが確認できます。
サーバーの用途によって、必要な通信が変わります。
最低限必要なポートのみオープンするようにしましょう。
まとめ
今回はCentOSをインストール後に実施する初期設定の内容について紹介しました。
これら以外にも、ホスト名やネットワーク設定も、必要に応じて変更します。
システムの安定稼働のためにSELinuxの無効化、セキュリティ強化のために一般ユーザーの利用やパッケージの最新化、ファイアウォールの設定は行うようにしましょう。
CentOS LinuxをVPSで利用するならミライサーバー
ミライサーバーは、アシストアップ株式会社が提供している、Unix系サーバーに特化したホスティングサービスです。
ミライサーバーのVPSでは、高速処理が可能なSSDを全プランに搭載しています。
OSは、UbuntuやDebian、AlmaLinuxなどの豊富なラインアップから選択することができます。
2週間無料トライアルを実施しておりますので、まずはお気軽にお試しください。