Mac・Windows・Linux で起動時に NAS を自動マウントする方法

はじめに

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

One thought on “Mac・Windows・Linux で起動時に NAS を自動マウントする方法

  1. Pingback: Macでautofs使って、ファイルサーバに自動マウントする | SanRin舎

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s