CentOS8の初期設定

プログラミング

CentOS8を構築した際の初期設定をまとめました。サービス用ではなく勉強用のサーバとして参考にしてください。

sudo可能なユーザを作成する

まずはユーザを新規に作成します。

[root@centos8 ~] useradd testuser
[root@centos8 ~] passwd testuser
Changing password for user testuser.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

CentOSではwheelグループにはデフォルトでsudo権限が付与されています。そのため作成したユーザをwheelグループに所属させます。

[root@centos8 ~] usermod -aG wheel testuser

これで作成したユーザがsudoコマンドを実行できるようになりました。試しにrootユーザーのみがアクセスできるディレクトリの内容を一覧表示できれば完了です。

[root@centos8 ~] su - testuser
[root@centos8 ~] sudo ls -la /root

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

# rootのパスワードを入力します。
[sudo] password for testuser:
total 28
dr-xr-x---.  2 root root  130 Jul  9 12:11 .
dr-xr-xr-x. 18 root root  237 Jul  9 12:09 ..
-rw-r--r--.  1 root root   18 May 11  2019 .bash_logout
-rw-r--r--.  1 root root  176 May 11  2019 .bash_profile
-rw-r--r--.  1 root root  176 May 11  2019 .bashrc
-rw-r--r--.  1 root root  100 May 11  2019 .cshrc
-rw-------.  1 root root 1186 Jun  6 07:43 original-ks.cfg
-rw-r--r--.  1 root root  129 May 11  2019 .tcshrc
-rw-------.  1 root root  912 Jul  9 12:11 .viminfo

SELinuxの無効化

SELinuxはアクセス権限を詳細に設定できますが、利用するには難解であるため勉強用のサーバに関しては無効化しておいたほうが良いです。

#現在の状況
[root@centos8 testuser] getenforce
Enforcing
# [Enforcing] SELinux有効でありアクセス制御が有効となる
# [permissive] アクセス制御は無効だが警告メッセージを表示する
# [disabled] SELinux無効

# 無効化する
[root@centos8 testuser] vi /etc/selinux/config
# 7行目あたりの以下を変更します
# 【変更前】
SELINUX=enforcing
# 【変更後】
SELINUX=disabled

# 再起動する
[root@centos8 testuser] reboot

# 再起動後以下にようになれば成功
[root@centos8 ~] getenforce
Disabled

パッケージ管理の更新

CentOS8からはyumではなくdnfを使用しますので、dnfをアップデートします。
yumコマンドは今まで通り使用することができますが、内部的にはdnfを読んでいるラッパーとなります。

[root@centos8 ~] dnf -y upgrade

サーバー時刻の同期設定

サーバ時刻を自動で同期する設定を行います。

[root@centos8 ~] vi /etc/chrony.conf
# 3行目あたりの以下を変更します。
# 【変更前】
pool 2.centos.pool.ntp.org iburst
# 【変更後】
pool ntp.jst.mfeed.ad.jp iburst

# 変更を反映
[root@centos8 ~] systemctl restart chronyd

タイムゾーンの設定

タイムゾーンを日本に設定します。

# 設定前のタイムゾーン確認
[root@centos8 ~] timedatectl status
               Local time: Thu 2020-07-09 13:42:09 UTC
           Universal time: Thu 2020-07-09 13:42:09 UTC
                 RTC time: Thu 2020-07-09 13:42:30
                Time zone: UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: yes

# タイムゾーンを日本に設定
[root@centos8 ~] timedatectl set-timezone Asia/Tokyo

# 設定後のタイムゾーン確認
[root@centos8 ~] timedatectl status
               Local time: Thu 2020-07-09 22:44:22 JST
           Universal time: Thu 2020-07-09 13:44:22 UTC
                 RTC time: Thu 2020-07-09 22:44:22
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: yes
pocketcode

30代のWEB系企業エンジニアです。毎回同じようなことを検索してしまうので、自分の備忘録的に書いています。サイトのデザインはQiita(https://qiita.com)さんに寄せています。