本記事では、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
時刻設定
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
設定画面
日本語入力設定
日本語入力の設定をします。
IMEをインストール
IMEをインストールします。
コマンド実行例
$ sudo apt install ibus-mozc
インプットメソッドの設定
設定画面でインプットメソッドをibusに設定します。
コマンド実行例
$ sudo im-config
設定画面
ibusを設定
設定画面でインプットメソッドにmozcを追加します。
コマンド実行例
$ ibus-setup
設定画面
システムを再起動
システムを再起動します。
コマンド実行例
$ 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
rootユーザーを削除
rootユーザーがいる場合は削除します。
コマンド実行例
$ reboot
$ sudo deluser --remove-home 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
ファイアウォールを設定
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のインストール直後の設定について紹介しました。
- ネットワークを設定する
- OSをアップデートする
- 時刻を設定する
- キーボードを設定する
- ロケールを設定する
- 日本語入力を設定する
- ユーザー情報を設定する
- SSHの設定をする
- ファイアウォールを設定する
- ホームディレクトリを英語化する
Linuxの初期設定を行うことで、セキュリティとユーザビリティが向上します。
本手順を実行して初期設定を行い、Linuxの環境を整えて利用しましょう。