コードジガー

色々と書くと思います

CentOS 6.x系の初期設定

CentOS 6.x系をインストールするが終わったので、初期設定をしていきます
ここでは,一般ユーザを作成したり,rootになれる管理者ユーザを設定したり
環境に配慮したエコなインストール(minimal.isoによる最小構成)だったので
Baseパッケージなどの必要なパッケージ群をインストールしたりと,色々やります!

1. ユーザの作成

[root@jigoku ~]# useradd takaya
[root@jigoku ~]# passwd takaya
ユーザー takaya のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。

[root@jigoku ~]# su takaya
[takaya@jigoku root]$ su -
パスワード:
[root@jigoku ~]#


2. rootになれるユーザを制限する
※ root権限があると何でも出来てしまうので,基本は一般ユーザでログインしroot権限が必要な場合のみsuでrootになるようにする
takayaをrootになれる管理者とする場合

[root@jigoku ~]# usermod -G wheel takaya  # takayaを管理者用wheelグループに追加

[root@jigoku ~]# vi /etc/pam.d/su
#%PAM-1.0
#auth            required        pam_wheel.so use_uid
↓
#%PAM-1.0
auth            required        pam_wheel.so use_uid

管理者用一般ユーザからはrootになれて、管理者以外の一般ユーザからはrootになれないことを確認
[root@jigoku ~]# useradd twitter  # 一般ユーザtwitterを作成
[twitter@jigoku root]$ su root  # rootになろうと試みる(パスワードは一致していても違うと出力される)
パスワード:
su: パスワードが違います

[root@jigoku ~]# su takaya  # 管理者用一般ユーザになる
[takaya@jigoku root]$ su root  # rootになる
パスワード:
[root@jigoku ~]#


3. パッケージ管理の初期設定(yumの初期設定)

[root@jigoku ~]# yum -y update
Loaded plugins: fastestmirror, presto
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
Error: Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

# 名前解決まわりでのエラー

DHCPを有効にしているとIPv6との競合でこういう状況になる
もしくは単純にプロバイダーのDNSが落ちているか
なので、DNS2にGoogle Public DNSを指定し、IPv6を無効化する
[root@jigoku ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DNS2=8.8.8.8
IPV6INIT=no
USERCTL=no

[root@jigoku ~]# yum -y update
結構時間がかかる

# yum-cronをインストール
[root@jigoku ~]# yum -y install yum-cron
Complete!
[root@jigoku ~]# /etc/rc.d/init.d/yum-cron start
夜間 yum 更新の有効化中:                                   [  OK  ]
[root@jigoku ~]# chkconfig yum-cron on

# ベースパッケージ群と開発ツールパッケージ群をインストール
[root@jigoku ~]# yum -y groupinstall "Base" "Development tools"

CentOSのフルインストールディスク(ここCentOS-6.3-x86_64-bin-DVD1.iso と CentOS-6.3-x86_64-bin-DVD2.iso )だとOSのインストール時にインストールするパッケージを選べるのですが,今回は環境に配慮したエコなインストールを行ったので,必要なパッケージを別途インストールしています
具体的には、ここから適当なリポジトリを選んで指定したパッケージ群をインストールしています!

インストールしているパッケージ一覧を見るには以下のコマンドを叩きます

[root@jigoku ~]# rpm -qa --queryformat "%-40{GROUP}:%{NAME}-%{VERSION}-%{RELEASE}\n"  | sort
Applications/Archiving                  :cpio-2.10-10.el6
Applications/Archiving                  :tar-1.23-7.el6
Applications/Archiving                  :unzip-6.0-1.el6
Applications/Archiving                  :zip-3.0-1.el6

(略)

System Environment/Shells               :tcsh-6.17-19.el6_2
User Interface/Desktops                 :abrt-cli-2.0.8-6.el6.centos
User Interface/Desktops                 :abrt-tui-2.0.8-6.el6.centos
User Interface/Desktops                 :hicolor-icon-theme-0.11-1.1.el6
User Interface/Desktops                 :libreport-cli-2.0.9-5.el6.centos


4. SELinux を無効化する

# 手動でSELinuxの設定変更(再起動すると元に戻る)
[root@jigoku ~]# getenforce
Enforcing
[root@jigoku ~]# setenforce 0
[root@jigoku ~]# getenforce
Permissive

# SELinux設定ファイルを編集する
[root@jigoku ~]# vi /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
# SELINUX=enforcing  # ←SELinuxを有効化
SELINUX=disabled   # ←SELinuxを無効化
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

/etc/sysconfig/selinux では SELinux を SELINUXTYPE で指定されたセキュリティ・ポリシーをどういった状態(SELINUX)で起動するか という設定を行なっています.

ちなみに,SELINUXTYPEはセキュリティ・ポリシー(ポリシーセット)を指定します.targetedを指定するとhttpdなどの代表的なデーモンのみが制御対象となり,strictを指定すると全てのデーモンが制御対象になります.MLSを指定すると全てのデーモンにRBAC(role base access control)を追加したstrictよりも厳格な動作をします.また,SELINUXは状態(state)を指定します.enforcingを指定するとセキュリティ・ポリシーに反する動作を全て拒否します.permissiveはセキュリティ・ポリシーに反する動作に対し警告を行います.disabledはSELinuxを無効化します.

たまにSELinux無効化反対派と出会いますが,元々SELinuxは政府系とか金融系などの厳格なセキュリティ要求を満たすために設けられた機能です.政府機関や金融機関からの強い要望がない限りSELinuxは無効で大丈夫だと思います.守るべき情報資産価値よりSELinuxの運用保守コストが大きくなるケースが殆どです.

5. nkfコマンドをインストールする
日本語処理に必要不可欠なのでインストールしておきます

[root@jigoku ~]# yum -y install nkf


んー、色々忘れてる気がするけど終わり\(^o^)/