stylesheet

2020-01-18

OrangePi WinにSambaを入れてファイルサーバーにする

OrangePi Winへ最新のArmbianをクリーンインストールしたので、ちまちまと環境再構築を行っている。
今回は、NTFSファイルシステムのUSBハードディスクを繋いで、簡易ファイルサーバーにする手順をメモ。

USBハードディスクを起動時に自動マウント

据え置きでつけたり外したりすることがないならfstabに追記してしまうのが楽。割当先が変わってしまっても良いようにHDD固有のUUIDを指定する。
UUIDを調べるにはblkidコマンドが手っ取り早い。

$ sudo blkid
/dev/mmcblk0p1: UUID="df60a59a-dc75-4ca4-9a17-c546acbb03f3" TYPE="ext4" PARTUUID="e6de6566-01"
/dev/zram0: LABEL="log2ram" UUID="297abf0b-bd2e-4f58-a031-424e6c752837" TYPE="ext4"
/dev/sda1: UUID="D6BEABF3BEABCA77" TYPE="ntfs" PARTLABEL="Elements" PARTUUID="4dd64d94-0369-4714-a4b6-6bdf04b56b62"
/dev/zram1: UUID="924853f6-4a2d-4b88-b93b-bdd289a81d77" TYPE="swap"
/dev/mmcblk0: PTUUID="e6de6566" PTTYPE="dos"

/dev/sda1がUSBハードディスクなのでUUIDは"D6BEABF3BEABCA77"だとわかる。

マウント先を作ってfstabに追記。
今回のハードディスクはNTFSファイルシステムを使用しているため、ntfs-3gを使用。uidgidにはマウント時に所有権を与えるユーザーを指定する。

$ sudo mkdir /mnt/usbhdd
$ sudo emacs /etc/fstab

UUID=df60a59a-dc75-4ca4-9a17-c546acbb03f3 / ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1
tmpfs /tmp tmpfs defaults,nosuid 0 0
UUID=D6BEABF3BEABCA77 /mnt/usbhdd ntfs-3g defaults,iocharset=utf8,uid=1000,gid=1000,umask=0022 0 0

再起動するかmount -aで反映させる。

Sambaをローカル認証で使用

aptでインストール。

$ sudo apt install samba

Linuxユーザーを作成してSambaへ登録。ユーザー名とパスワードはWindowsと合わせておくと楽。

$ sudo adduser USERNAME
$ sudo pdbedit -a USERNAME

共有を追加してサービスを再起動。

$ emacs /etc/samba/smb.conf

...

[share]
  comment = USB Harddisk
  path = /mnt/usbhdd
  browseable = yes
  read only = no
  writable = yes
  force user = 1000
  create mode = 0755
  directory mode = 0755

# ゲスト共有用
;  guest only = yes
;  guest ok = yes


$ sudo service smbd restart

以上。

Windows10 Creators Updateの留意事項

Windows 10 Creators Update以降、SMB1.0と認証なしゲスト共有はセキュリティリスクの懸念からデフォルトで無効化されているので使用しないようにする。

どうしても必要な場合は...

SMB1.0は「Windowsの機能の有効化または無効化」からインストールできる。

ゲスト共有は、グループポリシーの「コンピューターの構成 > 管理用テンプレート > ネットワーク > Lanmanワークステーション > 安全でないゲストログオンを有効にする」または、レジストリ「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters\AllowInsecureGuestAuth」で設定できる。