debianサーバでUSBHDD共有

NTFSフォーマットのUSBハードディスクを読み書きするためにいちいちWindowsPCを起動するのが面倒くさいので
debianサーバにつなげてネットワーク経由でみれるようにしたいと思います。

ソフトのインストール

$ sudo aptitude install ntfs-3g autofs

うちの環境ではusbmountで自動マウントを試みるも見事にできなかったのでautofsを使用しました。
あとsambaはインストール済みとします。

autofs設定

どのUSBハードディスクを挿しても/dev/sdc1とか固定で認識されてしまうのでuuidで識別することでハードディスクの一意性を確立します。
まず、USBハードディスクをdebianサーバに接続しdmesgコマンドでデバイスマッピングを確認します

$ dmesg
[ 5263.826625] usb 5-8: USB disconnect, address 5
[ 5355.649069] usb 5-3: new high speed USB device using ehci_hcd and address 6
[ 5355.783049] usb 5-3: configuration #1 chosen from 1 choice
[ 5355.792124] scsi5 : SCSI emulation for USB Mass Storage devices
[ 5355.793967] usb-storage: device found at 6
[ 5355.793977] usb-storage: waiting for device to settle before scanning
[ 5355.794235] usb 5-3: New USB device found, idVendor=152d, idProduct=2336
[ 5355.794318] usb 5-3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[ 5355.794385] usb 5-3: Product: JM20336 SATA, USB Combo
[ 5355.794442] usb 5-3: Manufacturer: JMicron
[ 5355.794497] usb 5-3: SerialNumber: 8DC88D10EAD8
[ 5360.798223] usb-storage: device scan complete
[ 5360.799608] scsi 5:0:0:0: Direct-Access     WDC WD10 EADS-00L5B1           PQ: 0 ANSI: 2 CCS
[ 5360.802087] sd 5:0:0:0: [sdc] 3907050336 512-byte hardware sectors (2000410 MB)
[ 5360.803291] sd 5:0:0:0: [sdc] Write Protect is off
[ 5360.803340] sd 5:0:0:0: [sdc] Mode Sense: 00 38 00 00
[ 5360.803345] sd 5:0:0:0: [sdc] Assuming drive cache: write through
[ 5360.804540] sd 5:0:0:0: [sdc] 3907050336 512-byte hardware sectors (2000410 MB)
[ 5360.805394] sd 5:0:0:0: [sdc] Write Protect is off
[ 5360.805449] sd 5:0:0:0: [sdc] Mode Sense: 00 38 00 00
[ 5360.805453] sd 5:0:0:0: [sdc] Assuming drive cache: write through
[ 5360.805527]  sdc: sdc1
[ 5360.818029] sd 5:0:0:0: [sdc] Attached SCSI disk

今回は/dev/sdc1にマッピングされていました。
次に/dev/sdc1のuuidを確認します。

$ ls -al /dev/disk/by-uuid/ | grep sdc
lrwxrwxrwx 1 root root  10 2010-08-20 23:01 9E9CB8559CB829A3 -> ../../sdc1

結果はsdc1の実態はuuidの9E9CB8559CB829A3であるということが分かりました。
uuidがわかったのでautofsの設定を行います。
/etc/autofs.masterを編集します。

$ sudo vi /etc/autofs.master

#/misc    /etc/auto.misc
↓#をとる
/misc    /etc/auto.misc

/etc/auto.miscを編集します。

$ sudo vi /etc/auto.misc

#下記1行を追加
usbcombo -fstype=ntfs-3g :/dev/disk/by-uuid/9E9CB8559CB829A3

マウント名称 -fstype=ファイルタイプ(ext3,vfatとか) :デバイス
ですかね。うちはこれでうまくいったのでこれ以上は調べてません。
autofsを再起動します

$ sudo /etc/init.d/autofs restart

autofs確認

USBハードディスクを接続した状態で/misc/(/etc/auto.miscに書いたマウント名称)にアクセスしてみます

$ ls -al /misc/usbcombo

マウントが完了するまで少し間が空きますがハードディスク内容が表示されれば成功です。

samba設定

USBハードディスクを接続してアクセスすれば勝手にマウントするようになったのであとはsambaで共有します。

$ sudo vi /etc/samba/smb.config

#とりあえず以下を追加。セキュリティは考慮していないので気をつけて
[usbcombo]
   comment = usbcombo hdd
   path = /misc/usbcombo
   public = yes
   read only = no
   printable = no

再起動します

$ sudo /etc/init.d/samba restart


これで\\サーバ\usbcomboにアクセスすればハードディスクが勝手にマウントされ読み書きできるようになります。
注意
autofsはしばらくアクセスがないと自動でアンマウントしてくれるようですが
ハードディスクを取り外すときはdfでアンマウントされていることを確認するか自分でアンマウントするようにしてください。