Takahiro Today

なんとなくね、ログってみるさね

CentOS IT

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

投稿日:2014年11月05日 更新日:

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

現状

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

  • クライアント: Windows8、Windows7、Windows Vista、Windows XP
  • サーバ: CentOS 6.6
  • Samba: Samba 3.6.23-12.el6

問題

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

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

Sambaの設定

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

  • ユーザー固有の専用ディレクトリ
  • ユーザーが所属しているグループディレクトリ
  • 社員全員がアクセスできるディレクトリ

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

  • admin 管理者グループ【/etc/samba/admin.conf】
  • group1 グループ1【/etc/samba/group1.conf】
  • group2 グループ2【/etc/samba/group2.conf】
  • group3 グループ3【/etc/samba/group3.conf】

/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の購入をオススメしていて、基本的にはそういった会社様の仕事は受けないスタンスなんだけど・・・対応しちゃったわけね。
まぁ費用的に移行ができない会社もあるわけで、でも基本的にはそういった会社の対応はしたくないわけで・・・。

-CentOS, IT
-, ,

執筆者:

関連記事

Raspberry Pi で赤外線送受信

赤外線学習リモコンのサイトと日経LINUXを参考にさせていただき、Raspberry Piで家電の制御をテストしてみた。 本当にやりたかったのは【部屋に入ったときに部屋の明かりがつく】だ。 基本的には …

Raspberry Pi の監視カメラのセンサーにスイッチをつける

以前設置した『Raspberry Pi で監視カメラ』の、PIRセンサー機能オンオフが面倒くさいから、スイッチをつけてみた。 現在は、席を外す前にシェルでつないでPIRセンサーをオンにして、席に戻った …

Raspberry PiとPIRセンサーで監視カメラ

検索すれば本当にたくさん情報を引き出せるけど、とりあえず記録っとく。 やりたいことは以下のとおり。 ①10秒毎にカメラで画像保存 ②PIRセンサーで動きがあったらメールで通知 本来なら②で撮影も兼ねれ …

ArduinoとTGS2450で簡単な匂いセンサー

匂いセンサーって作ってみたかった。 簡単なのでも良くて、とにかく計測してみたかったのだ。 「TGS2450はデリケートですぐ壊れる」みたいな内容を見た気がしたので、なんか腰が重かったけど、とにかくやっ …

通常利用のPCをWindowsからUbuntuへ

Windowsのアップデートが遅くて、アップデートしてるのかフリーズしてるのかわからない状態が続いて、イライラしたわけね。 最近だとWindowsに期待ができなくなっていたし、Linuxサーバを仕事で …