MENU
やすひら
やすひらと申します。
長靴を履いたタヌキ(ITエンジニア)です。
モノ作りの楽しさを発信中。
X(旧Twitter)のフォローもお願いします。

[Linux]OSインストール後の初期設定

本記事では、Linux OSをインストールした直後の初期設定について紹介します。

やすひら

Linux OSの初期設定を紹介します

この記事でわかること
  • Linux OSの初期設定の設定事項
  • Linux OSの初期設定の設定手順
目次

初期設定の設定事項

Linux OSをインストールした直後は、デフォルトの設定状態となっています。
デフォルトの設定状態では、セキュリティや機能的に不十分なものが多いため、初期設定を行う必要があります。
最低限設定したい設定事項を紹介します。

  • ネットワーク設定
  • OSアップデート
  • 時刻設定
  • キーボード設定
  • ロケール設定
  • 日本語入力設定
  • ユーザ設定
  • ssh設定
  • ファイアウォール設定
  • ホームディレクトリを英語化

初期設定の設定手順

Linux OSインストール後の初期設定の設定手順を紹介します。

ネットワーク設定

現代のコンピュータには、インターネットが不可欠です。
インターネット経由で、最新のソフトウェアや必要なアプリケーションをダウンロードすることができます。

初期設定では、最初にネットワーク設定を行い、インターネットに接続することを推奨します。

OSアップデート

Linux OSインストール後はOSが最新版ではない可能性があるため、OSアップデートを行います。

コマンド実行例

$ sudo apt update -y
$ sudo apt upgrade -y
$ sudo apt autoremove -y
$ reboot

OSをアップデートして、システムを最新状態に更新します。

時刻設定

Linux OSインストール後は、タイムゾーンが現在地と異なる可能性があるため、環境にあった設定を行います。

コマンド実行例

$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent, ocean, "coord", or "TZ".
 1) Africa
 2) Americas
 3) Antarctica
 4) Asia
 5) Atlantic Ocean
 6) Australia
 7) Europe
 8) Indian Ocean
 9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the timezone using the Posix TZ format.
#? 4
Please select a country whose clocks agree with yours.
 1) Afghanistan             29) Kyrgyzstan
 2) Antarctica             30) Laos
 3) Armenia             31) Lebanon
 4) Azerbaijan             32) Macau
 5) Bahrain             33) Malaysia
 6) Bangladesh             34) Mongolia
 7) Bhutan             35) Myanmar (Burma)
 8) Brunei             36) Nepal
 9) Cambodia             37) Oman
10) China             38) Pakistan
11) Christmas Island         39) Palestine
12) Cocos (Keeling) Islands  40) Philippines
13) Cyprus             41) Qatar
14) East Timor             42) R?union
15) French S. Terr.         43) Russia
16) Georgia             44) Saudi Arabia
17) Hong Kong             45) Seychelles
18) India             46) Singapore
19) Indonesia             47) Sri Lanka
20) Iran             48) Syria
21) Iraq             49) Taiwan
22) Israel             50) Tajikistan
23) Japan             51) Thailand
24) Jordan             52) Turkmenistan
25) Kazakhstan             53) United Arab Emirates
26) Korea (North)         54) Uzbekistan
27) Korea (South)         55) Vietnam
28) Kuwait             56) Yemen
#? 23

The following information has been given:

    Japan

Therefore TZ='Asia/Tokyo' will be used.
Selected time is now:    Fri Jun 28 10:24:46 JST 2024.
Universal Time is now:    Fri Jun 28 01:24:46 UTC 2024.
Is the above information OK?
1) Yes
2) No
#? 1

You can make this change permanent for yourself by appending the line
    TZ='Asia/Tokyo'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Tokyo

タイムゾーンを変更して現地時間にあわせます。

キーボード設定

日本語配列のキーボードを使用する際は、キーボード設定が必要な場合があります。

コマンド実行例

$ sudo localectl set-keymap jp
$ sudo localectl set-x11-keymap jp

指定した配列のキーボードを利用できます。

ロケール設定

表示する文字を日本語に変更します。

日本語表示のパッケージをインストール

日本語表示のパッケージをインストールします。

コマンド実行例

$ sudo dpkg-reconfigure locales

設定画面

ja_JP.UTF-8やUTF-8を選択すると、日本語表示に変更できます。

日本語入力設定

日本語入力の設定をします。

IMEをインストール

IMEをインストールします。

コマンド実行例

$ sudo apt install ibus-mozc

IMEをインストールします。

インプットメソッドの設定

設定画面でインプットメソッドをibusに設定します。

コマンド実行例

$ sudo im-config

設定画面

インストールしたIMEを設定します。

ibusを設定

設定画面でインプットメソッドにmozcを追加します。

コマンド実行例

$ ibus-setup

設定画面

インプットメソッドにmozcを追加します。

システムを再起動

システムを再起動します。

コマンド実行例

$ reboot

システムを再起動して設定を反映します。

ユーザー設定

ユーザーを設定します。

ユーザーを新規追加

ユーザーを新規追加します。

コマンド実行例

