ファイルサーバの機能を追加してみましょう。
WindowsやMacのファイル共有を実現するには、Sambaを使う以外に考えられませんね。
root@cafe:~ # cd /usr/ports/net/samba413/
root@cafe:/usr/ports/net/samba413 # make
いつものようにPortsからインストールを行います。
今回は、インストールオプションを変更します。
ADS,AD_DCのアクティブ・ディレクトリ関係は、家の中では使わないので、外します。
LDAPもアカウント管理をLDAPで行わないので、外します。
デフォルトではZeroconf SupportはAVAHIにチェックがついていますが、MDNSRESPONDERに変更します。
依存関係のあるパッケージもportsによって自動的にインストールされます。
そのコンパイルオプションの選択画面が表示されるので、適当なものを選びます。基本的に初期値のままですね。
omockaも初期値のままにしておきます。
tallocも初期値のままにしておきます。
teventも初期値のままにしておきます。
tdbも初期値のままにしておきます。
poptも初期値のままにしておきます。
gnutlsも初期値のままにしておきます。
gmpも初期値のままにしておきます。
nettleも初期値のままにしておきます。
p11-kitも初期値のままにしておきます。
bash-completionも初期値のままにしておきます。
bashも初期値のままにしておきます。
bisonも初期値のままにしておきます。
highlightも初期値のままにしておきます。
boost-libsも初期値のままにしておきます。
xmlcatmgrも初期値のままにしておきます。
docbook-xslも初期値のままにしておきます。
libxsltも初期値のままにしておきます。
libgcryptも初期値のままにしておきます。
libgpg-errorも初期値のままにしておきます。
glibも初期値のままにしておきます。
trousersも初期値のままにしておきます。
gaminも初期値のままにしておきます。
:
省略
:
/usr/bin/strip /usr/ports/net/samba413/work/stage/usr/local/lib/python3.7/site-packages/ldb.so
/usr/bin/strip /usr/ports/net/samba413/work/stage/usr/local/lib/nss_winbind.so.1
/usr/bin/strip /usr/ports/net/samba413/work/stage/usr/local/lib/nss_wins.so.1
/usr/bin/strip /usr/ports/net/samba413/work/stage/usr/local/lib/pam_winbind.so
/bin/mkdir -p /usr/ports/net/samba413/work/stage/usr/local/share/doc/samba413
install -m 0644 /usr/ports/net/samba413/work/README.FreeBSD /usr/ports/net/samba413/work/stage/usr/local/share/doc/samba413
====> Compressing man pages (compress-man)
===> Staging rc.d startup script(s)
===> Installing ldconfig configuration file
root@cafe:/usr/ports/net/samba413 #
コンパイル完了です。
root@cafe:/usr/ports/net/samba413 # make install
===> Installing for samba413-4.13.0
===> Checking if samba413 is already installed
===> Registering installation for samba413-4.13.0
Installing samba413-4.13.0...
How to start: http://wiki.samba.org/index.php/Samba4/HOWTO
* Your configuration is: /usr/local/etc/smb4.conf
* All the relevant databases are under: /var/db/samba4
* All the logs are under: /var/log/samba4
For additional documentation check: http://wiki.samba.org/index.php/Samba4
Bug reports should go to the: https://bugzilla.samba.org/
===> SECURITY REPORT:
This port has installed the following files which may act as network
servers and may therefore pose a remote security risk to the system.
/usr/local/lib/samba4/private/libsamba-sockets-samba4.so
/usr/local/lib/samba4/private/libsmb-transport-samba4.so
/usr/local/bin/nmblookup
/usr/local/lib/samba4/private/libgse-samba4.so
/usr/local/lib/samba4/private/libkrb5-samba4.so.26
/usr/local/sbin/winbindd
/usr/local/lib/samba4/private/libsmbd-base-samba4.so
/usr/local/lib/samba4/libsmbconf.so.0
/usr/local/sbin/smbd
If there are vulnerabilities in these programs there may be a security
risk to the system. FreeBSD makes no guarantee about the security of
ports included in the Ports Collection. Please type 'make deinstall'
to deinstall the port if this is a concern.
For more information, and contact details about the security
status of this software, see the following webpage:
https://www.samba.org/
root@cafe:/usr/ports/net/samba413 #
make install
コマンドで、インストールも完了です。コメントを参考に、/usr/local/etc/smb4.confの設定を行います。
root@cafe:/usr/ports/net/samba413 # cd /usr/local/etc/
root@cafe:/usr/local/etc # ls -al smb4.conf*
ls: No match.
root@cafe:/usr/local/etc # vi smb4.conf
root@cafe:/usr/local/etc # cat smb4.conf
[global]
workgroup = WORKGROUP
server string = Samba Server
netbios name = cafe
map to guest = Bad User
guest account = nobody
server min protocol = NT1
ntlm auth = ntlmv1-permitted
max log size = 50
log level = 1
logging = file
server role = standalone
security = user
guest ok = yes
printing = bsd
unix charset = UTF-8
dos charset = CP932
vfs objects = streams_xattr
hide files = /.DS_Store/Network Trash Folder/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.TemporaryItems/.VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/
[Share]
comment = Shared Directories
path = /usr/local/samba
read only = no
root@cafe:/usr/local/etc #
コメントどおり/usr/local/etc/smb4.confを作成します。サンプルファイルがないので、0から作成ですね。
今回はIPアドレスなどの制限を設けず、誰でも/usr/local/sambの内容を共有できるようにしています。
また、WindowsXPでもアクセスできるように
server min protocol = NT1 ← 最近のSambaでは、WindowsVista以降対応のようです。Windoews2000,XPではこのオプションが必要です。
ntlm auth = ntlmv1-permitted ← Windoews2000,XPでも認証できるように必要です。
ちょっと、セキュリティ的には弱くなりますが、インターネットに公開しているわけではないし、問題ないでしょう。
logging = file ← ログ出力をファイルだけにする。デフォルトではコンソールにもログが出力されてウザいので。
vfs objects = streams_xattr ← 代替データストリームを POSIX の拡張属性に格納します。これをつけないとMacOSのリソースフォークは別ファイルとして保存されてしまいます。
hide files = /.DS_Store/Network Trash Folder/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.TemporaryItems/.VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/ ← MacOS特有のファイルやフォルダを隠し属性にしておきます。
root@cafe:/usr/local/etc # mkdir /usr/local/samba
root@cafe:/usr/local/etc # chown nobody:nobody /usr/local/samba
root@cafe:/usr/local/etc # ls -al /usr/local/samba
total 8
drwxr-xr-x 2 nobody nobody 512 Oct 14 00:29 .
drwxr-xr-x 15 root wheel 512 Oct 14 00:29 ..
root@cafe:/usr/local/etc #
共有フォルダを作成します。
root@cafe:/usr/local/etc # bsdconfig
bsdconfig
コマンドで、起動設定を行います。
「C Startup」を選択します。
「1 Toggle Startup Services」を選択します。
「samba_server_enabe」を選択して「OK」を押し、チェックをつけます。
「X Exit」を選択して、メニューから抜けます。
「X Exit」を選択して、メニューから抜けます。
「Exit bsdconfig」を選択して終了します。
root@cafe:/usr/local/etc # cat /etc/rc.conf
hostname="cafe.lo.zeke.ne.jp"
keymap="jp.106"
ifconfig_vtnet0="inet 192.168.1.7 netmask 255.255.255.0"
defaultrouter="192.168.1.254"
ifconfig_vtnet0_ipv6="inet6 2001:2c0:cd03:ca00::cafe/64"
ipv6_defaultrouter="2001:2c0:cd03:ca00::254"
local_unbound_enable="YES"
sshd_enable="YES"
ntpdate_enable="YES"
ntpd_enable="YES"
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="NO"
php_fpm_enable="YES"
nginx_enable="YES"
mdnsd_enable="YES"
mdnsresponderposix_enable="YES"
mdnsresponderposix_flags="-f /usr/local/etc/mDNSResponder.conf"
samba_server_enable="YES"
root@cafe:/usr/local/etc #
/etc/rc.confを開いて、samba_server_enable="YES"が追加されていることを確認します。
root@cafe:/usr/local/etc # service samba_server start
Performing sanity check on Samba configuration: OK
Starting nmbd.
Starting smbd.
root@cafe:/usr/local/etc #
service samba_server start
コマンドでsambaを起動します。エラーなく起動しているようですね。
root@cafe:/usr/local/etc # cat /var/log/samba4/log.smbd
[2020/10/14 00:51:48.317095, 0] ../../source3/smbd/server.c:1784(main)
smbd version 4.13.0 started.
Copyright Andrew Tridgell and the Samba Team 1992-2020
[2020/10/14 00:51:49.253669, 0] ../../lib/util/become_daemon.c:136(daemon_ready)
daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
root@cafe:/usr/local/etc # cat /var/log/samba4/log.nmbd
[2020/10/14 00:51:48.150842, 0] ../../source3/nmbd/nmbd.c:960(main)
nmbd version 4.13.0 started.
Copyright Andrew Tridgell and the Samba Team 1992-2020
[2020/10/14 00:51:48.316430, 0] ../../lib/util/become_daemon.c:136(daemon_ready)
daemon_ready: daemon 'nmbd' finished starting up and ready to serve connections
[2020/10/14 00:51:48.319543, 0] ../../source3/nmbd/nmbd_namequery.c:109(query_name_response)
query_name_response: Multiple (2) responses received for a query on subnet 192.168.1.7 for name WORKGROUP<1d>.
This response was from IP 192.168.1.4, reporting an IP address of 192.168.1.4.
root@cafe:/usr/local/etc #
/var/log/samba4/log.smbdと/var/log/samba4/log.nmbdのログでもエラーがないことを確認しました。
Windows7やXPのクライアントからつなげてみます。
Windowsからアドレスに\\cafeと入力し、Sambaサーバの共有フォルダが見えることを確認します。
Windowsからファイルやフォルダを作成できることが確認できました。
root@cafe:/usr/local/etc # ls -lR /usr/local/samba/
total 16
drwxr-xr-x 2 nobody nobody 512 Oct 15 00:10 新しいフォルダ
drwxr-xr-x 2 nobody nobody 512 Oct 14 01:51 新しいフォルダー
/usr/local/samba/新しいフォルダ:
total 8
-rwxr--r-- 1 nobody nobody 12 Oct 15 00:36 新規テキスト文書.txt
/usr/local/samba/新しいフォルダー:
total 12
-rwxr--r-- 1 nobody nobody 0 Oct 14 01:51 新しいテキスト ドキュメント (2).txt
-rwxr--r-- 1 nobody nobody 6 Oct 14 01:10 新しいテキスト ドキュメント.txt
root@cafe:/usr/local/etc #
また、サーバ側でも、ちゃんとディレクトリやファイルができていて文字コードもUTF-8であることが確認できました。
sambaのインストールと設定は以上です。