CentOS 7 の主な変更点

CentOS 7 の主な変更点

予定通りなら、CentOS 6 のメンテナンス期間が 2020年11月30日 までとなりますので、新規に導入するシステムについては、そろそろ CentOS 7 を考えないといけない時期に来ました。
そこで、CentOS 7 の主な変更点についてご紹介します。

変更内容の詳細は、随時追加していきたいと思います。

 

基本部分

Kernerl :が 3.1.0系になりました。

参考:http://sourceforge.jp/magazine/11/10/25/0437213

Linuxコンテナがサポートされました。

参考:http://www.school.ctc-g.co.jp/columns/nakai/nakai41.html

XFSが標準ファイルシステムになり、LVM Snapshotも利用可能です。

参考:http://itpro.nikkeibp.co.jp/atcl/column/14/071500011/072800002/

iSCSIとFCoEがカーネル空間に移動になりました。

 

システム管理

ブートマネージャが、grub から grub2 に変わりました。
サービスの管理が SysV/Init Upstart から Systemd に変わりました。

(/etc/init.dや/sbin/chkconfigは廃止され、systemctl コマンドで管理します)

iptables の管理が firewalld に変わりました。

(旧来のiptables管理に変更する事も可能)

ホスト名、タイムゾーン、ロケールの設定方法が変わりました。

ネットワーク関連のコマンドが変わりました。

(ifconfig , netstat , route は標準ではインストールされません。net-toolsパッケージで追加可能)

IPV6の無効化を、Kernelの起動オプションで可能になりました。

IPV6を無効化する

ネットワークインタフェースの管理方法が変わりました。

(NetworkManagerでの管理を推奨。nmtui、nmcui コマンドで管理します)

 

パッケージの変更とアップデート

変更された主なパッケージ

NTPサービス:ntpd から chronyd に変更されました。

MySQL DB : MySQLは標準から消え、MariaDBが追加されました。

バージョンアップされた主なパッケージ

Apache 2.2系 → 2.4系

Bind 9.8系 → 9.9系

Dovecto 2.0系 → 2.2系

GCC 4.4.7 → 4.8.2 (2015年3月現在)

Java OpenJDK-6 → OpenJDK-7

vsftpd 2.2系 → 3.0系

OpenSSH 5.3p1 → 6.4p1

PHP 5.3 → 5.4

Postfix 2.6系 → 2.10系

PostgreSQL 8.4系 → 9.2系

Samba  3.6系 → 4.1系 *CentOS6はsamba4で4.0系も有り

 

sudoの設定

sudoを利用すると、そのユーザーはroot権限でコマンドを実行する事ができます。

また、sudo を利用すると一般ユーザーが su で root になるよりも、以下のメリットがあります。

1.root のパスワードを一般ユーザーに公開しなくてもいい

2.sudo を利用した場合、ログにコマンドが記録される

 

sudoの設定

sudo の設定ファイルは /etc/sudoers ですが、直接編集することはせず、編集用のコマンド visudo を利用します。このコマンドで編集することにより書式のチェックも行われます。

visudo

 

 

sudoの基本設定

sudo で最も一般的なユーザーやグループを指定し、全権限でコマンドを実行できるようにします。

 

sudo の書式は、[ユーザーorグロープ]  [接続元] = [権限]  [コマンド] です。

指定ユーザーに すべての権限でコマンドを実行可能にする

UserName ALL=(ALL) ALL

指定グループにすべての権限でコマンドを実行可能にする

%GroupName ALL=(ALL) ALL

 

すべての権限だと、他ユーザーの権限でコマンドを実行できます。root 権限のみでコマンドを実行可能にするには以下のようにします。

UserName ALL=(root) ALL

 

 

sudo の利用方法

sudo が設定されていれば、一般ユーザーは以下のように root などの権限でコマンドを発行できます。

sudo コマンド発行後には自身のパスワードを入力するよう求められます。

sudo /etc/init.d/httpd restart

 

 

エイリアス機能

[ユーザー] [接続元] [権限] [コマンド] をエリアス機能を利用できます。

エリアスを利用することにより、複雑な設定をした場合でも見通しが良くなります。

それぞれのエイリアス定義方法と利用例を示します。

 

ユーザーエリアス

User_Alias ADMIN = User1, User2, User3

 

接続元エリアス

Host_Alias LOCAL = 192.168.1.0/24
Host_Alias ADMINNET = 192.168.100.1, 192.168.100.2

 

権限エリアス

Runas_Alias USER= root ,tomcat

 

コマンドエリアス

Cmnd_Alias ADMINCMD = /etc/init.d/httpd
Cmd_Alias SHOUTDOWN = /sbin/shutdown, /sbin/reboot, /sbin/halt

 

エリアスを利用した設定

