本連載は、Linuxサーバーに初めて触れる人、基本から学習したい人に向けて、「CentOS 7」をベースにLinuxサーバーの基礎を解説していきます。今回は、Sambaを使ってファイルサーバーを構築する方法を解説します。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『たった2日でわかる Linuxサーバー Cent OS 7.0対応(2015年2月6日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
※編集部注:前回記事「Sambaの基本を知っておこう」はこちら
それでは、Windowsコンピューターからも利用できる共有フォルダを作ってみましょう。前提となるネットワーク環境と、共有フォルダの仕様は次の通りです。ネットワークの部分は、みなさんの環境で読み替えてください。
項目 | 説明 |
---|---|
ワークグループ | WORKGROUP |
サーバー名 | CENTOS7 |
ネットワーク | 192.168.11.0/24 |
共有フォルダ | /home/samba |
共有名 | Public |
読み取り | 誰でも可能 |
書き込み | 誰でも可能 |
まずは共有フォルダとなるディレクトリを作成します。誰もがアクセスできるよう、アクセス権は777(rwxrwxrwx)としておきます。また、後で確認しやすいよう、適当な(ここでは/etc/hosts)ファイル★をコピーしておきます。
/etc/hostsはホスト名とIPアドレスの対応表となるファイルです。
次に、Sambaの設定を行います。Sambaの設定ファイルは/etc/samba/smb.confです。もちろんrootユーザーしか編集できませんので、rootユーザーでこのファイルを開いてください。
この設定ファイルの書式は次の通りです。httpd.confと同じですね。ただし、行頭の「;」もコメントになりますから注意してください。
設定項目名 = 値
変更および追記する箇所は次の通りです。ネットワークの部分は、みなさんのネットワークを確認して書き換えてください。
行 | 変更前 | 変更後 |
---|---|---|
89 | workgroup = MYGROUP | workgroup = WORKGROUP |
92 | ; netbios name = MYSERVER | netbios name = CENTOS7 |
95 | ; hosts allow = 127. 192.168.12. 192.168.13. | hosts allow = 127. 192.168.11. |
125 | なし | map to guest = Bad User |
さらに、以下の内容をsmb.confの末尾に追加します。これが共有の設定です。
[Public] comment = Sample Share path = /home/samba public = yes writable = yes guest ok = yes guest only = yes
ファイルを保存したら、構文チェックを実施しておきましょう。Sambaの場合は、testparmというコマンドです。
いったん上記の表示が出て止まります。[Enter]キーを押すと、設定の内容が表示されて終了します。
「Loaded services file OK.」と表示されていればいいのですが、エラーっぽいものが表示されていれば、確認をしてください。例えば、設定項目名をスペルミスすると、次のようなエラーが表示されます。
3行目に「Unknown parameter encountered(不明なパラメータに遭遇)」と表示され、スペルミスした「workgrpp」が表示されています。ここを修正すればよいわけです★。
smb.confをエディタで開き、表示されたスペルミスで検索をかけると修正場所が見つかります。
確認が終わったら、Sambaを起動しましょう。smbサービスとnmbサービスの両方を起動します。
ちゃんと動作しているか確認しましょう。
システム起動時にSambaも起動したい場合は、次のコマンドを実行して、自動起動を有効にしてください。
smb.confの設定を書き換えた場合はSambaの再起動もしくは設定の再読み込みが必要ですが、共有の設定のみ変更・追加した場合はその必要がありません。
それでは、Windowsコンピューターからアクセスしましょう。Windowsのフォルダにある「ネットワーク」を見ると、その中に「CENTOS7」というアイコンが見えるはずですので★、それをダブルクリックします。
ここで表示される名前は、smb.conf のnetbiosnameで指定した名前です。
しばらく待ってもアイコンが表示されない場合は、フォルダのアドレス欄に「\\サーバーのIPアドレス\Public」と入力してください。共有ディレクトリを作成したときにコピーしたファイル(hosts)が見えていれば成功です。
ファイルをドラッグ&ドロップして、アップロードしたりダウンロードしたりしてみてください。
「\\IPアドレス\共有名」でネットワーク上の共有にアクセスできます。
Sambaでは、ユーザーごとのホームディレクトリを共有にする機能も持っていて、標準で有効になっています。ただし、誰でもホームディレクトリにアクセスできてしまうと困りますから、ユーザー名とパスワードを入力しなければアクセスすることができません。その際、Linuxのユーザーとは別にSamba用のユーザーを作成し、パスワードを設定します。
Samba用のユーザーはpdbeditコマンドで作成します★。studentという名前のSambaユーザーを作成してみましょう。
後でパスワードを変更するには、smbpasswdコマンドを使います。
-aはSambaユーザーを追加するオプションです。
ちなみに、Sambaユーザーを作成するには、あらかじめ同じ名前のLinuxユーザーを作成しておく必要があります。Linuxのstudentユーザーはすでに存在しているので、すぐにSambaユーザーを作成できたのですね。
LinuxのユーザーとSambaユーザーは別々に管理されていますが、LinuxユーザーがないとSambaユーザーは作成できません。
それでは、Windowsのエクスプローラーなどで、アドレス欄に「\\仮想マシンのIPアドレス\student」と入力してください。仮想マシンのIPアドレスが192.168.11.5であれば「\\192.168.11.5\student」です。
すると、認証ウィンドウが出てくるので、ユーザー名「student」とパスワード(pdbeditコマンドで設定したパスワード)を入力します。
問題がなければ、ホームディレクトリ(/home/student)の内容が表示されるはずです。
うまく接続できない場合は、いったんエクスプローラーのウィンドウを閉じてから、もう一度試してみてください。
Copyright © ITmedia, Inc. All Rights Reserved.
Linux �� OSS 險倅コ九Λ繝ウ繧ュ繝ウ繧ー