サイトアイコン TAKAHIRO today

Windows XP で Samba にアクセス出来なくなった

僕らが作業させていただいたものじゃないが、お付き合いのあるお客さんから「社内のSambaサーバのアクセスできなくなった」と相談を受けた。
プライベートでも可愛がってもらっているから、ちょっと拝見させていただくことに・・・。

現状

Sambaのファイルサーバに共有ディレクトリを作成していて、クライアントはWindows。
基本的にネットドライブとしてSambaサーバを設定していて、端末によってはショートカットをデスクトップに設置している。
簡単に共有サーバにアクセスできるような状態を作っているってことかな。

問題

Windows XPのみ、ネットワークドライブもしくはショートカットを設定してクライアントを再起動すると、接続できなくなってしまう状態。
アイコンをクリックしても、IDやパスワードを入力するダイアログも開かず、「接続できないよ~」とエラ-ダイアログがでてくるだけ。

ただ、エクスプローラーのアドレス部に、直接共有ディレクトリへのPATHを入力するとアクセスできるようになる。

Sambaの設定

Sambaサーバは以下のルールとなっていた。
ユーザーは以下のディレクトリにアクセスできるようだ。

設定ファイルはグループ名で作られていた。
例えばこんな感じ。

/etc/samba/admin.conf

[global]
include = /etc/samba/group1.conf
include = /etc/samba/group2.conf
include = /etc/samba/group3.conf
include = /etc/samba/group4.conf
include = /etc/samba/group5.conf

/etc/samba/group1.conf

[group1]
comment = Group1 Directory
path = /var/samba/group1/
read only = no
create mode = 0666
directory mode = 0777
writable = yes

設定ファイルがいけないのか

基本的に問題なさそうだったのだが、設定ファイルを一つにまとめてあげると今回の問題がひとまず解決した。
グループのアクセス制限は以下みたいに追加してあげることで問題ないかな。

/etc/samba/smb.conf

[group1]
comment = Group1 Directory
path = /var/samba/group1/
read only = no
create mode = 0666
directory mode = 0777
writable = yes
valid users = @group1 @admin

WindowsのIDとSambaのIDが違う場合

再起動して共有にアクセスしようとすると、IDとパスワードを入力する必要がある。
これはまぁ仕方がないことだけど、これも簡略化したいとのこと。
どちらにしろ Windows XP Home Edition であれば入力する必要もあるし、対応を考えてみた。

マイクロソフトのサイトに「Windows XP でネットワーク ドライブの接続および切断を行う方法」というページがあった。ここを参考に以下バッチファイル作成し、スターツアップフォルダに置くことで解決できた。
ちなみに「user1」というユーザーのパスワードは「userpw」で、グループは「group1」に属している体で。
起動後時間をおかないとうまく接続できないようなので「再起動する度にネットワークドライブにログインなんて… 」のpingのアイデアを利用させてもらった。

@echo off
ping localhost -n 30 > nul
net use z: /y \\xxx.xxx.xxx.xxx\group1 userpw /user:user1

これで問題なく接続ができた。
そもそも未だにWindows XPをメインと使っている会社様には新しいPCの購入をオススメしていて、基本的にはそういった会社様の仕事は受けないスタンスなんだけど・・・対応しちゃったわけね。
まぁ費用的に移行ができない会社もあるわけで、でも基本的にはそういった会社の対応はしたくないわけで・・・。

モバイルバージョンを終了