LinuxはそのままではWindowsのファイルサーバになることはできません。WinodowsとLinuxの間でデータのやりとりを行うためには、通信を行うためのソフトウエアを導入する必要があります。一般的には、LINUXサーバ側にFTPサーバをインストールしてWINDOWSのクライアントパソコン側にはFTPクライアントソフトをインストールし、ファイルのやりとりをするのが普通ですが、その他にSAMBAというソフトを導入することによりファイル交換を行う方法もあります。
sambaにはクライアントパソコンにに対して、Linuxサーバであるにもかかわらず、あたかもwindowsマシンのような振る舞いをさせるためのソフトウエアです。このソフトウエアを導入するだけで、LinuxサーバにあるファイルをWindowsのパソコンから共有することができるようになります。
(1) 前回のおさらい
前回、linuxでサーバを立ち上げたときにはうまくいかなかったsambaによるwindowsマシンとのファイル共用ですが、やっとうまくいきました。まずは、前回のおさらいから始めます。単に前回は本に付いてきたRedhat Linux 7.3からインストールしただけなのですが、途中のパッケージを選択する画面でWindowsファイルサーバを指定するだけで自動的にSambaがインストールされました。Linuxでは普通はNFSという方法でファイル共有が行われますが、wINDOWSクライアントがたくさんある環境ではSambaを導入しておくと便利です。しかし、RedhatLinux7.3からインストールしたSambaはWebminを使ってサーバ名を付けたりWorkgroup名を付けたりユーザの設定をしたり逆にいらないユーザを削除したりして構成をどういじっても、Windowsクライアントのエクスプローラからサーバが存在することは見るのですが、クリックすると「アクセスすることができません」というエラーになってしまうのです。
| らぶらぶLinux 4進化する混在環境:Windowsとの共存・連携ガイド | Fedora(フェドーラ) Core 2(ツー) | Red Hat Linux | 〈標準〉Linuxパーフェクトリファレンス | Windowsの共有機能を極める! | Red Hat Linux Internet Server |
(2) 対策
このままでは仕方がないので、日本のSambaのホームページから一番新しいSambaのバージョン(Samba version 2.2410 )をダウンロードしてきて再インストールし、前回と全く同じようにWebminから設定してみたところ、何事も無かったようにWindowsパソコンからファイルを共有できるようになりました。何がいったい悪かったのかどうしても判らないので少々気持ちが悪いのですが、結果オーライと言うことで便利に使っています。
下がWebminのServers画面です。ここで赤丸を付けたところがSambaの設定をするところです。

PR>汎用JPドメイン(.JP)取得・登録料が今なら無料!!
次にSambaの設定画面を開いてみたところです。SWATもwebminから直接使うことができ便利です。
| Red Hat Linuxコマンドポケットリファレンス | Red Hat Linux実践技大全 | Red Hat Linux survival guide | Official Red Hat Linux administrator’s g | Red Hat Linux networking and system admi |
(3) Sambaのクライアント設定 (2003.2.11追記)
Sambaには自分(Linuxサーバ)が所有するディレクトリをWindowsクライアントパソコンに共有させる機能のほか、逆にWindowsパソコンの共有フォルダへアクセスする機能が付いています。この機能には大きく分けて以下の2つの機能があります
- WindowsサーバーをFTPサーバのように使用できる機能 → smbclient
- Windowsサーバの共有をLinuxファイルシステムにマウントする機能 → smbmount
a.smbclient
sambaclientをインストールします。
- # mount /mnt/cdrom
- # rpm -ihv /mnt/cdrom/RedHat/RPMS/samba-client-2.2.5-10-i386.rpm
- # umount /mnt/cdrom
Windows側でファイル共用の設定をします。
スタート→設定→コントロールパネル→ネットワーク

上記の画面でMicrosoftネットワーク用ファイルとプリンタ共有が組み込まれていることを確認します。無ければインストールを行ってください。
次にファイルエクスプローラで共有を行いたいフォルダで右クリックをします。そこで共有とセキュリティを選択すると下記の画面になります。