$ sudo adduser hogehoge
[sudo] password for user:
Adding user `hogehoge' ...
Adding new group `hogehoge' (1006) ...
Adding new user `hogehoge' (1002) with group `hogehoge' ...
Creating home directory `/home/hogehoge' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for hogehoge
Enter the new value, or press ENTER for the default
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] Y

ユーザーを追加します。

パスワードを設定

ユーザーにパスワードを設定します。

コマンド実行例

$ sudo passwd hogehoge
[sudo] password for user: 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

ユーザーにパスワードを設定します。

ユーザー追加時にパスワードを設定している場合は、変更する必要はありません。

アクセス権限を設定

ユーザーにアクセス権限を設定します。

コマンド実行例

$ groups hogehoge
hogehoge : hogehoge
$ sudo gpasswd -a hogehoge sudo
[sudo] password for user:
Adding user hogehoge to group sudo
$ groups hogehoge
hogehoge : hogehoge sudo

管理者権限を付与したい場合は、sudoグループに所属します。

rootユーザーを削除

rootユーザーがいる場合は削除します。

コマンド実行例

$ reboot
$ sudo deluser --remove-home root

rootユーザーを削除することで、不正アクセスを防止できます。

SSH設定

Linuxサーバへのログイン方法としてsshで接続する方法があります。
sshは通信自体は暗号化されていますが、初期設定では第3者にログインされる可能性がたかくなり、セキュリティ観点で危険性が高いです。

セットアップ後の最低限のssh設定を紹介します。

  • ポート番号変更
  • rootユーザのログイン禁止設定
  • 鍵認証の設定
  • パスワードによるログイン禁止設定

認証鍵を生成(クライアント側)

クライアント側で鍵を生成します。
鍵の長さは1024と4096が一般的ですが、長い方がよりセキュリティ強度が高いです。

コマンド実行例

$ ssh-keygen -t rsa -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa
Your public key has been saved in /home/user/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:f5hc+awy3LfQ0Nm9om5r2OUR5r6Il9qw2mSkp4A6QP0 user@machine000
The key's randomart image is:
+---[RSA 4096]----+
|                 |
|                 |
|  .              |
| . .         = o.|
|.   .   S.  * + o|
|.   .E  oo + O  .|
|.  . . . *B.B.=. |
| ..   . *.OB+=o  |
| ..    o.=*Oooo. |
+----[SHA256]-----+

公開鍵と秘密鍵が生成されます。
生成時にパスフレーズの入力を要求されます。未入力により省略することも可能です。

公開鍵を登録(サーバー側)

公開鍵を公開して、サーバー側に登録します。
以下のファイルに鍵を登録します。(ファイルが存在しない場合は生成すること)

コマンド実行例

$ vi ~/.ssh/authorized_keys

設定ファイル

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDrrNkJkdJr5eUDEs56bFr68jKNQVFvzSYG7D3g/3+dn7q1EtTe3jFDt165+GBQXq6ul9t+nUCA5KS2wvPHJkkZYOuNxx0+RSQjY0vbeXC5DYeV5FcRsOwOFTaDYQe5NONWneUo3JCmGKMM6QIaF6+huMT9LiCZ0FsisgYiWd0Scal+S6qrNb7kp9WN1yTtU7D1kT7ydPnzD7T/Pm0MK+uLBU81XyVfESTCYg3cj2fnZIAmRPkk/11kz1ZZKFYlP8+0ZTkDaeR1AdUDEhdVcIwstz3UqVVkR53Odg952Y8JRXKiTvR3DZi81nz4hWYnxdodKHbDGhgpioOT25x+bGDy9VbANbh+IGtnrW/N29xk3xvtGGv/d525dnjXcB9Mn9bYBAEWPd5fmYXXzxZ3c+i/ZHZkk43ikaOw2A7CIqWuC17k5lzTk4537bmc2LPpuWQpUBzoBGLPb/7xW80uXYzJfx+cuTw+p2n7zn2jRsUNDhfhuGYJyTPkxOYRVhoP0e9HD3yhXnas+HUbcQTzezuYCnbx8kL6Vf8MWlbFjQOZHOPuyc09sA2E0YhEz6yYIoUZcUuPwsTjG8xrrP6Vh83GJV0c6eJ1Tm3zioUj5jqrp7SApx1FCBOT9C7t+eOjoKsBSKThnGF+woa+vgktLQjqks7nux2/KCL4Kutv00Wttw== user@machine000

認証鍵を生成/登録することで、鍵認証によるログインが可能となります。

SSHの各種設定

SSHの設定ファイルを編集して各種設定を行います。

コマンド実行例

$ sudo vi /etc/ssh/sshd_config

設定ファイル

Port 65535
PermitRootLogin no
PasswordAuthentication no

ポート番号を指定して、SSH接続時のポート番号を変更します。
rootユーザーのログインを禁止します。
パスワードによるログイン禁止します。

ファイアウォールを設定

Linux OSのデフォルト設定では、全てのポートが開いている状態であるため、未使用のポートを閉塞することで、セキュリティ強化を図ります。
ファイアウォールを設定して、不要なポートを閉塞します。

コマンド実行例

$ sudo ufw enable
$ sudo ufw default deny
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 22/tcp

ファイアウォールを有効にして、全遮断してから、必要なポートを開放します。

ホームディレクトリを英語化

LinuxのOSインストールで日本語表記を選択した場合、ホームディレクトリが日本語となることがあります。
Linuxでコマンド操作する場合、ディレクトリ名が英語表記の方が、キーボード入力が簡単なため、ホームディレクトリを英語化します。

コマンド実行例

$ LANG=C xdg-user-dirs-gtk-update

ディレクトリ名の英語化を行います。

まとめ

Linux OSのインストール直後の設定について紹介しました。

Linuxの初期設定は
  • ネットワークを設定する
  • OSをアップデートする
  • 時刻を設定する
  • キーボードを設定する
  • ロケールを設定する
  • 日本語入力を設定する
  • ユーザー情報を設定する
  • SSHの設定をする
  • ファイアウォールを設定する
  • ホームディレクトリを英語化する

Linuxの初期設定を行うことで、セキュリティとユーザビリティが向上します。
本手順を実行して初期設定を行い、Linuxの環境を整えて利用しましょう。

  • URLをコピーしました!
目次