xserver
Home クッキー及びWeb ビーコンについて



Sambaクライアントからアクセスする

Samba3.0 の概要

smbclient 、smbmount コマンドを使って、SambaクライアントからSambaサーバーにアクセスする方法について解説していきます。




■sambaへのアクセス状況の確認 [ smbclient ]

 まず、Windows 上からSambaサーバーのディレクトリにアクセスした後、smbstatusコマンドを実行してみてください。現在、誰がどの共有ディレクトリにアクセスしているのかを閲覧することができます。



# /usr/local/samba/bin/smbstatus -d

Samba version 3.0.1
PID Username Group Machine
-------------------------------------------------------
3100 kororo kororo koro (172.16.50.4)
3103 kororo kororo koro (172.16.50.4)

Service pid machine Connected at
-------------------------------------------------------
source 3103 koro Sat Apr 17 20:41:46 2004
↑↑ユーザーkororoがsourceディレクトリにアクセスしている
IPC$ 3100 koro Sat Apr 17 20:16:21 2004
IPC$ 3103 koro Sat Apr 17 20:20:17 2004
No locked files

◎smbstatus オプション
 -b 簡易表示
 -d 詳細表示
 -u 特定のユーザーの情報を表示する
 -L ロックされたファイルの一覧を表示する



■LinuxクライアントからSambaサーバーへアクセスする

 LinuxクライアントからSambaサーバーへアクセスするには、クライアント自身にsamba-clientパッケージがインストールされている必要があります。インストールされていなければ、インストールしておいてください。

$ rpm -q samba-client
$ rpm -ivh samba-client

 まず、アクセス可能なディレクトリを表示してみましょう。書式は、「smbclient -L Sambaサーバー名」です。Sambaサーバーに限らず、Windows 上のコンピュータ名も表示されます。

$ smbclient -L ns1
added interface ip=172.16.50.6 bcast=172.16.50.31 nmask=255.255.255.224
Password:********** //パスワードの入力
Domain=[KORORO.JP] OS=[Unix] Server=[Samba 3.0.1]

        Sharename      Type      Comment
        ---------      ----      -------
        public         Disk      Public Stuff
        source         Disk      Source Directory
        IPC$           IPC       IPC Service (Samba Server)
        ADMIN$         IPC       IPC Service (Samba Server)
        kororo         Disk      Home Directories

        Server               Comment
        ---------            -------
        LINUX                Samba Server

        Workgroup            Master
        ---------            -------
        KORORO               KORO
        KORORO.JP            LINUX
        WORKGROUP            WOODY

 それでは実際に、smbclient コマンドを使ってSambaサーバーにアクセスしてみます。書式は、「smbclient //Sambaサーバー名/共有資源名」です。パスワード入力後、smb: \> という対話形式のプロンプトが表示されます。使用できるコマンドはFTPコマンドとほぼ同様なので、ここでは説明を割愛させていただきます。FTPコマンドを日常的に使用している方ならファイルのアップロード/ダウンロードが容易でしょう。

$ smbclient //ns1/homes
added interface ip=172.16.50.6 bcast=172.16.50.31 nmask=255.255.255.224
Password: # パスワードの入力
Domain=[KORORO.JP] OS=[Unix] Server=[Samba 3.0.1]
smb: \> ls
. D 0 Sat Apr 17 20:20:25 2004
.. D 0 Sat Apr 17 15:05:13 2004
.bash_profile H 214 Wed Mar 31 02:42:40 2004
Maildir D 0 Wed Mar 31 00:34:28 2004
public_html D 0 Tue Apr 13 00:49:55 2004
kororo D 0 Sat Apr 17 14:43:13 2004

39037 blocks of size 262144. 36679 blocks available
smb: \> pwd //Sambaサーバー上のディレクトリ位置の表示
Current directory is \\ns1\homes\
smb: \> lcd //ローカルマシン上のディレクトリ位置の表示
the local directory is now /home/kororo
smb: \> cd public_html/cinema
smb: \public_html\cinema\> ls
  .                       D        0  Wed Mar 31 02:29:19 2004
  ..                      D        0  Tue Apr 13 00:49:55 2004
  index.html              568  Wed Mar 31 02:29:10 2004
  bbs                     D        0  Wed Mar 31 02:29:10 2004
  cinema_list             D        0  Wed Mar 31 02:29:10 2004
  diary                   D        0  Wed Mar 31 02:29:11 2004
  gallery                 D        0  Wed Mar 31 02:29:12 2004
  horse                   D        0  Wed Mar 31 02:29:14 2004

                39037 blocks of size 262144. 36679 blocks available
smb: \public_html\cinema\> get cinema_index.html
getting file \public_html\cinema\cinema_index.html of size 568 as
 cinema_index.html (1.2 kb/s) (average 1.2 kb/s)
smb: \public_html\cinema\> exit

