CentOS 5の初期設定をしよう!
インストールが終わったら、まず始めにやっておくべきことがあれこれとあります。
ここでは、CentOSの初期設定?について掲載しています。
環境整備
まずはCentOSの環境を整えましょう。最初に入れておきたいソフトウェアやアップデートなどを行っていきます。
EPELリポジトリの追加(64bit)
EPELというFedoraプロジェクトによる外部リポジトリを追加することで、CentOS Projectの方で用意していないパッケージもインストール出来るようになります。
[root@co~]# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm
http://ftp.iij.ad.jp/pub/linux/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm を取得中
警告: /var/tmp/rpm-xfer.NXuPhy: ヘッダ V3 DSA signature: NOKEY, key ID 217521f6
準備中... ########################################### [100%]
1:epel-release ########################################### [100%]
32bit版 : http://ftp.iij.ad.jp/pub/linux/fedora/epel/5/i386/epel-release-5-4.noarch.rpm
純正のパッケージとの競合を避けるため、普段は無効にしておき、必要なときだけ有効にするようにします。
[root@co ~]# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo
yum-fastestmirrorのイントール
CentOSにパッケージ等をインストールするとき、多くの場合yum(Yellowdog Updater Modified)というコマンドを使って行います。"yum-fastestmirror"は、yumを使う際に一番近いミラーサイトを自動的に選択し、そこに接続するようにしてくれるプラグインです。
要するに、ダウンロード等が一番速そうな所を自動的に選んで接続してくれるわけですね。
[root@co ~]# yum -y install yum-fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Setting up Install Process
Package yum-fastestmirror-1.1.16-21.el5.centos.noarch already installed and latest version
Nothing to do
今回は"already installed and latest version"ということなので、バージョンによっては最初から入っているかも知れませんね。
yum-cronのイントール
もし、「勝手にアップデートされるのが嫌だ」、「アップデートは自分でやらないと気が済まない」という方は、この作業を飛ばして次へ進んでください。
CentOSにも様々なアップデートがあります。"yum-cron"は自動でアップデートを行ってくれるプラグインです。
CentOS 5には同じような機能を持つ"yum-updatesd"というものがあらかじめインストールされています。この2つの違いは、常駐しているかどうかという点です。
yum-updatesdは常駐するため、常にメモリ領域を消費していることになります。
yum-cronは決められた時刻(デフォルトでは午前4時頃)に起動し、アップデートの確認が終わったら終了するので、メモリ領域をいつまでも消費している、ということはありません。
競合を避けるため、yum-updatesdをアンインストール、yum-cronをインストールします。
まずはyum-updatesdをアンインストールしましょう。
[root@co ~]# yum -y remove yum-updatesd
Loaded plugins: fastestmirror, security
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package yum-updatesd.noarch 1:0.9-5.el5 set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
yum-updatesd noarch 1:0.9-5.el5 installed 55 k
Transaction Summary
================================================================================
Remove 1 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : yum-updatesd 1/1
Removed:
yum-updatesd.noarch 1:0.9-5.el5
Complete!
続いて、yum-cronをインストールします。
[root@co ~]# yum -y install yum-cron
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad.jp
* updates: ftp.iij.ad.jp
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package yum-cron.noarch 0:0.6-1.el5.centos set to be updated
--> Processing Dependency: yum-downloadonly for package: yum-cron
--> Running transaction check
---> Package yum-downloadonly.noarch 0:1.1.16-21.el5.centos set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
yum-cron noarch 0.6-1.el5.centos extras 15 k
Installing for dependencies:
yum-downloadonly noarch 1.1.16-21.el5.centos base 13 k
Transaction Summary
================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Total download size: 28 k
Downloading Packages:
(1/2): yum-downloadonly-1.1.16-21.el5.centos.noarch.rpm | 13 kB 00:00
(2/2): yum-cron-0.6-1.el5.centos.noarch.rpm | 15 kB 00:00
--------------------------------------------------------------------------------
Total 69 kB/s | 28 kB 00:00
警告: rpmts_HdrFromFdno: ヘッダ V3 DSA signature: NOKEY, key ID e8562897
base/gpgkey | 1.5 kB 00:00
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : yum-downloadonly 1/2
Installing : yum-cron 2/2
Installed:
yum-cron.noarch 0:0.6-1.el5.centos
Dependency Installed:
yum-downloadonly.noarch 0:1.1.16-21.el5.centos
Complete!
インストールしただけでは動かないので、実行しましょう。
[root@co ~]# /etc/rc.d/init.d/yum-cron start
Enabling nightly yum update: [ OK ]
再起動後も自動的に起動するように設定をします。
[root@co ~]# chkconfig yum-cron on
[root@co ~]# chkconfig --list yum-cron
yum-cron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
アップデート
CentOSをアップデートします。この作業は時間がかかる場合があります。ういろうでも食べながらまったり待ちましょう。
[root@co ~]# yum -y update
もしカーネルのアップデートがあった場合は再起動しておくと良いと思います。
[root@co ~]# reboot
バッファオーバーフロー対策
外部からの攻撃によってバッファオーバーフローが起きると、サーバそのものが止まってしまいます。そうならないための一番の手段はパッチを当て、アップデートすることなんですが、必ずしもパッチが公開されているわけではありません。また、パッチ公開まで多少なりとも時間がかかりますね。
そこで、別の方法も準備しておき、少しでもバッファオーバーフローを防ぐ対策をしておきます。
[root@co ~]# cat /proc/sys/kernel/exec-shield
1
[root@co ~]# echo 2 > /proc/sys/kernel/exec-shield
[root@co ~]# cat /proc/sys/kernel/exec-shield
2
"2"と表示されれば、バッファオーバーフロー対策(Exec-Shield)が有効になっている状態です。
このままでは、再起動すると設定が戻ってしまうので、再起動後も有効になるよう設定する必要があります。
[root@co ~]# echo 'kernel.exec-shield = 2' >> /etc/sysctl.conf
セキュリティの設定
セキュリティの設定をします。
CentOSにはSELinuxとiptablesというものがあり、この2つを適切に設定することでより強固なサーバを構築することが出来ます。しかし、SELinuxは設定が結構やっかいです。
よって、今回はSELinuxを無効にしておきます。
[root@co ~]# system-config-securitylevel-tui

