samba設定方法

久しぶりの投稿です。
少し解り難い設定項目があったりしていたので、自分なりのメモ程度になろうかと思いますが、sambaの設定について説明します。

環境

もう少しで使われなくなるであろうCentOS 8を対象としていますが、後継のOSでも基本的に同じだと思っています。

CentOS 8.3.2011

メモリとかストレージのサイズとかあまり気にしていません。

インストール

sambaのインストールは至って簡単です。

CentOS 6やCentOS 7の初期ではsamba-swatを使えましたが、現在は廃止されていて使うことが出来ません。
GUIでの設定方法は別の方法があるらしいのですが、あまり推奨しない方が良さそうなので、CUIで全て設定します。

この後の流れ

取り敢えず、インターネットなどに公開されておらず、クローズドな環境下で実装検証を行います。
インストールや設定の最中には、セキュリティ機能が邪魔をして何が原因か解らなくなることがありますよね。
今回は、そんな面倒なことを無視して、取り敢えずインストールして機能の確認が出来た後に、セキュリティ機能を復活させてセキュアな環境に戻してあげることとします。

今後の流れを以下に記します。
1)セキュリティ関連機能の停止
2)sambaの設定
3)動作確認
4)セキュリティ機能の復旧
この流れで作業を進めます。

1)セキュリティ関連機能の停止

sambaで実現することは、サーバ内部の一部ストレージを共有フォルダーとして使えるようにすることです。
つまりネットワーク関係のアクセスを変更しますので、firewallが影響します。
また、ファイルの書き込み時には、SELinuxも影響する可能性があります。
それでは、これらの機能を一時的に停止します。

まず、firewalldを停止させます。

これでネットワークのセキュリティが解除されます。
強引ですが、設定だけだとこれが一番楽なんですよね(^^ゞ

次に、SELinuxも一時的に停止します。

これで準備はOKです。
これらの設定は、OSを再起動すると復活します。
また、この設定をすることで、セキュリティが低下していますので、必ずセキュアなネットワーク空間で作業を行うことをお勧めします。

2)sambaの設定

sambaの設定は、以下の流れになります。

  • /etc/samba/smb.confの編集
  • デーモンの登録(サービスの登録)

ここで、今回は非常に簡単な設定を行います。
ネットワーク上の端末から誰でもID/パスワードなしでアクセス可能な共有NASの様な状態です。

それでは見て行きましょう。

最初に設定ファイルをバックアップしています。
特に必要なければ除外してください。
次にviで開きます。
smb.confの先頭あたりにある[global]セクションを最初に編集します。
下記にサンプルを記します。

今回追加した項目は、以下の項目です。

unix charset = UTF-8
 unix(Linux含む)で使用するエンコードを指定しています。
 デフォルトで設定されているので、特に設定する必要は無い様です。
 設定内容は以下のコマンドで確認することが可能です。
 実際に指定していないデフォルト設定の内容も全て表示されるので、多くの内容が記されています。
testparm -v
testparmコマンドは、編集内容のチェックを行ってくれる機能でもあります。

security = user
map to guest = Bad User

security = user と map to guest = Bad Userの組み合わせで、ログイン認証が不要になります。

log level = 2
log file = /var/log/samba/%m.log
max log size = 1024

 ログ出力の設定になります。

次に、[Share]セクションを追加します。

path
 共有フォルダーとして使用する領域を指定しています。
 対象はシンボリックリンクでも大丈夫でした。
 対象ディレクトリを/Share/Disk1としていますが、後でも先でも良いので作成します。
 パミッションは777にしておく必要があります。

writable
 書き込み許可

その他は適当に。。。

こんな感じで設定したら、デーモンを立ち上げる前に、記述内容のチェックをします。

この後、Enterを入力すると設定内容が表示されます。
この上記に記した内容が表示されていればOKですが、間違っているとその内容が表示されます。

3)動作確認

ここまででsambaの設定は完了しています。
デーモンを起動します。

OS起動時に自動起動設定する場合は以下のコマンドを入力します。

同一ネットワークに接続されているWindows PCなどからアクセスします。

Windowsの場合は、Exploreを開いて、アドレス入力欄に以下を入力します。

\\IPアドレス <==最初の\\は¥を2つです。

無事に接続出来たら、ファイルを追加したり削除して動作を確認してください。

4)セキュリティ機能の復旧

ファイアウォールを復旧します。

次に、ポートを開放します。

ファイアウォールを再読み込みして、設定を反映します。

この後、SELinuxの設定を行うのですが、一旦ここまでとします。
SELinuxの設定が面倒な場合には、Disableに設定しましょう。
設定方法は一旦割愛します。

以下で対象ディレクトリ以下に対し、SELinuxが有効でもSambaでアクセス出来る設定を行います。

と書いたのですが、ダメでした。
auditログから対処します。

※赤斜体文字がコマンドになります(#はコマンドプロンプト)

詳細は端折りますが、setseboolで上記2つの設定を行えば動くということですね(^^ゞ

これで動作確認を行って、きちんと見えました。書き込めました。