■Windows上の共有ディレクトリにLinuxクライアントからアクセスする

 今度は、LinuxクライアントからWindows 上の共有フォルダにアクセスしてみます。LinuxクライアントからWindows 上の共有フォルダにアクセスするためには、smbmount コマンドを使用して、Windows上の共有フォルダをマウントします。なお、smbclient 実行時に、-o オプションをつけて、Windows 上のユーザー名を指定しておきます。また、codepage=cp932iocharset=euc-jpを付ける事で日本語ファイル名も正常に表示されるようになります。パスワードを聞かれるので同じくWindows上のパスワードを入力します。/mnt/win がマウントされているのを確認したら、カレントディレクトリを移動して中身を表示させてみてみてください。

# mkdir /mnt/win //マウントポイントの作成
# smbmount //koro/public_html /mnt/win -o username=administrator,codepage=cp932,iocharset=euc-jp
Password: //Windows上のパスワードを入力
# df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/hda10            494M   99M  371M  21% /
/dev/hda6              76M  9.2M   63M  13% /boot
/dev/hda9            1012M  462M  500M  49% /home
none                  251M     0  251M   0% /dev/shm
/dev/hda7             2.6G  1.8G  754M  71% /usr
/dev/hda8            1012M  255M  706M  27% /var
//koro/public_html    4.1G  420M  3.7G  11% /mnt/win
# cd /mnt/win //マウントポイントに移動
# ls
-rwxr-xr-x 1 root root 3.1M Feb 14 12:18 unh_iscsi-1.5-02.i386.rpm.80*
-rwxr-xr-x 1 root root 381K Feb 14 12:17 unh-iscsi-1.5.02-tz*
drwxr-xr-x 1 root root 4.0K Jan 18 21:37 まとめ/

 最後に、起動時にも自動的にマウントできるように、/etc/fstab に以下のように記述しておきます。password が正確でないとマウントできないので気をつけてください。fmask は、ファイルに対するパーミッション、dmask はディレクトリに対するパーミッションを設定します。共に、「022」にしておく事で、ファイルは644、ディレクトリは755 のパーミッションで新規ファイル/ディレクトリが作成されるようになります。なお、ファイルシステムは、「smbfs 」になります。

# vi /etc/fstab

/dev/hda1     /mnt/hda1  ext3   noauto 0 0
//koro/share  /mnt/win   smbfs  username=administrator,password=***,rw,
codepage=cp932,iocharset=euc-jp,fmask=0222,dmask=0222 0 0

 設定し終えたら、mount コマンドを実行して正常にマウントできるかどうか確認してください。

# mount /mnt/win


 なお、アンマウントは、通常どおり、umount でも可能ですし、smbumountコマンドを使うこともできます。

# smbumount /mnt/win
もしくは、
# umount /mnt/win


■トラブルシューティング(SambaサーバーからWindows共有を参照できない)

 筆者の環境では、RedHat or FedoraCore標準で付属されているsamba-clientパッケージを使用した場合は、問題なくWindows 上の共有ディレクトリがマウントできたのですが、ソースからインストールしたSambaサーバー自体からWindows を参照しようとすると以下のようなエラーが発生しました。

# smbmount //koro/public_html /mnt/win -o username=administrator,codepage=cp932,iocharset=euc-jp
Password: ******
1265: session setup failed: ERRDOS - 2215
SMB connection failed


 このようなエラーが表示された場合の解決方法は私が知る限りは2つあります。ひとつは、smb.conf の設定で「 encrypt passwords = yes」とすることで、パスワードを暗号化することです。WindowsNT/200系はパスワードが暗号化されていないと拒否られてしまうみたいです。

# vi /etc/samba/smb.conf
encrypt passwords = yes


 もうひとつは、smb.conf の設定で、「workgroup = kororo.jp」と自分のドメインとしているところを、「 workgroup = $OURWINDOWSNTWORKGROUP」のように変数名に変更したところ、あら不思議、普通にマウントできました…。

# vi /etc/samba/smb.conf
workgroup = $OURWINDOWSNTWORKGROUP


/etc/rc.d/init.d/smb restart


 念のため、smbfs モジュールが正常にロードされているか確認しておきます。もし、ロードされていなければ、modprobeコマンドなども実行してみてください。

# lsmod
Module                  Size  Used by    Not tainted
nls_cp932              79868   1  (autoclean)
nls_euc-jp              4852   0  (autoclean)
smbfs                    44464   0
# modprobe smbfs







TOPに戻る

Sponcerd Link


Search
 
Web サイト内
Rental Server

【レンタルサーバのXbit】 低価格・高品質のビジネスクオリティー。300メガ1,050円~30分で サービススタート可能!


容量300MB、月額125円、高性能なサーバが日本最大級のバックボーンに直結。
さくらのレンタルサーバ



当サイトはLinux自宅サーバーの構築を目的としたサイトです。
当サイトに関するご意見、ご要望等は、こちらのメールアドレスよりお願いします。
Beginning | Introduction | Installation | Server |
Security | Tips | Related-Sites
Copyright©2003-2006 KORO All Rights Reserved.
総計:
今日:
昨日: