jimaoka blog

ライトなインフラエンジニアです

exfatの外付けHDDをSambaで共有 (Ubuntu Server, 読み取り専用)

f:id:jimaoka:20150628222640j:plain
自宅内LANに置いたUbuntu Serverに外付けHDDを接続し
Sambaを動作させてファイルサーバとして利用します。

OS: Ubuntu Server 14.04.2 LTS
HDD: USB接続HDD (1TB)

外付けHDDを認識させる

すでにフォーマット済み (exfat) のHDDを接続するとします。

まず、Ubuntuexfatをマウントできるようにします。

% sudo apt-add-repository ppa:relan/exfat
% sudo apt-get update
% sudo apt-get -y install exfat-fuse exfat-utils

HGST TOURO Mobile MX3 1TB を使用した場合

% sudo parted -l
...
モデル: HGST Touro Mobile 3.0 (scsi)
ディスク /dev/sdb: 1000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  1000GB  1000GB  primary
...

これで /dev/sdb として認識されているのが分かるので

% sudo mount -t exfat /dev/sdb1 /media/usbhdd

でマウントできます。

自動マウント設定

起動時に毎回手動でマウントするわけにはいかないので、オートマウント設定をします。

# UUIDの確認
% sudo blkid
...
/dev/sdb1: LABEL="TOURO" UUID="B450-0B58" TYPE="exfat"
...
  
# 最後の行に追記 (UUID、マウントポイントは環境ごとに書き換え)
% sudo vim /etc/fstab
UUID=B450-0B58 /media/usbhdd exfat defaults 0 0

Sambaの設定

Sambaのインストール

% sudo apt-get -y install samba

設定ファイルの編集

% sudo vim /etc/samba/smb.conf
# 50行目あたり、自宅内LANのネットワークを追加
   interfaces = 127.0.0.0/8 192.168.x.x/24

# 末尾に追加
[Share]
  path = /media/usbhdd
  writable = yes
  create mode = 0775
  directory mode = 0775
  share modes = yes
  guest ok = no
  valid users = @smbusers

sambaユーザーの追加 (hogeUbuntuの既存ユーザ)

# ユーザが存在しない場合、作成 (ホームディレクトリを作成しない)
% sudo useradd hoge
# Sambaに登録
% sudo smbpasswd -a hoge
# グループの追加
% sudo groupadd smbusers
# グループに追加
% sudo gpasswd -a hoge smbusers

このままでは所有権の問題で書き込みができないため、マウントするグループ権限を変更。

# smbusersのグループIDを調べる
% cat /etc/group | grep smbusers
smbusers:x:1001:hoge
 
# gid=1001を追記、権限の設定
% sudo vim /etc/fstab
UUID=B450-0B58 /media/usbhdd exfat defaults,gid=1001,mode=0775 0 0
 
# マウント
% sudo mount -a

Sambaの再起動

% sudo service samba restart

他のPCからのアクセス

Macの場合
1. [Finder] -> [Go] -> [Connect to Server] を選択
2. Server Address に smb://192.168.x.x を入力 (192.168.x.x はSambaサーバのIP)
3. ユーザ名、パスワードを入力し、Connectを押す
4. Share を選択し、OK を押す

Windowsの場合
1. エクスプローラのアドレスバーに \\192.168.x.x\ と打ち込む
2. ユーザ名、パスワードを入力し、OKを押す
3. Shareを選択


* 2015/07/06
現在、この設定では書き込みできないようになっています。
Ubuntuexfatに対するパーミッションの設定ができるか現在調査中です。

* 2015/11/03
exfatに対する書き込みは不可能っぽいので、現在ext4でフォーマットしなおして使用中です。