はじめに
OS 起動時に NAS を自動マウントする方法は、検索してみると、それぞれの OS ごとに Web 上にたくさん紹介されている。以下に、Mac OS X (10.8)、Windows 7、Debian/Ubuntu で現在設定している方法を、一例としてメモしておこうと思う。
なお、以下の例では NAS の IP は 192.168.0.10
, 共有したいディレクトリ名は storage
とする。
Mac OS X
/etc/auto_smb
を作成する。
storage -fstype=smbfs ://GUEST:@192.168.0.10/storage
はじめの storage
が Mac 側のマウントポイントの名前で、次がオプション、最後が共有の URL。Samba のユーザ名 (USER) とパスワード (PASSWORD) を書く場合は以下のように指定する。
storage -fstype=smbfs ://USER:PASSWORD@192.168.0.10/storage
パスワードを書く場合、パーミッションも変更しておいた方が良いだろう。
$ sudo chmod 600 /etc/auto_smb
次に /etc/auto_master
を編集する。ユーザー (hoge) のホームディレクトリの mnt
にマウントする場合、以下の一行を追加しておく。
/Users/hoge/mnt auto_smb
Linux 等と同様に /etc/fstab
に書いても可能。その場合は以下の書き方。
192.168.0.10:/storage /Users/hoge/mnt/storage url automounted,url==cifs://USER:PASSWORD@192.168.0.10/storage 0 0
いずれの場合も、すぐに適用するには automount
を実行しておく。
$ sudo automount -vc automount: /net updated automount: /home updated automount: /Users/hoge/mnt mounted automount: no unmounts
再起動後も /Users/hoge/mnt/storage
にアクセスすると自動でマウントされる。また、アクセスがないとデフォルトでは1時間 (3600s) でアンマウントされる。
変更する場合は /etc/autofs.conf
:
AUTOMOUNT_TIMEOUT=3600
Windows 7
Windows の場合 Windows Script Host (WSH) を使用する方法が簡単だと思う。
Windows 7 では c:/Users/hoge/AppData/Roaming/Microsoft/Windows/Start Menu/プログラム/Startup/auto_mount_nas.vbs
を以下の内容で作成した。
GUEST 接続可能の場合、最後の “USER” “PASSWORD” は空欄で良い (i.e. “”, “”)。パスワードを設定している場合は “USER” “PASSWORD” に記述する。
WScript.sleep 30000 Dim objWshNetwork Set objWshNetwork = WScript.CreateObject("WScript.Network") objWshNetwork.MapNetworkDrive "Z:", "\\192.168.0.10\storage", False, "USER", "PASSWORD"
例では起動して 30 秒後にスクリプトを実行している。ネットワークドライブは “Z” に割り当てている。
作成したファイル (auto_mount_nas.vbs) をダブルクリックでも起動できる。
パスワードを直接記述しないようにもできる模様。以下の参考サイトの二番目をご参照。
Ubuntu/Debian
ゲストで接続する場合 /etc/fstab
に以下を加える。
//192.168.0.10/storage /home/hoge/mnt/storage cifs default,guest,uid=1000,iocharset=utf8,codepage=932 0 0
ユーザー (USER)、パスワード (PASSWORD) が必要な場合は、
//192.168.0.10/storage /home/hoge/mnt/storage cifs username=USER,password=PASSWORD 0 0
のように書けばよいが fstab
は誰でも読むことができるので、パスワードを直に書くのはあまりよくない。そこで以下のようにユーザー名とパスワードを書いた credentials file
を作成しておく。
$ sudo vi /etc/fstab.cred username=USER password=PASSWORD $ sudo chmod 600 /etc/fstab.cred
fstab
にはこのファイルを参照するように、以下のように書いておく。
//192.168.0.10/storage /home/hoge/mnt/storage cifs credentials=/etc/fstab.cred,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0
以上で起動時に自動マウントされるようになる。
参考
私の環境 (Debian sid) では以上のように /etc/fstab
に書いておくと、シャットダウン時に、
stopping enhanced syslogd: rsyslogd
でハングしてしまう。これは「Samba の共有ディレクトリが umount される前にネットワーク系のデーモンが終了してしまうため」(cf. シャットダウンの前にSambaにumountを!) らしい。
根本的な解決方法は摸索中だが、現在のところ /etc/init.d/rc
のはじめの方に以下を加えて回避している。
if test x$RUNLEVEL = x0 -o x$RUNLEVEL = x6 ; then umount -a fi
Pingback: Macでautofs使って、ファイルサーバに自動マウントする | SanRin舎