FreeBSDのフレッシュインストール後にすべき10のこと


このチュートリアルでは、新しくインストールした FreeBSD オペレーティングシステムで実行する必要がある初期設定と、コマンドラインからFreeBSDを管理する方法の基本について説明します。

  1. FreeBSD 11.1 Installation Guide

1. FreeBSDシステムをアップデートする

オペレーティングシステムの新規インストール後にすべてのシステム管理者が最初に実行すべきことは、最新のセキュリティパッチと最新バージョンのカーネル、パッケージマネージャ、およびソフトウェアパッケージでシステムを最新の状態に保つことです。

FreeBSDをアップデートするには、root権限でシステムのコンソールを開いて以下のコマンドを発行してください。

# freebsd-update fetch
# freebsd-update install

ポート」パッケージマネージャとインストールされているソフトウェアを更新するには、以下のコマンドを実行してください。

# pkg update
# pkg upgrade

2.エディタとBashをインストールする

コマンドラインからシステムを管理する作業を容易にするために、次のパッケージをインストールする必要があります。

  • Nano text editoree is the default text editor in FreeBSD.
  • Bourne Again Shell – if you want to make the transition from Linux to FreeBSD more smooth.
  • Bash Completion – needed to autocomplete commands typed in console using the [tab] key.

提示されたユーティリティはすべて、下記のコマンドを発行してインストールできます。

# pkg install nano bash bash_completion

3. FreeBSDでセキュアなSSH

デフォルトでは、 FreeBSD SSH サービスは root アカウントによるリモートログインの自動実行を許可しません。 SSHによるリモートルートログインを許可しないことは、主にサービスとシステムを保護することを目的としていますが、SSHでルート認証を行う必要がある場合もあります。

この動作を変更するには、SSHメイン設定ファイルを開き、次のスクリーンショットに示すように PermitRootLogin no から yes に更新します。

# nano /etc/ssh/sshd_config 

ファイルの抜粋:

PermitRootLogin yes

その後、SSHデーモンを再起動して変更を適用します。

# service sshd restart

設定をテストするには、PuttyターミナルまたはリモートのLinuxマシンから次の構文を使用してログインします。

# [email protected]   [FreeBSD Server IP]

4. FreeBSD SSHパスワードなしログイン

新しいSSHキーを生成するには、次のコマンドを発行します。パブリックを別のサーバーインスタンスにコピーして、パスワードなしでリモートサーバーに安全にログインできます。

# ssh-keygen –t RSA
# ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
# ssh [email protected]

5. FreeBSDにSudoをインストールして設定する

Sudo は、一般ユーザーがスーパーユーザーアカウントのセキュリティ権限でコマンドを実行できるように設計されたソフトウェアです。 SudoユーティリティはFreeBSDにはデフォルトでインストールされていません。

FreeBSDにsudoをインストールするには、次のコマンドを実行します。

# pkg install sudo

通常のシステムアカウントがroot権限でコマンドを実行できるようにするには、/usr/local/etc/ディレクトリにある sudoers 設定ファイルを開き、visudoを実行して編集しますコマンド。

ファイルの内容をナビゲートして、通常はルート行の後に次の行を追加します。

your_user	ALL=(ALL) ALL

