====== USBメモリをSambaでファイル共有する設定 ======
===== USBメモリをext4でマウント =====
USBメモリをSambaで共有する設定を行ったが、多くのUSBメモリはVFATフォーマットであるため、Linux上のSambaやApacheといったソフトウェアの権限管理と適合しない。そのため、まずUSBメモリをext4フォーマットしてから行う。\\
* [[usbメモリのext4フォーマット|usbメモリのext4フォーマット手順]]
ext4にフォーマットしたUSBメモリをマウントするため、fstabを設定する。
LABEL=USBDISK /media/pi/USBDISK ext4 defaults,noatime,nofail 0 0
**fstab**の設定が正しいことをコマンドで確認する。
sudo findmnt --verify --verbose
再起動もしくはマウントテストを行う
sudo mount -a
===== Sambaの設定 =====
USBメモリにSambaで共有するディレクトリを作成する。
mkdir /media/pi/USBDISK/TEMP
ls -ld /media/pi/USBDISK/TEMP
Sambaで共有するディレクトリの権限を、下記になるように設定する。
ls -ld /media/pi/USBDISK/ /media/pi/USBDISK/TEMP/
drwxr-xr-x 4 root root 4096 7月 19 11:25 /media/pi/USBDISK/
drwxrwxrwx 2 root root 4096 7月 19 12:05 /media/pi/USBDISK/TEMP/
今回はSambaだけでなくApache2からのアクセスを可能にするために、他者(others)へ**x**権限を設定する。
==== Samba設定ファイル ====
Sambaの設定ファイルを下記のように構成する。
- /etc/samba/smb.conf
- /etc/samba/includes.conf
- /etc/samba/smb.d/share-temp.conf
=== 1への追加部分 ===
* includes.confの読み込み設定
* [global]セクションへの追加オプション
include = /etc/samba/includes.conf
# Maps unknown or invalid users to the guest account during authentication.
map to guest = Bad User
# Defines 'nobody' as the Unix user used for guest access.
guest account = nobody
=== 2の設定 ===
* 他の設定ファイルを読み込む設定
include = /etc/samba/smb.d/share-temp.conf
=== 3の設定 ===
* Samba(TEMP 共有設定)
[TEMP]
path = /media/pi/USBDISK/TEMP
browseable = yes
read only = no
guest ok = yes
force user = nobody
create mask = 0777
directory mask = 0777
==== Sambaへの設定反映 ====
設定チェック
testparm
Samba 再起動
sudo systemctl restart smbd