セキュリティレベル: 有効
SELinux: 無効
項目の移動は「矢印キー」と「Tab」、決定は「Space」で行います。
一般ユーザの作成
最後に一般ユーザを作りましょう。一般ユーザは自分に権利のあるファイルしか扱うことが出来ません。例えば、読み込む権利のみが与えられたファイルに対して、読み込みは可能ですが、書き込みや実行が出来ません。
普段は一般ユーザで操作をし、root権限の必要なときだけrootユーザに切り替えることで、誤操作を少なくすることが出来る…かも知れません。
一般ユーザ作成のための準備
今後、webサーバやFTPサーバ、メールサーバを立てることを前提に、一般ユーザを作るための準備を先にしたいと思います。skelディレクトリの中に作られたディレクトリやファイルが、ユーザ作成時にコピーされます。
Web、FTPサーバ用にpublic_htmlを、メールサーバ用にMaildirを作成していますが、もし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/
一般ユーザの作成
準備が終わったら、一般ユーザを作っていきましょう。ここでは仮に"koro"というユーザを作成しています。赤文字の部分を自分の環境に合わせて変更してください。
まずはユーザを追加します。
[root@co ~]# useradd koro
続いて、追加したユーザにパスワードを設定します。
[root@co ~]# passwd koro
New UNIX password: [パスワード]
Retype new UNIX password: [再入力]
passwd: all authentication tokens updated successfully.
パスワードはrootユーザのものと違うものを指定しておくと良いと思います。
ただし、くれぐれもパスワードを忘れないように!
最後にユーザのディレクトリにパーミッション(権限)の設定を行います。
[root@co ~]# chmod 711 /home/koro
もし、WebやFTP、メール専用アカウントで、SSHによるログインを必要としない場合は、以下のように"nologin"を設定します。
[root@co ~]# useradd -s /sbin/nologin koro
次はiptablesの設定をします。
今回新しく登場したコマンド
- rpm
- sed
- yum
- chkconfig
- reboot
- cat
- echo
- mkdir
- chmod
- useradd
- passwd
- system-config-securitylevel-tui
[広告]

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