くんすとの備忘録

プログラミングや環境設定の覚え書き。

FreeBSDでファイルサーバを立てた時の記録

構成メモ

  • マシン・・・Eee PC 1000? (SSD 16GB、1GB RAM)
  • OS・・・FreeBSD-10.2-RELEASE-i386
  • samba・・・samba42 (※Jail環境にインストール)
  • 共有用の外付けHDD・・・NTFS 1TB

OSのセットアップ

  • FreeBSDを普通に最小インストールする。
  • 固定IP。
  • サービスはsshdとntpのみ有効。

初期設定

最小限必要なパッケージだけインストール
pkg install vim-lite qjail fusefs-ntfs ca_root_nss
qjailの初期設定
qjail install -h ftp2.jp.freebsd.org
fuse用のカーネルモジュールをロード
kldload fuse
loader.confへの追記
cat <<EOS >> /boot/loader.conf
fuse_enable="YES"
autoboot_delay="3"
EOS
rc.confへの追記
cat <<EOS >> /etc/rc.conf

# Disable Send Mail
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

qjail_enable="YES"
EOS

外付けHDDのマウント

マウントポイントの作成
mkdir -p /media/hdd1
マウント用のシェルスクリプトを作成して実行
  • mount-hdd.sh
#!/bin/sh
ntfs-3g /dev/da0s1 /media/hdd1

Jail環境の作成

jail-deployツールのダウンロード
fetch http://github.com/kunst1080/jail-deploy/archive/master.zip
unzip master.zip
mv jail-deploy-master jail-deploy
deploy.conの作成
cat <<EOS > jail-deploy/deploy.conf
PREFIX=/usr/jails
NIC=ale0
EOS
Jail環境の作成
jail-deploy/jail-deploy -4 192.168.100.51 -f NONE -y -P root用パスワード -u ユーザ名 -p ユーザ用パスワード samba
外付けHDDをjail環境へマウント
qjail stop samba
mkdir -p /usr/jails/samba/media/hdd1
echo "/media/hdd1         /usr/jails/samba/media/hdd1 nullfs rw 0 0" >> /usr/local/etc/qjail.fstab/samba
qjail start samba

※ここでdfした時の状態

Filesystem          1K-blocks     Used     Avail Capacity  Mounted on
/dev/ada0s1a         14217020   975056  12104604     7%    /
devfs                       1        1         0   100%    /dev
/dev/fuse           976759804 77971024 898788780     8%    /media/hdd1
/usr/jails/sharedfs  14217020   975056  12104604     7%    /usr/jails/samba/sharedfs
/media/hdd1         976759804 77971024 898788780     8%    /usr/jails/samba/media/hdd1
devfs                       1        1         0   100%    /usr/jails/samba/dev

Jailの設定

qjail console samba
sambaのインストール
pkg install samba42
smb4.confの作成
cat <<EOS > /usr/local/etc/smb4.conf
[global]
workgroup = WORKGROUP
server string = FreeBSD
security = user
hosts allow = 192.168.100.
guest ok = no
unix charset = UTF-8
dos charset = CP932
max protocol = SMB2
netbios name = fileserver
create mask = 600
directory mask = 700
printing = bsd
unix extensions = no
nt acl support = yes
inherit acls = no
map acl inherit = yes

[fileserver]
comment = File Server
path = /media/hdd1/samba
browseable = yes
writable = yes
EOS
samba用ユーザの追加
pdbedit -a -u ユーザ名
rc.confへの追記
cat <<EOS >> /etc/rc.conf
samba_server_enable="YES"
EOS
sambaの起動
service samba_server start

以上。

広告