第6章 ファイル共有サービスの設定

  最近では、クラウドの出現で、ファイルの共有はずいぶんと手軽になってきました。
  くわえて、複数のPC間でファイルの交換ができれば便利ですね。
  そこで登場するのがこの章で取り扱うsambaというソフトです。
  ただWindows10になって、今まで機能していたものが突然使えなくなってしまったとしうことがありました。
  そこらへんの事情も考慮して触れていきます。

第1節 SAMBAのインストールと基本設定

  ここでは、SAMBAのインストールと基本的な設定を/etc/samba/smb.confというファイルを編集して行います。
  その前にWindowsPCを開いて、smb.confの設定項目の一つである「ワークグループ名」を確認します。
(1)sambaのインストール

①「dnf -y install samba samba-client」と入力。インストールします。

②「smbstatus -b」と入力。とsambaのバージョンを確認します。

(2)ワークグループ名の確認

①「PC」アイコンを右クリックし、プロパティを開く。

②わたしのPCでは、ワークグループ名は「HOMEGROUP」にしてあります。デフォルトでは、違う名前になっていると思います。

③このままでもさしつかえないでずが、変更したかったら、右側の「設定の変更」をクリック。

④この画面で「変更」をクリック。

⑤ワークグループ名を再入力します。

★変更するにしても、そのままにしてもワークグループ名は、すべてのマシンで統一していなくはファイル交換が成り立ちません。

(3)SAMBAの基本設定

①インストールされたばかりの「/etc/samba/smb.conf」」

 See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
        workgroup = SAMBA→どんな名前でもよいが、Windowsパソコンと同じにする。
        security = user
        →バージョン2.0以降で標準設定となった「user」パラメータ。共有ディレクトリへアクセスする際にユーザー名とパスワードを自動送信するモード
		security = share:ユーザー名がSambaに渡されないモード
		security = server:「user」パラメータと同様ユーザー名とパスワードを送信するが、その承認を他のサーバがする。
        passdb backend = tdbsam→Sambaのパスワードデータベースの形式の一つ

		↓以下の項目はプリンター共有のための設定なので、今はふれません。
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw

[homes]
        comment = Home Directories→共有ディレクトリについての説明文
        valid users = %S, %D%w%S→共有ディレクトリについての説明文
        browseable = No→共有ディレクトリについての表示をしない。
        read only = No→更新可能である
        inherit acls = Yes→共有ディレクトリの下位階層までのアクセスの許可。

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600→ファイルを新規作成した際のパーミッションのあり方
        browseable = No

[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = root
        create mask = 0664
        directory mask = 0775→ディレクトリを新規作成した際のパーミッションのあり方

★パスワードの格納するデーターベースについては、を参照してください。

②これをベースに書き換えた例

[global]
	workgroup = HOMEGROUP
	security = user
	local master = yes
	preferred master = yes
	passdb backend = tdbsam
	server string = webserver
	printing = cups
	printcap name = cups
	load printers = yes
	cups options = raw
	hosts allow = 192.168.0.
	unix extensions = no
	browseable = yes
	domain master = yes
[homes]
	comment = Home Directories
	valid users = %S, %D%w%S
	browseable = Yes
	read only = No
	inherit acls = Yes

[printers]
	comment = All Printers
	path = /var/tmp
	printable = Yes
	create mask = 0600
	browseable = No

[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	write list = root
	create mask = 0664
	directory mask = 0775

③「testparm」と入力し、設定ファイルの文法ミスの可否を調べる。
このままエンド・キーを押してください。

④文法的なミスはないようです。

(4)アクセスするユーザーの登録

★pdbeditを使用してsambaへアクセスできるユーザを追加します。

①ユーザー名はそのまま、パスワードはログインパスワードと異なる方がよいでしょう。

②暗号化したパスワードが作成された。

第2節 Windowsからのアクセス

①「systemctl start smb.service」、「systemctl start nmb.service」と入力し、SDAMBAのサービスを開始。

②「systemctl enable smb.service」、「systemctl enable nmb.service」

③「firewall-cmd --permanent --add-service=samba --zone=FedoraWorkstation」と入力。続けて「firewall-cmd --reload」と入力。

④Windowsマシーンからアクセスしてみました。ネットワークのアイコンをクリックしました。
ところがサーバー(Linux)のホスト名が表示されません。
そこでアドレスバーに「\\サーバーのIPアドレス」この場合「\\192.168.0.8」と入力して、クリックしてみました。

⑤ここで認証の画面が開きました。ここて先ほど登録したパスワードを入力しました。なかなか認識しなかったみたいで、何度が入力を繰り返しました、

⑥やっとサーバー側のディレクトリが開き、

⑦さらにディレクトリを開くと、下の階層のディレクトリが表示されました。

⑧他のWindowsマシーンから同じようにネットワークアイコンを開くと、こちらではサーバーのアイコンが最初から見えました。

⑨認証画面は同じです。「資格情報に記憶する」にチェックを入れ、「OK」ボタンを押す。

⑩こちらもスムースにディレクトリが表示されました。

  ふたつのWindowsマシーンからのアクセスが、一つはホストが表示され、もう一つはアドレスバーにIPアドレスを入力しないと表示されませんでした。
  いろいろsmb.confを書き加えたり、Windows側の設定をかえたりしました。しかし結果はかわりませんでした。
  たとえば、「コントロールパネル」→「プログラム」→「プログラムと機能」→「Windowsの機能の有効化と無効化」とたどり、「SMB 1.0/CIFS File sharing Support」にチェックを入れて有効化したりしました。
  課題が残りすっきりしませんが、作業を先に進めたいと思います。

「SMB 1.0/CIFS File sharing Support」の有効化

第3節 複数ユーザーがアクセスできるディレクトリの作成

①「mkdir /usr/local/public」と入力、「/usr/local」の下に新たに「public」というディレクトリを作ります。

②「chmod -R 777 /usr/local/public」入力する。chmodはファイルやディレクトリにパーミッションを与えるコマンドです。「R」は大文字。「public」の階層下のファイルやディレクトリすべてを含むというオプションです。
777とうパーミッションは、すべての人に読み・書き・命令実行ができるようにということです。

③「vi /etc/samba/smb.conf」と入力、再度smb.confを編集します。

④「i」とタイプし、入力モードにしてから、この文を最後尾に追加するので選択してコピーします。

[public]
	path =/usr/local/public
	public = yes
	create mask =0777
	directory mask = 0777
	writable=yes
	browseable = yes

⑤コマンドプロンプト上で右クリックすると、このようなウインドウが表示されるので「OK」ボタンを押します。

⑥エスケープキー(Esc)を押し、さらに「:wq」と入力して保存する。

⑦更新を反映させるため、sambaを再起動します。

⑧Windowsからアクセスすると、「public」というディレクトリが表示されました。

⑨「public」ディレクトリを右クリックで選択し、「ネットワークドライブの割り当て」を選ぶ。

⑩このディレクトリに対してはファイルの読み書きはもちろん、ファイルやディレクトリの新規作成・削除などできます。

  sambaには、プリンタの共有の機能もありますが、無線仕様のプリンタが普及しているので、あえて省きました。
  またMacマシーンからのLinuxサーバーへのアクセスには、Nettalkというサービスがありますが、我が家にはMacがないので、触れることができませんでした。
  このsambaについての章を区切りとして、「リナックス事始」を記述を停止します。公開は続けますが……。
  …………と一応書いたのですが、課題を残したままこの、シリーズを終わるのも心残りがあるのて、8章で、無線仕様のプリンターについて、9章で、Nettalkについてふれていきます。