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

執筆者:

関連記事

モバイルフレンドリーはもうすぐ必須になる

海外SEO情報ブログ でとても重要なことが記載されていることを発見。 テストではなく、ランキング要因としての「スマホ対応」をいよいよ本番環境に導入することになります。 全世界、すべての言語で一斉の導入 …

ubuntu 14.04 LTS にログインできなくなった

【ubuntu 14.04 LTS で EP-802A を使いたい】からUbuntuを利用しているんだけど、ログイン画面でパスワードを入れてもログインできなくなった。 心当たりはある。軽量なデスクトッ …

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

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

Redmine 2.5.2 から 2.6.0 にアップグレード

仕事で使っているRedmineの2.6.0がリリースされたので、現在利用している2.5.2からアップグレードした。 検索すればいろいろでてくるし、基本的な手順は公式に掲載されているけど、自分のメモ的な …

Raspberry Pi で無線LAN

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