FreeBSD 14.3-RELEASEの構築
環境
ConoHa VPSを利用します。
FreeBSD 14.0-RELEASEしか用意されていなかったので、まずはそのイメージで構築して、起動します。
sshにてrootでログインします。(パスワードは構築時に指定したものになります)
その後、FreeBSD 14.3-RELEASEにアップグレードします。
時間はかかりますが、アップグレードは大まかに以下の手順を実行します。
詳しくは公式マニュアルを見てください。
# freebsd-update upgrade -r 14.3-RELEASE
# freebsd-update install
# reboot
# freebsd-update install
なお、upgradeの際に (y/n) で問われたら y を、左下に : が出て止まっていたら q を選んでおけば大丈夫です。
IPアドレスなどの確認
/etc/rc.conf に記載するのですが、ConoHa VPSでは以下のように記載してくれています。
hostname="localhost"
sshd_enable="YES"
moused_nondefault_enable="NO"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
ntpd_enable=YES
ifconfig_vtnet0="inet 118.27.7.39 netmask 255.255.254.0"
defaultrouter="118.27.6.1"
ifconfig_vtnet0_ipv6="inet6 2400:8500:1801:403:118:27:7:39/64"
ipv6_defaultrouter="2400:8500:1801:403::1"
keymap="jp"
IPv6のアドレスを他のものに変更する場合は、書き直しても大丈夫です。(末尾に0〜fが追記できます)
hostnameは、運用に合わせて変更しておいてください。
設定
rootがsshでログインできるのは危険なので、ユーザーを追加して、rootはsshでログインできないようにします。
ユーザーを追加します。
- ユーザー名は、適当なものにしてください。(今回はtarouとします)
- ユーザーのフルネームは適宜設定してください。(今回はTarou Yamadaとします)
- ユーザーのID(Uid)は、デフォルトのままとします。
- ユーザーのグループ(Login group)は、デフォルトのままとします。
- ユーザーを他のグループに参加させるか尋ねられたら、wheelを追加します。
- ユーザーのログインクラスは、デフォルトのままとします。
- ユーザーのシェルは、cshを選択します。
- ユーザーのホームディレクトリは、デフォルトのままとします。
- ユーザーのホームディレクトリのパーミッションは、デフォルトのままとします。
- ユーザーはパスワード認証を利用するか尋ねられますので、yesとします。
- 空のパスワードを利用するか尋ねられますので、noとします。
- ランダムなパスワードを利用するか尋ねられますので、noとします。
- パスワードを設定するか尋ねられますので、yesとします。
- パスワードを入力します。
- パスワードを確認のために再入力します。
- アカウントをロックするか尋ねられますので、noとします。
コマンドのイメージは以下のようになります。
root@localhost:~ # adduser
Username: tarou
Full name: Tarou Yamada
Uid (Leave empty for default):
Login group [tarou]:
Login group is tarou. Invite tarou into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: csh
Home directory [/home/tarou]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : tarou
Password : *****
Full Name : Tarou Yamada
Uid : 1001
Class :
Groups : tarou wheel
Home : /home/tarou
Home Mode :
Shell : /bin/csh
Locked : no
OK? (yes/no) [yes]:
adduser: INFO: Successfully added (tarou) to the user database.
Add another user? (yes/no) [no]:
Goodbye!
root@localhost:~ #
ユーザー設定の確認
作ったユーザーでログインして、rootに切り替えられるか確認します
% su -
Password: (rootのパスワードを入力)
root@localhost:~ # whoami
root
rootに切り替えられたら、ユーザーの確認は完了です。
rootログインの停止
次に、rootがsshでログインできないようにします。
/etc/ssh/sshd_configを編集します。
以下の行をコメントアウトします。
#PermitRootLogin yes
以下の行を追加します。
PermitRootLogin no
sshdを再起動します。
# service sshd restart
これで、rootが直接sshでログインできなくなります。
pkgの更新
FreeBSDでは、パッケージ管理システムとしてpkgを利用します。
pkgのデータベースを更新し、パッケージを更新します。
不要になったパッケージがあれば削除します。
# pkg update
# pkg upgrade
# pkg autoremove
sudoのインストール
suコマンドだけだと不便なので、sudoをインストールします。
# pkg install sudo
sudoの設定ファイル作成します。
/usr/local/etc/sudoers.d/wheel というファイルを以下の内容で作成します。
%wheel ALL=(ALL:ALL) ALL
これで、wheelグループに所属するユーザーは、自身のパスワードでsudoを実行できるようになります。
設定ファイルのパーミッションも設定しておきます
# chmod 440 /usr/local/etc/sudoers.d/wheel
再起動
ここまで設定できたら、一度再起動しておきます。
# reboot
再起動後、rootでログインできないことと、tarouユーザーでログインしてsudoが使えることを確認します。