vine-users ML アーカイブ



[vine-users:072499] Re: NASと 接続したい( 成功しました)

  • From: SAWAMI Hiroaki <hiro-s@xxxxxxxxxxxxxx>
  • Subject: [vine-users:072499] Re: NASと 接続したい( 成功しました)
  • Date: Sun, 24 Jul 2005 16:45:26 +0900 (JST)
さわみです。

From: "K.Hasegawa" <sherman@xxxxxxxxxxxx>
Subject: [vine-users:072488] Re: NASと接続したい(成功しました)
Date: Sat, 23 Jul 2005 21:35:44 +0900
Message-ID: <20050723211817.9E6E.SHERMAN@xxxxxxxxxxxx>

> ところでLinuxであまりNASを使わないことはわかりましたが
> 接続するごとにこのコマンドで複数台のNASと接続しなければ
> ならないのでしょうか?
> 
> どこか設定ファイルに書き込めばよいのでしょうか?
> しかしパスワードが生で書いてあるのでセキュリティ上問題があるとも
> 思えますが?
> この点について常識的にどうすればいいかお教えください。

こういう時こそ、shell script の出番でしょう。
私は家で以下のようなスクリプトを ~/bin に置いて使っています。
変数は ~/.nasrc (-rw-------) にまとめて設定します。

NAS が複数あるなら mount する NAS を引数で選択するようにする方法
などがあるかと思います。この例では自分しか使用しないのでセキュリ
ティはあまり重視していませんが、必要であれば smbmount に対話形式
でパスワードを渡す形に変更した方がいいでしょう。

なお、私用マシンということもあり、トラブっても自力で対処してしま
うので例外処理が非常にいい加減です。これをそのまま使用して問題が
起こっても私は一切の責任を負いませんのでご容赦を。


#!/bin/sh
# ~/bin/mnt_nas.sh - mount / umount NAS
#
if [ -f "$HOME/.nasrc" ]; then
   source $HOME/.nasrc
else
   echo "Not exist ~/.nasrc."
   exit 1
fi

if [ "$1" = "umount" ]; then
   $SUDO umount /home/$SMBUSER/lib/smbfs
   exit $?
fi

if mount | grep "/home/$SMBUSER/lib/smbfs" > /dev/null
then
   echo "NAS ($NASNAME:$NASADDR) is already mounted."
   exit 1
fi

$SUDO smbmount //$NASNAME/$SHARENAME /home/$SMBUSER/lib/smbfs \
   -o username=$SMBUSER,password=$SMBPASSWD,uid=$SMBUID,gid=$SMBGID,sockopt=$SOCKOPT

exit $?

# ~/.nasrc
# sudo
SUDO=/usr/bin/sudo
SUDOPASSWD=

# nas name & address
NASNAME=<NetBIOS name of NAS>
NASADDR=<IP address of NAS>

# smb parameter
SHARENAME=$USER
SMBUSER=$USER
SMBPASSWD=<password of SMB>
SMBUID=$UID
SMBGID=$GID
SOCKOPT="TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192"

-- 
SAWAMI Hiroaki (沢味 広明)
hiro-s@xxxxxxxxxxxxxx
hiro@xxxxxxxxxxxxx