1. FTPサーバ(Vsftpd)
1.1 事前準備
①秘密鍵作成
# cd /etc/ssl
# openssl genrsa -des3 -out server.key 2048
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
➁パスフレーズ削除
# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key: ←先ほどのパスフレーズを入力
writing RSA key
➂アクセス権変更
# chmod 400 server.key
④自己証明書作成
# cd /etc/ssl/
# openssl req -new -x509 -days 3650 -key server.key -out ftp.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP ←国名
State or Province Name (full name) [Some-State]:Osaka ←都道府県名
Locality Name (eg, city) []:Sakai ←市区町村名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Lepard ←ホスト名(または会社名)
Organizational Unit Name (eg, section) []: ←空エンター
Common Name (e.g. server FQDN or YOUR name) []:Admin ←ホスト名(または管理者名)
Email Address []:hoge@hoge.com ←管理者メールアドレス
# cat server.key ftp.crt > ftp.pem
# chmod 400 ftp.*
1.2 vsftpdインストール
1.1 vsftpdインストール
# cd /usr/ports/ftp/vsftpd
# make BATCH=yes WITH_VSFTPD_SSL=yes install clean
1.2 vsftpd設定ファイル編集
# chmod 640 /usr/local/etc/vsftpd.conf
# vi /usr/local/etc/vsftpd.conf
12行目 : 変更(anonymous(匿名)のログインを許可しない)
anonymous_enable=NO
15行目 : コメント解除(ローカルログインを許可)
local_enable=YES
18行目 : コメント解除(書き込みを許可)
write_enable=YES ←コメント解除(書き込みを許可)
22行目 : コメント解除(新規ファイルのパーミッション設定)
local_umask=022
51行目 : コメント解除(ログファイルの指定)
xferlog_file=/var/log/vsftpd.log
80行目 : コメント解除(ASCIIモードでのアップロードを許可)
ascii_upload_enable=YES
81行目 : コメント解除(ASCIIモードでのダウンロードを許可)
ascii_download_enable=YES
98行目 : コメント解除
chroot_local_user=YES
99行目 : コメント解除
chroot_list_enable=YES
101行目 : コメント解除(上記ユーザー指定ファイル)
chroot_list_file=/etc/vsftpd.chroot_list
107行目 : コメント解除(ディレクトリごとの削除を許可する)
ls_recurse_enable=YES
112行目 : IPv4有効
listen=YES
134行目 : コメント解除
background=YES
# 最終行に下記を追加
# PASV モード有効
pasv_enable=YES
# pasv_address 有効
pasv_addr_resolve=YES
# pasv モードのポート番号範囲
pasv_min_port=4000
pasv_max_port=4009
# ローカルタイムを使用
use_localtime=YES
# SSL接続を許可
ssl_enable=YES
# SSL 証明書ファイルを指定
rsa_cert_file=/etc/ssl/ftp.pem
# SSL セッションを再利用しない
require_ssl_reuse=NO
# 強制 SSL 接続を解除
force_local_logins_ssl=NO
# 強制 SSL 接続を解除
force_local_data_ssl=NO
# ドットファイルを表示
force_dot_files=YES
# echo "vsftpd: ALL" >> /etc/hosts.allow
chroot_list編集
今回は一般ユーザーhuongを書き込みました
# echo huong >> /etc/vsftpd.chroot_list
自動起動有効
# vi /etc/rc.conf
vsftpd_enable="YES" ←追加
# service vsftpd start
1.3 Firewallでパッシブポート開放する
下記ページを参考にし、4000-4009ポートを開放し、サーバーを再起動する
1.4 FileZilla で接続

Password : 一般ユーザーhuongのパスワード

次のようなセキュリティ確認画面が表示されるのでOKをクリックするとサーバーに接続される

2. Sambaでファイルサーバー
WindowsやMacのファイル共有を実現するため、Sambaを使いファイルサーバーを構築する
2.1 Sambaのインストール
# pkg install samba420
2.2 Sambaの設定
/usr/local/etc/smb4.confを新規作成
# cd /usr/local/etc/
# vi smb4.conf
[global]
#Windows クライアントとの通信に使用する文字コード
dos charset = CP932
#Samba サーバー側の FreeBSDで使われる文字コード
unix charset = UTF-8
#Windows 側で設定したワークグループ名に合わせる
workgroup = WORKGROUP
#任意の名称
server string = FreeBSD
#任意の名称
netbios name = freebsd
security = user
[share]
#共有するディレクトリのパス
path = /home/share
#共有ディレクトリに作成されるファイル/ディレクトリのパーミッション
create mask = 0770
#共有ディレクトリに作成されるファイル/ディレクトリのパーミッション
directory mask = 0770
#ゲストユーザー不可
guest only = No
#ゲストユーザー不可
guest ok = No
#共有ディレクトリを書き込み可能
browseable = No
read only = No
#共有ディレクトリを書き込み可能
writable = Yes
共有ディレクトリを作成
共有ディレクトリを /home/share とし、所有者を huong(Freebsdに登録されている一般ユーザー)、アクセス権限は、一般ユーザーと wheel グループに読み・書き・実行を許可
# mkdir /home/share
# chown huong:wheel /home/share
# chmod -R 0770 /home/share
/etc/rc.confを開いて、samba_server_enable="YES"を追加する
huong(Freebsdに登録されている一般ユーザー)をSamba ユーザーとして登録しパスワードを設定する(pdbedit コマンドを使用)
# pdbedit -a -u huong
new password:
retype new password:
Unix username: huong
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1244759181-1138094382-393284470-1000
Primary Group SID: S-1-5-21-1244759181-1138094382-393284470-513
Full Name: huong
Home Directory: \\FREEBSD\huong
HomeDir Drive:
Logon Script:
Profile Path: \\FREEBSD\huong\profile
Domain: FREEBSD
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: Thu, 07 Feb 2036 00:06:39 JST
Kickoff time: Thu, 07 Feb 2036 00:06:39 JST
Password last set: Mon, 14 Sep 2026 20:20:46 JST
Password can change: Mon, 14 Sep 2026 20:20:46 JST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
ファイアウォール有効の場合はsamba使用ポート(445)を開放しておく
xxxは他のルール番号と違うものにする
# vi /usr/local/etc/ipfw.rules
下記を追加
$IPF xxx allow tcp from any to any 445 in
$IPF xxx allow tcp from any to any 445 out
再起動
# service ipfw restart
sambaを起動
# service samba_server start
Performing sanity check on Samba configuration: OK
Starting nmbd.
Starting smbd.
2.3 Samba起動確認
Windowsの設定
・ワークグループ名が"WORKGROUP"になっていることを確認
ファイルエクスプローラーのアドレスバーに、"\\<Samba サーバーの IP アドレス>\<共有ディレクトリ名>" と入力
(今回は'\\192.168.11.83\share")するとログイン画面が表示されるので登録したユーザー名とパスワードを入力する
