いらっしゃいませ
インストールが終わったら、まず始めにやっておくべきことがあれこれとあります。
ここでは、Scientific Linuxの初期設定について掲載しています。
環境整備
まずはScientific Linuxの環境を整えましょう。最初に入れておきたいソフトウェアやアップデートなどを行っていきます。
標準リポジトリの設定
Scientific Linuxの標準リポジトリは、インストールやアップデート時に本国のサーバに接続しにいきます。ミラーサーバに繋いでくれた方が速いので、接続先の設定を変更します。
[root@sl~]# vi /etc/yum.repos.d/sl.repo
[sl] name=Scientific Linux $releasever - $basearch #baseurl=http://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/os/ # http://ftp1.scientificlinux.org/linux/scientific/$releasever/$basearch/os/ # http://ftp2.scientificlinux.org/linux/scientific/$releasever/$basearch/os/ # ftp://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/os/ mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-base-6.txt ・・・・・・ [sl-security] name=Scientific Linux $releasever - $basearch - security updates #baseurl=http://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/ # http://ftp1.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/ # http://ftp2.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/ # ftp://ftp.scientificlinux.org/linux/scientific/$releasever/$basearch/updates/security/ mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-security-6.txt
[root@sl~]# vi /etc/yum.repos.d/sl6x.repo
[sl6x] name=Scientific Linux 6x - $basearch #baseurl=http://ftp.scientificlinux.org/linux/scientific/6x/$basearch/os/ # http://ftp1.scientificlinux.org/linux/scientific/6x/$basearch/os/ # http://ftp2.scientificlinux.org/linux/scientific/6x/$basearch/os/ # ftp://ftp.scientificlinux.org/linux/scientific/6x/$basearch/os/ mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-base-6x.txt ・・・・・・ [sl6x-security] name=Scientific Linux 6x - $basearch - security updates #baseurl=http://ftp.scientificlinux.org/linux/scientific/6x/$basearch/updates/security/ # http://ftp1.scientificlinux.org/linux/scientific/6x/$basearch/updates/security/ # http://ftp2.scientificlinux.org/linux/scientific/6x/$basearch/updates/security/ # ftp://ftp.scientificlinux.org/linux/scientific/6x/$basearch/updates/security/ mirrorlist=http://ftp.scientificlinux.org/linux/scientific/mirrorlist/sl-security-6x.txt
EPELリポジトリの追加(64bit)
EPELというFedoraプロジェクトによる外部リポジトリを追加することで、Scientific Linuxの標準パッケージで用意していないパッケージもインストール出来るようになります。
[root@sl~]# rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm を取得中 警告: /var/tmp/rpm-tmp.DVNIvG: ヘッダ V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY 準備中... ########################################### [100%] 1:epel-release ########################################### [100%]
32bit版 : http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
純正のパッケージとの競合を避けるため、普段は無効にしておき、必要なときだけ有効にするようにします。
[root@sl ~]# sed -i 's/enabled=1/enabled=0/g' /etc/yum.repos.d/epel.repo
yum-fastestmirrorのイントール
Scientific Linuxにパッケージ等をインストールするとき、多くの場合yum(Yellowdog Updater Modified)というコマンドを使って行います。その接続先をミラーサーバに繋ぐように先ほど設定をしたわけですが、どこに繋ぐかはその時の気分次第です。
"yum-fastestmirror"は、yumを使う際に一番近いミラーサイトを自動的に選択し、そこに接続するようにしてくれるプラグインです。
要するに、ダウンロード等が一番速そうな所を自動的に選んで接続してくれるわけですね。
[root@sl ~]# yum -y install yum-fastestmirror
読み込んだプラグイン:security
インストール処理の設定をしています
sl | 3.7 kB 00:00
sl-security | 2.9 kB 00:00
sl6x | 3.7 kB 00:00
sl6x-security | 2.9 kB 00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package yum-plugin-fastestmirror.noarch 0:1.1.30-42.el6_10 will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
パッケージ アーキテクチャ
バージョン リポジトリー 容量
================================================================================
インストールしています:
yum-plugin-fastestmirror noarch 1.1.30-42.el6_10 sl-security 32 k
トランザクションの要約
================================================================================
インストール 1 パッケージ
総ダウンロード容量: 32 k
インストール済み容量: 53 k
パッケージをダウンロードしています:
yum-plugin-fastestmirror-1.1.30-42.el6_10.noarch.rpm | 32 kB 00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
警告: RPMDB は yum 以外で変更されました。
インストールしています : yum-plugin-fastestmirror-1.1.30-42.el6_10.noa 1/1
Verifying : yum-plugin-fastestmirror-1.1.30-42.el6_10.noa 1/1
インストール:
yum-plugin-fastestmirror.noarch 0:1.1.30-42.el6_10
完了しました!
yum-cronのイントール
もし、「勝手にアップデートされるのが嫌だ」、「アップデートは自分でやらないと気が済まない」という方は、この作業を飛ばして次へ進んでください。
Scientific Linuxにも様々なアップデートがあります。"yum-cron"は自動でアップデートを行ってくれるプラグインです。
yum-cronは決められた時刻(デフォルトでは午前4時頃)に起動し、アップデートの確認が終わったら終了するので、メモリ領域をいつまでも消費している、ということはありません。
[root@sl ~]# yum -y install yum-cron
読み込んだプラグイン:fastestmirror, security インストール処理の設定をしています Loading mirror speeds from cached hostfile * sl: ftp.riken.jp * sl-security: ftp.riken.jp * sl6x: ftp.riken.jp * sl6x-security: ftp.riken.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> Package yum-cron.noarch 0:3.2.29-81.el6 will be インストール --> 依存性解決を終了しました。 依存性を解決しました ================================================================================ パッケージ アーキテクチャ バージョン リポジトリー 容量 ================================================================================ インストールしています: yum-cron noarch 3.2.29-81.el6 sl 45 k トランザクションの要約 ================================================================================ インストール 1 パッケージ 総ダウンロード容量: 45 k インストール済み容量: 28 k パッケージをダウンロードしています: yum-cron-3.2.29-81.el6.noarch.rpm | 45 kB 00:00 rpm_check_debug を実行しています トランザクションのテストを実行しています トランザクションのテストを成功しました トランザクションを実行しています インストールしています : yum-cron-3.2.29-81.el6.noarch 1/1 Verifying : yum-cron-3.2.29-81.el6.noarch 1/1 インストール: yum-cron.noarch 0:3.2.29-81.el6 完了しました!
先ほどインストールしたyum-fastestmirrorが働いていますね!
インストールしただけでは動かないので、実行しましょう。
[root@sl ~]# /etc/rc.d/init.d/yum-cron start
夜間 yum 更新の有効化中: [ OK ]
再起動後も自動的に起動するように設定をします。
[root@sl ~]# chkconfig yum-cron on
[root@sl ~]# chkconfig --list yum-cron
yum-cron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
アップデート
Scientific Linuxをアップデートします。この作業は時間がかかる場合があります。羊羹でも食べながらまったり待ちましょう。
[root@sl ~]# yum -y update
アップデート後、一度再起動しておきましょう。
[root@sl ~]# reboot
LogWatchのインストール
Scientific Linuxが毎日どのような動作をしていたか、すべてログファイルに記録されますが、それをいちいちサーバ上で読むのは大変です。
そこで、毎日ログを集計し、報告してくれるLogWatchをインストールします。
[root@sl ~]# yum -y install logwatch
読み込んだプラグイン:fastestmirror, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
* sl: ftp.riken.jp
* sl-security: ftp.riken.jp
* sl6x: ftp.riken.jp
* sl6x-security: ftp.riken.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package logwatch.noarch 0:7.3.6-55.el6 will be インストール
--> 依存性の処理をしています: perl(Date::Manip) のパッケージ: logwatch-7.3.6-55.el6.noarch
--> トランザクションの確認を実行しています。
---> Package perl-Date-Manip.noarch 0:6.24-1.el6 will be インストール
--> 依存性の処理をしています: perl(YAML::Syck) のパッケージ: perl-Date-Manip-6.24-1.el6.noarch
--> トランザクションの確認を実行しています。
---> Package perl-YAML-Syck.x86_64 0:1.07-4.el6 will be インストール
--> 依存性解決を終了しました。
依存性を解決しました
================================================================================
パッケージ アーキテクチャ バージョン リポジトリー
容量
================================================================================
インストールしています:
logwatch noarch 7.3.6-55.el6 sl 302 k
依存性関連でのインストールをします。:
perl-Date-Manip noarch 6.24-1.el6 sl 1.3 M
perl-YAML-Syck x86_64 1.07-4.el6 sl 74 k
トランザクションの要約
================================================================================
インストール 3 パッケージ
総ダウンロード容量: 1.7 M
インストール済み容量: 11 M
パッケージをダウンロードしています:
(1/3): logwatch-7.3.6-55.el6.noarch.rpm | 302 kB 00:00
(2/3): perl-Date-Manip-6.24-1.el6.noarch.rpm | 1.3 MB 00:01
(3/3): perl-YAML-Syck-1.07-4.el6.x86_64.rpm | 74 kB 00:00
--------------------------------------------------------------------------------
合計 812 kB/s | 1.7 MB 00:02
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
インストールしています : perl-YAML-Syck-1.07-4.el6.x86_64 1/3
インストールしています : perl-Date-Manip-6.24-1.el6.noarch 2/3
インストールしています : logwatch-7.3.6-55.el6.noarch 3/3
Verifying : logwatch-7.3.6-55.el6.noarch 1/3
Verifying : perl-YAML-Syck-1.07-4.el6.x86_64 2/3
Verifying : perl-Date-Manip-6.24-1.el6.noarch 3/3
インストール:
logwatch.noarch 0:7.3.6-55.el6
依存性関連をインストールしました:
perl-Date-Manip.noarch 0:6.24-1.el6 perl-YAML-Syck.x86_64 0:1.07-4.el6
完了しました!
集計結果は、毎日root宛にメールで届きます。
バッファオーバーフロー対策
外部からの攻撃によってバッファオーバーフローが起きると、サーバそのものが止まってしまいます。そうならないための一番の手段はパッチを当て、アップデートすることなんですが、必ずしもパッチが公開されているわけではありません。また、パッチ公開まで多少なりとも時間がかかりますね。
そこで、別の方法も準備しておき、少しでもバッファオーバーフローを防ぐ対策をしておきます。
[root@sl ~]# cat /proc/sys/kernel/exec-shield
1
[root@sl ~]# echo 2 > /proc/sys/kernel/exec-shield
[root@sl ~]# cat /proc/sys/kernel/exec-shield
2
"2"と表示されれば、バッファオーバーフロー対策(Exec-Shield)が有効になっている状態です。
このままでは、再起動すると設定が戻ってしまうので、再起動後も有効になるよう設定する必要があります。
[root@sl ~]# echo 'kernel.exec-shield = 2' >> /etc/sysctl.conf
セキュリティの設定
セキュリティの設定をします。
Scientific Linuxにはセキュリティ対策としてSELinuxとiptablesというものが用意されています。この2つを適切に設定することでより強固なサーバを構築することができるのですが…SELinuxは設定が結構やっかいです。
よって、今回はSELinuxを無効にしておきます。
[root@sl ~]# getenforce
Enforcing
[root@sl ~]# setenforce 0
[root@sl ~]# getenforce
Permissive
"Permissive"と表示されれば、SELinuxが無効になっている状態です。
このままでは、再起動すると設定が戻ってしまうので、再起動後も有効になるよう設定する必要があります。
[root@sl ~]# sed -i '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@sl ~]# mkdir -p /etc/skel/public_html/cgi-bin
メールサーバ用
[root@sl ~]# mkdir -p /etc/skel/Maildir/{new,cur,tmp}
[root@sl ~]# mkdir -p /etc/skel/Maildir/.Spam/{new,cur,tmp}
[root@sl ~]# chmod -R 700 /etc/skel/Maildir/
SAMBA(Windows共有)用
[root@sl ~]# mkdir -p /etc/skel/samba
一般ユーザの作成
準備が終わったら、一般ユーザを作っていきましょう。ここでは仮に"koro"というユーザを作成しています。赤文字の部分を自分の環境に合わせて変更してください。
まずはユーザを追加します。
[root@co ~]# useradd koro
続いて、追加したユーザにパスワードを設定します。
[root@co ~]# passwd koro
ユーザー koro のパスワードを変更。 新しいパスワード: [パスワード] 新しいパスワードを再入力してください: [再入力] passwd: 全ての認証トークンが正しく更新できました。
パスワードはrootユーザのものと違うものを指定しておくと良いと思います。
ただし、くれぐれもパスワードを忘れないように!
最後にユーザのホームディレクトリにパーミッション(権限)の設定を行います。
[root@sl ~]# chmod 711 /home/koro
もし、WebやFTP、メール専用アカウントなど、SSHによるログインを必要としない場合は、以下のように"nologin"を設定します。
[root@sl ~]# useradd -s /sbin/nologin koro
次はiptablesの設定をします。
参考にしたサイト様
今回新しく登場したコマンド
- rpm
- sed
- yum
- chkconfig
- reboot
- cat
- echo
- mkdir
- chmod
- useradd
- passwd
[広告]
トップページ
Scientific Linux 6
○準備
○仮想化準備(VMware)
○仮想化準備(Hyper-V)
○仮想化準備(Proxmox)
○基本操作
○導入
○セキュリティ対策
○NTPサーバ
○Dynamic DNS
○DNSサーバ
○データベース
○WEBサーバ
○FTPサーバ
○メールサーバ
○ブログシステム
○その他