CentOS 7の初期設定をしよう!
インストールが終わったら、まず始めにやっておくべきことがあれこれとあります。
ここでは、CentOSの初期設定について掲載しています。
環境整備
まずはCentOSの環境を整えましょう。最初に入れておきたいソフトウェアやアップデートなどを行っていきます。
EPELリポジトリの追加(64bit)
EPELというFedoraプロジェクトによる外部リポジトリを追加することで、CentOSの標準パッケージで用意していないパッケージもインストール出来るようになります。
[root@co ~]# yum -y install epel-release
インストール:
epel-release.noarch 0:7-11
完了しました!
純正のパッケージとの競合を避けるため、普段は無効にしておき、必要なときだけ有効にするようにします。
[root@co ~]# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo
yum-cronのイントール
もし、「勝手にアップデートされるのが嫌だ」、「アップデートは自分でやらないと気が済まない」という方は、この作業を飛ばして次へ進んでください。
CentOSにも様々なアップデートがあります。"yum-cron"は自動でアップデートを行ってくれるプラグインです。
yum-cronは決められた時刻(デフォルトでは午前4時頃)に起動し、アップデートの確認が終わったら終了するので、メモリ領域をいつまでも消費している、ということはありません。
[root@co ~]# yum -y install yum-cron
インストール:
yum-cron.noarch 0:3.4.3-168.el7.centos
完了しました!
インストールしただけでは動かないので、実行しましょう。
[root@co ~]# sed -i 's/apply_updates = no/apply_updates = yes/g' /etc/yum/yum-cron.conf
[root@co ~]# systemctl enable --now yum-cron
サービス有効化の際に"--now"を付けると、有効化と同時にサービスを実行することができます。
[root@co ~]# 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 金 2023-03-10 16:14:08 JST; 10s ago Process: 7530 ExecStart=/bin/touch /var/lock/subsys/yum-cron (code=exited, status=0/SUCCESS) Main PID: 7530 (code=exited, status=0/SUCCESS)
アップデート
CentOSをアップデートします。この作業は時間がかかる場合があります。羊羹でも食べながらまったり待ちましょう。
[root@co ~]# yum -y update
アップデート後、一度再起動しておきましょう。
[root@co ~]# reboot
LogWatchのインストール
CentOSが毎日どのような動作をしていたか、すべてログファイルに記録されますが、それをいちいちサーバ上で読むのは大変です。
そこで、毎日ログを集計し、報告してくれるLogWatchをインストールします。
[root@co ~]# yum -y install logwatch
インストール:
logwatch.noarch 0:7.4.0-35.20130522svn140.el7_5
依存性関連をインストールしました:
mailx.x86_64 0:12.5-19.el7
perl.x86_64 4:5.16.3-299.el7_9
perl-Carp.noarch 0:1.26-244.el7
perl-Date-Manip.noarch 0:6.41-2.el7
perl-Encode.x86_64 0:2.51-7.el7
perl-Exporter.noarch 0:5.68-3.el7
perl-File-Path.noarch 0:2.09-2.el7
perl-File-Temp.noarch 0:0.23.01-3.el7
perl-Filter.x86_64 0:1.49-3.el7
perl-Getopt-Long.noarch 0:2.40-3.el7
perl-HTTP-Tiny.noarch 0:0.033-3.el7
perl-PathTools.x86_64 0:3.40-5.el7
perl-Pod-Escapes.noarch 1:1.04-299.el7_9
perl-Pod-Perldoc.noarch 0:3.20-4.el7
perl-Pod-Simple.noarch 1:3.28-4.el7
perl-Pod-Usage.noarch 0:1.63-3.el7
perl-Scalar-List-Utils.x86_64 0:1.27-248.el7
perl-Socket.x86_64 0:2.010-5.el7
perl-Storable.x86_64 0:2.45-3.el7
perl-Sys-CPU.x86_64 0:0.54-4.el7
perl-Sys-MemInfo.x86_64 0:0.91-7.el7
perl-Text-ParseWords.noarch 0:3.29-4.el7
perl-Time-HiRes.x86_64 4:1.9725-3.el7
perl-Time-Local.noarch 0:1.2300-2.el7
perl-constant.noarch 0:1.27-2.el7
perl-libs.x86_64 4:5.16.3-299.el7_9
perl-macros.x86_64 4:5.16.3-299.el7_9
perl-parent.noarch 1:0.225-244.el7
perl-podlators.noarch 0:2.5.1-3.el7
perl-threads.x86_64 0:1.87-4.el7
perl-threads-shared.x86_64 0:1.43-6.el7
完了しました!
集計結果は、毎日root宛にメールで届きます。配信先を変更する場合は以下を追記します。
[root@co ~]# vi /etc/logwatch/conf/logwatch.conf
# Local configuration options go here (defaults are in /usr/share/logwatch/default.conf/logwatch.conf)
MailTo = [配信先メールアドレス]
セキュリティの設定
セキュリティの設定をします。
SELinux
CentOSにはセキュリティ対策としてSELinuxというものが用意されています。SELinuxを適切に設定することでより強固なサーバを構築することができるのですが…設定が結構やっかいです。
使いこなせる気がしないので、SELinuxを無効にしておきます。
[root@co ~]# getenforce
Enforcing
[root@co ~]# setenforce 0
[root@co ~]# getenforce
Permissive
"Permissive"と表示されれば、SELinuxが無効になっている状態です。
このままでは、再起動すると設定が戻ってしまうので、再起動後も有効になるよう設定する必要があります。
[root@co ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
ファイアウォール
ファイアウォールはルータに任せることにします。CentOS上では無効にしておきましょう。
[root@co ~]# systemctl stop firewalld
[root@co ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
一般ユーザの作成
最後に一般ユーザを作りましょう。一般ユーザは自分に権利のあるファイルしか扱うことが出来ません。例えば、読み込む権利のみが与えられたファイルに対して、読み込みは可能ですが、書き込みや実行が出来ません。
普段は一般ユーザで操作をし、root権限の必要なときだけrootユーザに切り替えることで、誤操作を少なくすることが出来る…かも知れません。
一般ユーザ作成のための準備
今後、webサーバやFTPサーバ、メールサーバを立てることを前提に、一般ユーザを作るための準備を先にしたいと思います。skelディレクトリの中に作られたディレクトリやファイルが、ユーザ作成時にコピーされます。
Web、FTPサーバ用にpublic_htmlを、メールサーバ用にMaildir、Windows共有用にSAMBAを作成していますが、もしWebやFTPサーバは立てない、メールサーバは立てない、ファイル共有はしないなどの理由でディレクトリを作る必要がない場合はこの操作を飛ばし、ユーザの作成に取り掛かってください。
Webサーバ、FTPサーバ用
[root@co ~]# mkdir -p /etc/skel/public_html/cgi-bin
メールサーバ用
[root@co ~]# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
[root@co ~]# mkdir -p /etc/skel/Maildir/.Spam/{new,cur,tmp}
[root@co ~]# chmod -R 700 /etc/skel/Maildir/
SAMBA(Windows共有)用
[root@co ~]# mkdir -p /etc/skel/samba
一般ユーザの作成
準備が終わったら、一般ユーザを作っていきましょう。ここでは仮に"user"というユーザを作成しています。赤文字の部分を自分の環境に合わせて変更してください。
まずはユーザを追加します。
[root@co ~]# useradd user
続いて、追加したユーザにパスワードを設定します。
[root@co ~]# passwd user
ユーザー user のパスワードを変更。 新しいパスワード: [パスワード] 新しいパスワードを再入力してください: [再入力] passwd: 全ての認証トークンが正しく更新できました。
パスワードはrootユーザのものと違うものを指定しておくと良いと思います。
ただし、くれぐれもパスワードを忘れないように!
最後にユーザのホームディレクトリにパーミッション(権限)の設定を行います。
[root@co ~]# chmod 711 /home/user
もし、WebやFTP、メール専用アカウントなど、SSHによるログインを必要としない場合は、以下のように"nologin"を設定します。
[root@co ~]# useradd -s /sbin/nologin user
このままではrootでログインが出来てしまうため、まだセキュリティ上好ましいとは言えません。次はSSHの設定をしていきたいと思います。
SSHへ
今回新しく登場したコマンド
- rpm
- sed
- yum
- chkconfig
- reboot
- cat
- echo
- mkdir
- chmod
- useradd
- passwd
[広告]

トップページ
Rocky Linux 8
CentOS 7
○準備
○VMware Player
○Hyper-V(Win Proのみ)
○導入
○セキュリティ対策
○Dynamic DNS
○NTPサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○DNSサーバ
○ブログシステム
○オンラインストレージ
○その他
Scientific Linux 6
CentOS 5
ブログ
[広告]