ADMIN  ADMINNET = (root) ALL
ADMIN ALL = (USER) ADMINCMD

 

 

例外設定

 実行時にパスワードを求めない

エリアス ADMINCMD のコマンドを実行でき、かつ、パスフレーズを要求しない。

 ADMIN LOCAL = (ALL) NOPASSWORD:ADMINCMD

 

指定のコマンドを実行させない

エリアス SHUTDOWN に設定されたコマンドは、実行不可とする。

ADMIN ALL = (ALL) ALL,!SHUTDOWN

 

 

コマンドオプション

いくつかコマンドオプション表記します。

root シェルを取得

sudo -s

 

sudo の設定情報を確認する

sudo -l

 

 

Quotaの設定

RHELやCentOSでは、標準でディスクのQuotaを設定できます。

Quotaを設定することにより、ユーザーやグループでディスク利用量の制限を設定できます。

これにより、ディスク使用量を制限できディスク空き容量不足

複数のユーザーーが共同で利用するファイルサーバなどには、推奨の機能となります。

 

Quotaにで制限するデバイスと制限方法

Quotaを利用するデバイスは、パーティションタ単位で設定します。例えば、以下のようなパーティション構成のLinuxの場合、/ パーティションにQuotaを設定することが可能となります。

Filesystem Size Used Avail Use% マウント位置
/dev/mapper/vglvroot 36G 990M 33G 3% /
tmpfs 497M 0 497M 0% /dev/shm

 

Quotaの制限

1.ユーザーかグループに対して、ファイルシステム使用量もしくは、inode数で制限します。

2.制限容量に達した場合のロック方法も2種類あります。hard を超える書き込みは即座にエラーになり、soft を超えた場合は、予め決められた猶予期間後に書き込みがエラーになります。

 

 

Quotaの初期設定

Quotaを利用するには、LinuxでQuotaの初期設定を行う必要があります。

以下の手順で、LinuxでQuotaの初期設定をおこなってください。

 

/etc/fstab の設定

Quotaを利用するパーティションに、usrquota,grquota を追加

/dev/sda1 / ext3 defaults,usrquota,grpquota 1 1
tmpfs /dev/shm tmpfs defaults 0 0

 

パーティションのリマウント

設定したパーティションを以下のコマンドでリマウントします。

mount -o remount /

 

Quota の初期ファイルの作成

以下のコマンドでQuota 管理用のファイルを作成します。

/sbin/quotacheck -mcug /

初期化が終了すると、以下2つのファイルが作成されます。

/aquota.user
/aquota.group

 

Quotaの初期化

以下のコマンドでQuotaを初期化します。

/sbin/quotacheck -avugm

移行、aquota.useraquota.group ファイルにQuota情報が更新されていきます。

 

Quotaの起動

最後に、Quota を有効にします。

/sbin/quotaon -vaug

 

 

Quota設定

OS側の準備が出来ましたので、実際に、ユーザーやグループに対してQuotaを設定していきます。

soft と hard  でリミットを使い分ける場合は、それぞれの設定を行う前に猶予期間の設定を行います。

 

猶予期間の設定

猶予期間を設定するには、以下のコマンドを実行します。

/usr/sbin/edquota -t

 

コマンドを実行すると以下設定内容が表示されますので、適時設定を行います。設定は、ファイルサイズがオーバーした場合と、Inodeがオーバーした場合とで別々に設定する必要があります。

なお、デフォルト設定は、7days になっていると思います。

Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
 Filesystem       Block grace period       Inode grace period
 /dev/sda1        7days                    7days

期間指定では、日[days] , 時間[hours] , 分[minutes] , 秒[seconds] が利用可能です。

 

 Quota設定で利用する主なコマンド

ユーザーのQuotaを設定する

/usr/sbin/edquota -u UserID

 

グロープのQuotaを設定する

/usr/sbin/edquota -g GourpID

 

 Quotaの状況一覧を表示する

/usr/sbin/repquota -auvg

 

自分のQuota状況を確認する

/usr/bin/quota

 

指定ユーザーのQuota状況を確認する

/usr/bin/quota -u UserID

 

指定グループのQuota状況を確認する

/usr/bin/quota -g GroupID

 

 

設定例

実際に、ユーザー:hoge にQuotaを設定する例を示します。

/usr/sbin/edquota -u hoge

 

表示された設定画面で、ディスク利用量でのsoft or hard とInodeでのsoftとhardを設定します。

ここでは、ディスク利用量に、soft と hard のリミットを設定します。なお、設定値 0 は無制限です。

Disk quotas for user hoge (uid 1000):
 Filesystem blocks  soft     hard      inodes soft hard
 /dev/sda1  19374   1000000  2000000   172    0    0

 

設定値は1blockで1KBですので、ここでは、softに1GBのリミットを、hardに2GBを設定しました。