Sambaでファイルサーバーを構築しよう基礎から理解するLinuxサーバー[Cent OS 7.0編](8)

本連載は、Linuxサーバーに初めて触れる人、基本から学習したい人に向けて、「CentOS 7」をベースにLinuxサーバーの基礎を解説していきます。今回は、Sambaを使ってファイルサーバーを構築する方法を解説します。

» 2017年03月27日 05時00分 公開
[中島能和]

連載目次

たった2日でわかる Linuxサーバー Cent OS 7.0対応

書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『たった2日でわかる Linuxサーバー Cent OS 7.0対応(2015年2月6日発行)』からの抜粋です。

ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。

※編集部注:前回記事「Sambaの基本を知っておこう」はこちら

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ユーザーでこのファイルを開いてください。

/etc/samba/smb.confファイルを編集する

 この設定ファイルの書式は次の通りです。httpd.confと同じですね。ただし、行頭の「;」もコメントになりますから注意してください。

設定項目名 = 値

 変更および追記する箇所は次の通りです。ネットワークの部分は、みなさんのネットワークを確認して書き換えてください。

/etc/samba/smb.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の末尾に追加します。これが共有の設定です。

/etc/samba/smb.confに追記
[Public]
  comment = Sample Share
  path = /home/samba
  public = yes
  writable = yes
  guest ok = yes
  guest only = yes

 ファイルを保存したら、構文チェックを実施しておきましょう。Sambaの場合は、testparmというコマンドです。

testparmコマンドで構文チェックする

 いったん上記の表示が出て止まります。[Enter]キーを押すと、設定の内容が表示されて終了します。

 「Loaded services file OK.」と表示されていればいいのですが、エラーっぽいものが表示されていれば、確認をしてください。例えば、設定項目名をスペルミスすると、次のようなエラーが表示されます。

testparmコマンドでスペルミスを発見

 3行目に「Unknown parameter encountered(不明なパラメータに遭遇)」と表示され、スペルミスした「workgrpp」が表示されています。ここを修正すればよいわけです

参考情報

smb.confをエディタで開き、表示されたスペルミスで検索をかけると修正場所が見つかります。

Sambaを起動しよう

 確認が終わったら、Sambaを起動しましょう。smbサービスとnmbサービスの両方を起動します。

Sambaを起動する

 ちゃんと動作しているか確認しましょう。

Sambaの動作を確認する

 システム起動時にSambaも起動したい場合は、次のコマンドを実行して、自動起動を有効にしてください。

Sambaの自動起動を有効にする

ONEPOINT

 smb.confの設定を書き換えた場合はSambaの再起動もしくは設定の再読み込みが必要ですが、共有の設定のみ変更・追加した場合はその必要がありません。

Windowsからアクセスしよう

 それでは、Windowsコンピューターからアクセスしましょう。Windowsのフォルダにある「ネットワーク」を見ると、その中に「CENTOS7」というアイコンが見えるはずですので、それをダブルクリックします。

参考情報

ここで表示される名前は、smb.conf のnetbiosnameで指定した名前です。

ネットワーク上のCENTOS7アイコン

 しばらく待ってもアイコンが表示されない場合は、フォルダのアドレス欄に「\\サーバーのIPアドレス\Public」と入力してください。共有ディレクトリを作成したときにコピーしたファイル(hosts)が見えていれば成功です。

共有Public

 ファイルをドラッグ&ドロップして、アップロードしたりダウンロードしたりしてみてください。

ONEPOINT

 「\\IPアドレス\共有名」でネットワーク上の共有にアクセスできます。

ユーザーのホームディレクトリを公開しよう

 Sambaでは、ユーザーごとのホームディレクトリを共有にする機能も持っていて、標準で有効になっています。ただし、誰でもホームディレクトリにアクセスできてしまうと困りますから、ユーザー名とパスワードを入力しなければアクセスすることができません。その際、Linuxのユーザーとは別にSamba用のユーザーを作成し、パスワードを設定します。

 Samba用のユーザーはpdbeditコマンドで作成します。studentという名前のSambaユーザーを作成してみましょう。

参考情報

後でパスワードを変更するには、smbpasswdコマンドを使います。

Sambaユーザーstudentを作成する

 -aはSambaユーザーを追加するオプションです。

 ちなみに、Sambaユーザーを作成するには、あらかじめ同じ名前のLinuxユーザーを作成しておく必要があります。Linuxのstudentユーザーはすでに存在しているので、すぐにSambaユーザーを作成できたのですね。

ONEPOINT

 LinuxのユーザーとSambaユーザーは別々に管理されていますが、LinuxユーザーがないとSambaユーザーは作成できません。

 それでは、Windowsのエクスプローラーなどで、アドレス欄に「\\仮想マシンのIPアドレス\student」と入力してください。仮想マシンのIPアドレスが192.168.11.5であれば「\\192.168.11.5\student」です。

Windowsのエクスプローラーからstudentのホームディレクトリにアクセスする

 すると、認証ウィンドウが出てくるので、ユーザー名「student」とパスワード(pdbeditコマンドで設定したパスワード)を入力します。

認証ウィンドウ

 問題がなければ、ホームディレクトリ(/home/student)の内容が表示されるはずです。

ホームディレクトリにアクセスできた

 うまく接続できない場合は、いったんエクスプローラーのウィンドウを閉じてから、もう一度試してみてください。

まとめ

  • Sambaの設定ファイルは/etc/samba/smb.confです。testparmコマンドで構文チェックできます
  • Sambaのサービスはsmb.serviceとnmb.serviceの2つです
  • Samba用のユーザーはpdbeditコマンドで作成します。あらかじめ同じ名前のLinuxユーザーが必要です

たった2日でわかる Linuxサーバー Cent OS 7.0対応

たった2日でわかる Linuxサーバー Cent OS 7.0対応

中島能和著
秀和システム 2500円(税別)
Linuxサーバーの学習をしたいがマシンは1台しかない……。覚えることが多すぎる……。あなたは、そんな理由でLinuxサーバーの学習をあきらめていませんか? 本書は、WindowsやMac上で動くLinuxを使って、サーバー構築のノウハウを解説します。初心者を対象としているので、あれもこれもと欲張ってたくさんの説明をするのではなく、まずは2日間で基礎部分だけをしっかり解説します。サーバ構築の基本スキルが身につきます。

注文ページへ

Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

Linux �� OSS 險倅コ九Λ繝ウ繧ュ繝ウ繧ー

譛ャ譌・譛磯俣

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。