第4回目となる今回はCentOS7 OSインストール後の初期設定について紹介します。
CentOS7の初期設定
ユーザの追加
インストール時に一般ユーザを作成していない場合は、root でログインして一般ユーザを作成します
ユーザの追加とパスワードの設定 # useradd hoge # passwd hoge
sshdの初期設定
sshd_configの編集
# vi /etc/ssh/sshd_config # コメント解除(rootでのログインを許可しない) PermitRootLogin no # コメント解除(パスワード無しを許可しない) PermitEmptyPasswords no # 追記(sshでログイン可能なユーザをhogeのみにする) AllowUsers hoge
rootになれるユーザを制限する
suの編集
# vi /etc/pam.d/su #コメント解除 auth required pam_wheel.so use_uid
hogeをwheelに追加
# usermod -G wheel hoge # systemctl restart sshd.service
※ここで新しく端末(ターミナル)を開きhogeでSSH接続し、su -コマンドでrootになれるか確認します。
万が一の為、現在接続している端末は閉じないようにします。
また、上記の設定変更によりrootでは直接SSH接続が出来なくなっていることが確認出来ればOKです。
yumのアップデート
# yum -y update ← インストール済パッケージの一括アップデート ※大量のパッケージのダウンロード/アップデートを行うため時間がかかります。 # shutdown -r now
SELinuxの無効化
SELinux (Security-Enhanced Linux)を無効にする場合は以下のように設定します。
# getenforce Enforcing <= SELinuxが有効な状態 # vi /etc/selinux/config 変更 SELINUX=disabled
ファイアウォールの設定
firewalldの停止
ネットワーク内の上位にファイアウォールがおり、ホスト側では必要なければ停止しておきます。
ファイアウォール停止 # systemctl stop firewalld ファイアウォール自動起動解除 # systemctl disable firewalld
ネットワーク設定
ホスト名を設定し、ネットワーク設定を固定IPアドレスに変更しておきます。(インターフェース名 enp0s3 は環境によって異なりますので、読み替えて下さい)
ホスト名の設定 # nmcli general hostname hoge.localdomain デバイスの確認 # nmcli device デバイス タイプ 状態 接続 enp0s3 ethernet 接続済み enp0s3 lo loopback 管理無し -- 固定IPアドレスの設定 # nmcli connection modify enp0s3 ipv4.addresses "192.168.0.11/24" デフォルトゲートウェイ設定 # nmcli c modify enp0s3 ipv4.gateway 192.168.0.1 参照する DNSの設定 # nmcli connection modify enp0s3 ipv4.dns "192.168.0.11 192.168.0.12" インターフェースを再起動して設定を反映 # nmcli c down enp0s3; nmcli c up enp0s3 (ネットワーク全体をリスタートする場合のコマンドは下記の通りです) # systemctl restart network.service 設定の確認 # nmcli d show enp0s3
IPv6 無効化
必要がなければ、IPv6を無効化しておきます。
変更前の状態確認 # ip addr show 1: lo: <loopback,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <broadcast,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:ae:ac:22 brd ff:ff:ff:ff:ff:ff inet 192.168.0.1/24 brd 192.168.0.255 scope global dynamic enp0s3 valid_lft 255589sec preferred_lft 255589sec inet6 fe80::a00:27ff:feae:ac22/64 scope link valid_lft forever preferred_lft forever 設定ファイルの変更 # vi /etc/default/grub 6行目: 追記(ipv6.disable=1という内容を追加する) GRUB_CMDLINE_LINUX="ipv6.disable=1 rd.lvm.lv=fedora-server/root..... 変更を反映 # grub2-mkconfig -o /boot/grub2/grub.cfg # reboot 再起動後に変更後の状態確認 # ip addr show 1: lo: <loopback,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever 2: enp0s3: <broadcast,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:ae:ac:22 brd ff:ff:ff:ff:ff:ff inet 192.168.0.1/24 brd 192.168.1.255 scope global dynamic enp0s3 valid_lft 259072sec preferred_lft 259072sec ※inet6から始まる記述がなくなっていることを確認します。
cronの設定
CentOS6からcron はデフォルトでは「cronie-anacron」というパッケージがインストールされ、ジョブの定期実行は Anacron で制御されるようになっています。
cronとanacronの違い
cron 指定された時間と間隔でジョブを実行する。分単位で指定できる。マシンが起動している間のみ、ジョブを実行する。 anacron 指定された日数間隔でジョブを実行する。マシンが停止していたら、その間の日数を計算してジョブを実行する。
このため、従来のCron のように決まりきった時間にジョブが実行されるわけではなく、 設定された時間内(3時-22時)に、ランダムに設定された時間分(0分-45分)待って実行されます。
これを従来通りの Cron の設定に戻したければ、以下のように従来通りの Cron 設定になっている「cronie-noanacron」をインストールします。
# yum install cronie-noanacron cronie-noanacronをインストールした場合は anacron設定のパッケージは削除しておきます。 # yum remove cronie-anacron
時刻設定
ntpdから変更されCentOS7からはchronydがデフォルトになっています。
chronyのインストール # yum install chrony chrony.confの編集 # vi /etc/chrony.conf #server 0.centos.pool.ntp.org iburst <= コメントアウトする #server 1.centos.pool.ntp.org iburst <= コメントアウトする #server 2.centos.pool.ntp.org iburst <= コメントアウトする #server 3.centos.pool.ntp.org iburst <= コメントアウトする server ntp1.jst.mfeed.ad.jp iburst <= 同期元サーバの指定(iburstは起動直後の同期を早くできる chronydの自動起動・再起動 # systemctl restart chronyd.service # systemctl enable chronyd.service chronydの動作状況を確認 # chronyc sources # date 2015年 5月 19日 火曜日 19:50:40 JST
サービスの設定
現在起動しているサービスの一覧は下記のコマンドで表示できます。
# systemctl -t service
サービスの自動起動設定の状態は下記のコマンドで表示できます。
# systemctl list-unit-files
不要なサービスがあれば、以下のようにして停止と自動起動のオフ設定をします。
httpd を停止する場合は下記のようになります。
# systemctl stop httpd # systemctl disable httpd
マシンのリブート
いままでの設定を有効にするために、マシンリブートを行ないます。
# shutdown -r now
CentOS7のインストール及びインストール後の初期設定については以上となります。
今回はfirewalldを停止させましたが状況によってはサーバ側でfirewalldの設定を行う必要もあると思いますので、firewalldについてはまた別の機会に説明したいと考えています。
それではまた。