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
-, ,

執筆者:

関連記事

DCモーターの動作を覚えた

DCモーターをArduinoで動かしてみる。 を参考に、DCモーターの制御をやってみた。 電源は秋月電子通商で購入したブレッドボード用マイクロBメスUSBコネクタDIP化キットを使った。 よくギターの …

CentOSのファイルサーバが起動しない

事務所にあるファイルサーバの一つが起動しなくなっていた。 仲間から「ファイルが閲覧できないよ~」と指摘を受けて調査したところ、確かにアクセスできない状態だった。 ちなみにファイルサーバは CentOS …

ubuntu 14.04 LTS で EP-802A を使いたい

以前の『通常利用のPC』で、ubuntuを通常業務で利用するには敷居が高いとかなんとか言っていたけど、やっぱり使いたかったのだ。 Windows、起動も終了も遅すぎてイライラしたんだよね〜。開発環境も …

出退勤の仕組みを作ってみた

SONY の RC-S380 を使って出退勤システムを設置した。 まずはNFCを使った単純なタイムカードみたいなもんで、Webのシステムと連動する程度。とりあえず今のところ Raspberry Pi …

Raspberry Pi で無線LAN

電子工作に憧れて、いろいろ参考にしながら遊んでいるわけだけど、LANケーブルがとても邪魔に感じる瞬間ってあるんだよね。 LANケーブルが届かなかったり、LANケーブルの重さで傾いたり台から落ちたり・・ …