Junkie Work

access: 202837

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でログインできないようにします。

ユーザーを追加します。

コマンドのイメージは以下のようになります。

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が使えることを確認します。