ある[ sudoers のファイルを編集するために常に visudo コマンドを使用します。 Visudo ユーティリティには、このファイルの編集中にエラーを検出するための組み込み機能が含まれています。

その後、キーボードの:wq!を押してファイルを保存し、root権限を付与したユーザーでログインして、コマンドの前にsudoを追加して任意のコマンドを実行します。

# su - yoursuer
$ sudo pkg update

root権限を持つ通常のアカウントを許可するために使用できる別の方法は、 wheel というシステムグループに通常のユーザーを追加し、を削除してsudoersファイルからwheelグループのコメントを解除することです行頭に#記号を付けます。

# pw groupmod wheel -M your_user
# visudo

次の行を/usr/local/etc/sudoers ファイルに追加します。

%wheel	ALL=(ALL=ALL)	ALL

6. FreeBSDでのユーザ管理

新しいユーザーを追加するプロセスはとても簡単です。 adduserコマンドを実行して対話式プロンプトに従って処理を完了させるだけです。

ユーザーアカウントの個人情報を変更するには、ユーザー名に対して chpass コマンドを実行し、ファイルを更新します。 :wq!キーを押して、viエディタで開いたファイルを保存します。

# chpass your_user

ユーザーパスワードを更新するには、 passwdコマンドを実行します。

# passwd your_user

アカウントのデフォルトシェルを変更するには、まずシステムに存在するすべてのシェルを一覧表示してから、次に示すように chshコマンドを実行します。

# cat /etc/shells
# chsh -s /bin/csh your_user
# env  #List user environment variables

7. FreeBSDの静的IPを設定する

FreeBSDの通常の固定ネットワーク設定は /etc/rc.conf ファイルを編集することで操作できます。 FreeBSDで静的IPアドレスを使ってネットワークインターフェースを設定するため。

最初にifconfig -aコマンドを実行してすべてのNICのリストを表示し、編集したいインターフェースの名前を識別します。

次に、 /etc/rc.conf ファイルを手動で編集し、DHCP行をコメントアウトして、下図のようにNICのIP設定を追加します。

#ifconfig_em0="DHCP"
ifconfig_em0="inet 192.168.1.100 netmask 255.255.255.0"
#Default Gateway
defaultrouter="192.168.1.1"

新しいネットワーク設定を適用するには、次のコマンドを発行します。

# service netif restart
# service routing restart

8. FreeBSD DNSネットワークを設定する

以下の例に示すように、DNSネームサーバーリゾルバは /etc/resolv.conf ファイルを編集することで操作できます。

nameserver your_first_DNS_server_IP
nameserver your_second_DNS_server_IP
search your_local_domain

コンピュータ名を変更するには、 /etc/rc.conf ファイルからホスト名変数を更新します。

hostname=”freebsdhost”

FreeBSDのネットワークインターフェースに複数のIPアドレスを追加するには、 /etc/rc.conf ファイルに次の行を追加します。

ifconfig_em0_alias0="192.168.1.5 netmask 255.255.255.255"

その後、ネットワークサービスを再起動して変更を反映させます。

# service netif restart

9. FreeBSDサービスを管理する

サービスは、FreeBSDでserviceコマンドを使って管理できます。システム全体の有効なサービスをすべてリストするには、次のコマンドを発行します。

# service -e

/etc/rc.d/ システムパスにあるすべてのサービススクリプトを一覧表示するには、以下のコマンドを実行します。

# service -l

起動初期化プロセス中にFreeBSDデーモンを有効または無効にするには、 sysrcコマンドを使用します。 SSHサービスを有効にしたいとしたら、 /etc/rc.conf ファイルを開いて次の行を追加します。

sshd_enable=”YES”

または同じことをするsysrcコマンドを使用してください。

# sysrc sshd_enable=”YES”

システム全体でサービスを無効にするには、下記のようにdisabledデーモンに NO フラグを追加します。デーモンフラグは大文字と小文字を区別しません。

# sysrc apache24_enable=no

FreeBSD上のいくつかのサービスは特別な注意を必要とすることを言及する価値があります。たとえば、 Syslog デーモンネットワークソケットのみを無効にする場合は、次のコマンドを発行します。

# sysrc syslogd_flags="-ss"

Syslogサービスを再起動して変更を適用します。

# service syslogd restart

システム起動時に Sendmail サービスを完全に無効にするには、次のコマンドを実行するか、 /etc/rc.conf ファイルに追加します。

sysrc sendmail_enable="NO"
sysrc sendmail_submint_enable="NO"
sysrc sendmail_outbound_enable="NO"
sysrc sendmail_msp_queue_enable="NO"

10.ネットワークソケットの一覧表示

FreeBSDで開いているポートの一覧を表示するには、 sockstat コマンドを使用してください。

FreeBSD上のすべてのIPv4ネットワークソケットを一覧表示します。

# sockstat -4

FreeBSD上のすべてのIPv6ネットワークソケットを表示します。

# sockstat -6

以下のスクリーンショットに示すように、2つのフラグを組み合わせてすべてのネットワークソケットを表示できます。

# sockstat -4 -6

FreeBSD上のすべての接続ソケットを一覧表示します。

# sockstat -c

すべてのネットワークソケットを待機状態にして、Unixドメインソケットを表示します。

# sockstat -l

sockstat ユーティリティ以外に、netstatまたはlsofコマンドを実行してシステムとネットワークのソケットを表示することもできます。

lsofユーティリティはデフォルトでFreeBSDにインストールされていません。 FreeBSD portsリポジトリからインストールするには、次のコマンドを発行します。

# pkg install lsof

lsofコマンドですべてのIPv4およびIPv6ネットワークソケットを表示するには、以下のフラグを追加してください。

# lsof -i4 -i6

netstatユーティリティを使用してFreeBSDですべてのネットワークソケットを待機状態にするには、次のコマンドを発行します。

# netstat -an |egrep 'Proto|LISTEN'

または -n フラグなしでコマンドを実行して、開いているソケットの名前をlisten状態にします。

# netstat -a |egrep 'Proto|LISTEN'

これらはFreeBSDシステムを日常的に管理するために知っておく必要がある基本的なユーティリティやコマンドのほんの一部です。