ArmbianにSambaをインストール

こちらの記事でコメントを頂いた、huskyさん向けの記事になります。

この記事を作成した当時は Armbian Ubunut + OpenMediaVault は動いていたのですが、長期安定性は正直疑問があります。NASとして長期安定動作を狙う場合には、OpenMediaVaultを使うよりも素のSambaを使うほうが安定しています。
自宅にはNanoPi Neo2+NASキットが3台あるのですが、1台は素のSambaで数年間の長期運用ができています(しかも、18.04LTSから20.04LTSへのアップグレードも乗り越えました)。それより後でインストールしたOpenMediaVaultは持って1年という印象です。そして比較的最近(半年以内だったと思います)OpenMediaVaultを再インストールしたところhuskyさんの書かれている現象(インストールした後再起動すると起動してこない)に遭遇しましたので、このときは素のSambaをインストールしました。

ここでは、残っているメモから簡単(易しいという意味ではなく肝しか書いてないということです)なSambaの設定方法を紹介します。Armbian UbuntuをNanoPi Neo2+NASキットにインストールして、armbian-configからシステムをNASキット上のHDDに移動するのは完了しているものとします。(なお、システムをHDDに移動した後も、確か最初のブートローダ自体はmicroSDから読みますので、microSDは抜いてはいけません)
なお、システムをNASキットのHDDに移動しないままSambaで運用すると、先にMicroSDが死んたことがありますので、システムはHDDに移動しておいたほうがいいと思います。

ここでは、Sambaをインストールして armbian という共有ディレクトリを作る方法を記載します。Ubuntuのバージョンはarmbian ubuntu 20.04 LTS です。ホスト名はarmbianに設定しています。

1.Sambaのインストールと共有ディレクトリ準備

以下の手順でSambaをインストールして、共有ディレクトリ /home/armbian を作ります。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install samba
$ cd /home
$ sudo mkdir armbian
$ sudo chmod 777 armbian

2.Sambaの設定ファイルの準備

/etc/samba/smb.conf の編集

[global]セクションに以下のような箇所があるので編集します。Ubuntu側の文字コードはUTF-8、Windows側は日本語なのでCP932を指定します。ワークグループ名を使っている場合には、その下のWORKGROUPを修正します。

[global]
  
## Browsing/Identification ###
  
unix charset = UTF-8  ←この行を追加
dos charset = CP932   ←この行も追加
  
# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = WORKGROUP  ←この行もワークグループに書き換え

ネットワーク設定の部分を探して編集します。下記の例では、NanoPi Neo2のeth0 インタフェースを使用し、192.168.0.0/16と172.16.1.0/24からのみアクセスできるように設定しています。

#### Networking ####
  
# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
interfaces = 127.0.0.0/8 eth0
hosts allow = 192.168.0.0/16 172.16.1.0/24 127.0.0.0/8
  
# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself.  However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
bind interfaces only = yes

smb.conf の最後にUbuntu側の/home/armbianディレクトリの共有の設定を追加します。

[Armbian]
   path = /home/armbian
   writable = yes
   guest ok = no
   guest only = no
   create mode = 0777
   directory mode = 0777

3.Sambaユーザーの追加

SambaのユーザーはUbuntu上にアカウントがあるユーザーである必要があります。現在ログインしているユーザーをSambaのユーザーとしてpdbeditで登録します。(注:このユーザー追加は、もっと前にインストールした際のスクショです)
pdbeditコマンドを入力したら、Windowsから共有をかける際のパスワードを入力します。Ubuntu側と同じパスワードである必要はありません。(pdbeditコマンドのオプションでUbuntu側のユーザー名とWindows側のユーザー名を違う組み合わせにもできるのではなかったかと思いますが、自分はややこしくなるので統一しています)

$ sudo pdbedit -a `whoami`
new password: (Windowsから共有する際のパスワードを設定)
retype new password: (Windowsから共有する際のパスワードを設定)
Unix username:        xxxxxxx
NT username:          
Account Flags:        [U          ]
User SID:             xxxxxxxxxxxxxxxxx
Primary Group SID:    xxxxxxxxxxxxxxxxx
Full Name:            
Home Directory:       \\armbian\xxxxxxx
HomeDir Drive:        
Logon Script:         
Profile Path:         \\armbian\xxxxxxx\profile
Domain:               ARMBIAN
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:    Sat, 18 May 2019 21:39:42 JST
Password can change:  Sat, 18 May 2019 21:39:42 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

4.Sambaの起動

$ sudo systemctl restart smbd
$ sudo systemctl enable smbd

Sambaを起動します。

初めて設定する場合には、systemctl status smbd で正常に起動できているか確認したほうがいいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)