上記の画面で「ネットワーク上での共有とセキュリティ」を設定すると、該当のフォルダーが外部のパソコンと共有できるようになります。
Windowsの設定が終わったら、またLinux上の作業に戻ります。Windowsパソコンのipアドレスを仮に192.168.0.011とすると
- # /usr/bin/smbclient '\\192.168.0.011\MY VIDEOS'
このあとにパスワードの入力が求められますが、共有フォルダがフルコントロールになっていれば何も入力せずに次に進みます。プロンプトが Smb:\> となっていると思いますが、これが共有ディレクトリとなります。共有を終わらせるときはexitと打ちます。
PR>PC-サクセス
(4) 使い勝手
Windowsのエクスプローラから、まるでWindowsパソコンと同じようにファイルが共有できることは非常に便利です。webのデータですら、Windowsパソコンでホームページビルダーを使って作成して、できたファイルをエクスプローラでコピーするだけですみます。こんなにすごいソフトがフリーで出回っているというのはすごいことだと思います。手放せません。
(5) いまだに判らないこと
WindowsパソコンからLinuxパソコンの共有ディレクトリにアクセスすると、Windows側のパソコンを立ち上げて初回は必ずユーザIDとパスワードを聞かれてしまいます。本を読んでいると、WINDOWS側のログオンをするときのユーザ名とパスワードと、Linux側のユーザ名とパスワードをそろえていれば聞かれることは無いようなのですが、未だにうまく行っていません。もう少し、勉強してみます。
→(2003.2.2追記)
何が良かったのかは判らないのですが、いつか気が付いてみると、WINDOWSパソコンのログインIDとパスワード、そしてLINUXのログインIDとパスワードをそろえておいたところ、いつの間にか認証無しでつながるようになり、問題は解消しました。不思議です?
| WebminによるLinux Server構築 | Webminで作るLinuxサーバ | Webmin大全 | イントラネット構築法 | Vine Linux 2.5とWebminで作るコマンド不要の自宅サーバー | Linuxで作る自宅サーバ |
(6) SWATの導入 (2003.2.8追記)
SambaにはSWAT(Samba Web Administration Tool)という、クライアントパソコンのwebブラウザを介して、sambaの起動、停止、設定等を行うことが出来るプログラムがあります。OSをRedhat Linux 8.0に載せ替えたのを契機に、SWATを導入してみました。RedhatLinuxのインストール用CDの中のCD3にsamba−swatが入っています。
- # mount /mnt/cdrom
- # rpm -ihv /mnt/cdrom/RedHat/RPMS/samba-swat-2.2.5-10.i386.rpm
- # umount /mnt/cdrom
swatを利用するために設定ファイルを編集します。
- # vi /etc/xinet.d/swat
エディタで、only_fromの行をコメントアウトし、disableの行をyesからnoに編集します。
- # /etc/rc.d/init.d/xinetd restart
上記コマンドで設定ファイルが有効になります。これでクライアント側からSWATが使用(webブラウザで例えばそのパソコンが192.168.0.3であれば、http://192.168.0.3:901/にアクセス)できるようになっていると思います。もしアクセスできない場合は、Linuxのファイアウオールの設定で、ポート番号901が遮断されていると思われますので確認してみてください。
![]() Sambaファイルサービス管理リファレンス―Version3.0対応 |
![]() Linux+SambaでWindowsファイルサーバーを構築する―無料で作るWindowsファイルサーバー |
![]() SambaによるWindowsネットワーク構築ガイド |
![]() SAMBAでGO×2!―最新UNIX&Win&Mac接続ガイド |
(7)FedoraCore導入後の不具合と対策 (2004.5.29追記)
Redhat Linuxのバージョン8を使っていたのですが、2世代も古いバージョンになってしまったため、FTPで最新のFedora Core 1をダウンロードしてきてLinuxサーバーにアップデートインストールしました。このときの状況は、「Fedora Core 1のページ」に整理しています。インストールした時点では全体がうまく動いていると思っていたのですが、その後、SAMBAでのファイル共有がうまくできないことに気がつきました。具体的には「アクセス許可が無い可能性があります」というメッセージが出て共有ディレクトリにアクセスができないのです。そこで、webminやswatを活用して、色々な設定を見直してみたのですが、どうしても直すことができませんでした。そこでwebminやswatを活用しての設定変更は諦めて、/etc/samba/smb.conf を直接修正することにしました。
具体的にいじったところは下記の通りです。
| [global] unix password sync = yes workgroup = hogehoge ← ワークグループ名が合っていることを確認 pam password change = yes security = user ← 設定が無かったので追加 encrypt passwords = yes ← 設定が無かったので追加 default = hogehoge obey pam restrictions = yes load printers = yes printing = lprng max log size = 0 writeable = yes printcap name = /etc/printcap smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = no os level = 20 log file = /var/log/samba/%m.log passwd program = /usr/bin/passwd %u passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully* server string = Samba Server ・・・・・・ |
最初、セキュリティをより強化しようと思い「hosts allow = xxx.xxx.xxx.xxx/xxx.xxx.xxx.xxx」を追加してみたのですが、見事にこれは失敗し、更に共有ディレクトリへのアクセスを不安定にしたばかりではなく、ワークグループへのアクセスすら不安定にしてしまいました。このhosts allowの行を削除し、上記の変更を有効(sambaサーバーの再起動)にしたところ、うまく共有ディレクトリにアクセスすることができるようになりました。これでひとまず安心です。
| らぶらぶLinux 4進化する混在環境:Windowsとの共存・連携ガイド | Fedora(フェドーラ) Core 2(ツー) | Red Hat Linux | 〈標準〉Linuxパーフェクトリファレンス | Windowsの共有機能を極める! | Red Hat Linux Internet Server |
![]()
アンケート
![]()
| 累計 |
|
人 | 本日 |