CentOS 7の初期設定をしよう!
インストールが終わったら、まず始めにやっておくべきことがあれこれとあります。
ここでは、CentOSの初期設定について掲載しています。
※CentOS 7のサポートは2024年6月をもって終了していますが、旧コンテンツとしてこちらのページは残しておきます。
環境整備
まずはCentOSの環境を整えましょう。最初に入れておきたいソフトウェアやアップデートなどを行っていきます。
リポジトリの変更
CentOS 7はすでにサポートが終了しているため、そのままではソフトウェアやアップデートファイルなどがダウンロードできません。
古いファイルは「vault」という別のグループに保存されているため、そちらからダウンロードするよう設定を変更します。
ただし、ダウンロードできるファイルは当時のバージョンで、バグやセキュリティ上の問題がある可能性が高いです。
[root@co7 ~]# sed -i.bak 's/mirrorlist=/#mirrorlist=/g' /etc/yum.repos.d/CentOS-Base.repo
[root@co7 ~]# sed -i 's@#baseurl=http://mirror.centos.org/centos/$releasever/@baseurl=http://archive.kernel.org/centos-vault/7.9.2009/@g' /etc/yum.repos.d/CentOS-Base.repo
EPELリポジトリの追加(64bit)
EPELというFedoraプロジェクトによる外部リポジトリを追加することで、CentOSの標準パッケージで用意していないパッケージもインストール出来るようになります。
2024/7/1時点ではまだ使えますが、そのうち使えなくなる可能性が高いです。
[root@co7 ~]# yum -y install epel-release
インストール:
epel-release.noarch 0:7-11
完了しました!
純正のパッケージとの競合を避けるため、普段は無効にしておき、必要なときだけ有効にするようにします。
[root@co7 ~]# sed -i.bak 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo
yum-cronのイントール
もし、「勝手にアップデートされるのが嫌だ」、「アップデートは自分でやらないと気が済まない」という方は、この作業を飛ばして次へ進んでください。
CentOSにも様々なアップデートがあります。"yum-cron"は自動でアップデートを行ってくれるプラグインです。
yum-cronは決められた時刻(デフォルトでは午前4時頃)に起動し、アップデートの確認が終わったら終了するので、メモリ領域をいつまでも消費している、ということはありません。
[root@co7 ~]# yum -y install yum-cron
インストール:
yum-cron.noarch 0:3.4.3-168.el7.centos
完了しました!
インストールしただけでは動かないので、実行しましょう。
[root@co7 ~]# sed -i.bak 's/apply_updates = no/apply_updates = yes/g' /etc/yum/yum-cron.conf
[root@co7 ~]# systemctl enable --now yum-cron
サービス有効化の際に"--now"を付けると、有効化と同時にサービスを実行することができます。
[root@co7 ~]# systemctl status yum-cron
● yum-cron.service - Run automatic yum updates as a cron job Loaded: loaded (/usr/lib/systemd/system/yum-cron.service; enabled; vendor preset: disabled) Active: active (exited) since 火 2024-07-02 00:01:27 JST; 6s ago Process: 14898 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS) Main PID: 14898 (code=exited, status=0/SUCCESS)
アップデート
CentOSをアップデートします。この作業は時間がかかる場合があります。羊羹でも食べながらまったり待ちましょう。
[root@co7 ~]# yum -y update
アップデート後、一度再起動しておきましょう。
[root@co7 ~]# reboot
セキュリティの設定
セキュリティの設定をします。
SELinux
CentOSにはセキュリティ対策としてSELinuxというものが用意されています。SELinuxを適切に設定することでより強固なサーバを構築することができるのですが…設定が結構やっかいです。
使いこなせる気がしないので、SELinuxを無効にしておきます。
[root@co7 ~]# getenforce
Enforcing
[root@co7 ~]# setenforce 0
[root@co7 ~]# getenforce
Permissive
"Permissive"と表示されれば、SELinuxが無効になっている状態です。
このままでは、再起動すると設定が戻ってしまうので、再起動後も有効になるよう設定する必要があります。
[root@co7 ~]# sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
一般ユーザの作成
最後に一般ユーザを作りましょう。一般ユーザは自分に権利のあるファイルしか扱うことが出来ません。例えば、読み込む権利のみが与えられたファイルに対して、読み込みは可能ですが、書き込みや実行が出来ません。
普段は一般ユーザで操作をし、root権限の必要なときだけrootユーザに切り替えることで、誤操作を少なくすることが出来る…かも知れません。
一般ユーザ作成のための準備
今後、webサーバやFTPサーバ、メールサーバを立てることを前提に、一般ユーザを作るための準備を先にしたいと思います。skelディレクトリの中に作られたディレクトリ(フォルダ)やファイルが、ユーザ作成時にコピーされます。
Web、FTPサーバ用にpublic_htmlを、メールサーバ用にMaildir、Windows共有用にSAMBAを作成していますが、もしWebやFTPサーバは立てない、メールサーバは立てないなどの理由でディレクトリを作る必要がない場合はこの操作を飛ばし、ユーザの作成に取り掛かってください。
Webサーバ、FTPサーバ用
[root@co7 ~]# mkdir -p /etc/skel/public_html/cgi-bin
メールサーバ用
[root@co7 ~]# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
[root@co7 ~]# mkdir -p /etc/skel/Maildir/.Spam/{new,cur,tmp}
[root@co7 ~]# chmod -R 700 /etc/skel/Maildir/
一般ユーザの作成
準備が終わったら、一般ユーザを作っていきましょう。ここでは仮に"user"というユーザを作成しています。赤文字の部分を自分の環境に合わせて変更してください。
まずはユーザを追加します。
[root@co7 ~]# useradd user
続いて、追加したユーザにパスワードを設定します。
[root@co7 ~]# passwd user
ユーザー user のパスワードを変更。 新しいパスワード: [パスワード] 新しいパスワードを再入力してください: [再入力] passwd: 全ての認証トークンが正しく更新できました。
パスワードはrootユーザのものと違うものを指定しておくと良いと思います。
ただし、くれぐれもパスワードを忘れないように!
最後にユーザのホームディレクトリにパーミッション(権限)の設定を行います。
[root@co7 ~]# chmod 711 /home/user
もし、WebやFTP、メール専用アカウントなど、SSHによるログインを必要としない場合は、以下のように"nologin"を設定します。
[root@co7 ~]# useradd -s /sbin/nologin user
このままではrootでログインが出来てしまうため、まだセキュリティ上好ましいとは言えません。次はSSHの設定をしていきたいと思います。
SSHへ
今回新しく登場したコマンド
- sed
- yum
- systemctl
- reboot
- getenforce
- setenforce
- mkdir
- chmod
- useradd
- passwd
[広告]
トップページ
CentOS 7
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他