Sambaの設定 (Fedora25)

メインマシンとノートPC、スマートフォン間で
データをやり取りするために Sambaの設定を行いましたが、
久々に設定すると SELinuxやFirewallなど勝手が
だいぶ変わっていたのでメモを兼ねてまとめておきます。

状況

System Fedora 25
Firewalled SELinux 有効

/media/DATA … 4TBのWD Redの最大パーティションマウントポイント
に他の機器からアクセスしたい。

Part 1 ソフトウェアの導入

$ su -
# dnf -y install samba samba-client 

Part 2 共有ディレクトリの設定

# (mkdir /media/DATA) …今回は作成済み
# chmod -R 777 /media/DATA

Part 3 smb.confの設定

# nano /etc/samba/smb.conf 

以下の設定を追加

○文字コード関連

unix charset = UTF-8
dos charset = CP932 

※CP932
もともとは DOSで採用されていた Shift-JIS の独自実装版
その後 NEC(PC-98系)やIBMによる拡張がなされたあと
Windows用に Windows-31J (MS932) として再統合された文字コード
ややこしいが基本的に Shift-JISかShift-JISの拡張版という
認識でよいかと

○アクセス制限

hosts allow = 127. 192.168.1

自分自身(127...)とLAN内のアドレス(192.168.1.) からのみ
アクセスを許可します。

○共有ディレクトリ関連

[DATA]
        path = /media/DATA
        writable = yes
        create mode = 0777
        directory mode = 0777

/media/DATA を諸々オープンな状態で公開

Part 3 サービスの起動と登録

# systemctl start smb nmb
# systemctl enable smb nmb 

Part 4 ファイヤウォールとSELinux関連

○sambaログイン用のユーザー登録

# pdbedit -a hiroumauma

○FirewalledでSambaを許可

# firewall-cmd --add-service=samba --permanent 
# firewall-cmd --reload 

○SELinuxの設定

# setsebool -P  samba_export_all_rw  on
# restorecon -R /media/DATA

SELinuxが有効の場合デフォルトでは
samba_share_t ラベルのないファイルやディレクトリを
表示しないようになっています。いちいち設定するのは面倒なので
export_all_rw を許可しておけばいいと思います。

その他
ホームディレクトリ以下を共有公開したい場合は

# setsebool -P samba_enable_home_dirs on

などが必要です。
大抵はこの2つでことが済むのですが、もしトラブルが起こった場合は
 ここ で他の設定値も確認できます。

以上で設定完了です。

▲Android端末からデータのやり取り

コメントを追加する