サーバとして活用するならば、IPアドレスを固定化しておくことと、セキュリティの観点から作業用のユーザ(root以外)を作成しておくことの2点が必須となりますので、実施します。 併せて、サーバ管理に必要なパッケージをインストールします。
IPアドレスの固定 #
サーバ用途で利用する場合は、IPアドレスが固定となっている必要があるため、ネットワーク設定を管理するシステムデーモンであるsystemd-network
を利用して、IPアドレスを固定します。
必要なサービスの起動と有効化 #
以下のコマンドで、systemd-networkd
を使用するための2つのサービスを起動し、有効化します:
systemctl start systemd-networkd.service
systemctl start systemd-resolved.service
systemctl enable systemd-networkd.service
systemctl enable systemd-resolved.service
また、dhcpcdサービスを有効化していた場合は、以下のコマンドで停止の上、無効化します:
systemctl stop dhcpcd.service
systemctl disable dhcpcd.service
resolv.conf
の設定
#
以下のコマンドを実行して、resolve.confの互換性のために、既存のファイルをリネームして、シンボリックリンクを作成します:
mv /etc/resolv.conf /etc/resolv.conf.org
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
NICのデバイス名の確認 #
以下のコマンドでNICのデバイス名を確認します。ここでは、ens192がNICのデバイス名にあたります:
networkctl list
Example output:
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 ens192 ether routable unmanaged
ネットワーク設定ファイルの作成 #
/etc/systemd/network/static.network
というファイルを作成して、以下のような形に編集します。
[Match]
Name=ens192
[Address]
Address=192.168.10.10/24
[Network]
DNS=192.168.10.254
[Route]
Gateway=192.168.10.254
ネットワーク設定ファイルのパラメータは多数ありますが、以下を設定しておくと、とりあえず利用できます。
パラメータ | 内容 |
---|---|
Name | 設定したいNICのデバイス名 |
Address | サーバのIPアドレス |
DNS | サーバが参照するDNSのIPアドレス |
Gatewary | デフォルトゲートウェイ |
サービスの再起動 #
以下のコマンドでサービスを再起動して、ネットワーク設定ファイルの設定を有効化します:
systemctl restart systemd-networkd.service
以下のコマンドでIPアドレス情報を確認して、設定したIPアドレスになっていればIPアドレスの固定化が完了です。
ip a
ユーザの作成 #
一般ユーザの作成 #
以下のコマンドを実行して、一般ユーザを作成します。<username>
は作成したいユーザ名にします:
useradd -m -G wheel <username>
一般ユーザのパスワード設定 #
以下のコマンドを実行して、一般ユーザのパスワードを設定します:
passwd <username>
sudoの設定 #
以下のコマンドを実行して、sudo
コマンドをインストールします:
pacman -S sudo
以下のコマンドを実行して、vim
でsudoers file
を開きます。
EDITOR=vim visudo
以下の行のコメントを外して保存します:
%wheel ALL=(ALL:ALL) ALL
上記の手順によって、作成した一般ユーザがsudoコマンドを利用可能となります。 今後は管理者権限が必要な作業は、rootアカウントで実施せずに、sudoコマンドを利用して一般ユーザから実施します。
各種パッケージのインストール #
rootアカウントでログインしている場合は、ログアウトを行い、作成した一般ユーザでログインします。
以下のコマンドで、サーバ管理が便利になるgit
、wget
、man
をインストールします。
sudo pacman -S git wget man-db man-pages