あいしんくいっとオススメ商品レビュー

LinuxでSamba環境をサクッと5分で構築する方法

ども。あいしんくいっと(@ithinkitnet)です。

ithinkit

セキュリティ無視してサクッとSamba環境を構築したい!

LinuxからWindowsの領域をマウントする場合はCIFSを使います。
WindowsとLinuxでCIFSを使って簡単にファイル共有する方法

逆にWindowsからLinuxの領域を共有したい場合、Sambaを利用することが多いです。

と言うワケで、LinuxでSambaを構築する手順について書いておきたいと思います。

検証環境
Red Hat Enterprise Linux 8

LinuxでSambaを5分で構築する方法

MEMO
SELINUX、Firewalldは無効化を前提とします

Sambaインストール

Sambaパッケージ導入。今回はrpmでのパッケージインストールとします。

Sambaパッケージインストール
# dnf -y install samba samba-common
dnfでSambaインストール
# dnf -y install samba samba-common
Updating Subscription Management repositories.
メタデータの期限切れの最終確認: 2:21:05 時間前の 2019年10月10日 13時58分15秒 に 実施しました。
Package samba-common-4.9.1-8.el8.noarch is already installed.
依存関係が解決しました。
================================================================================
パッケージ          アーキテクチャー
                             バージョン    リポジトリ                     サイズ
================================================================================
Installing:
samba               x86_64  4.9.1-8.el8   rhel-8-for-x86_64-baseos-rpms  708 k
依存関係をインストール中:
samba-common-tools  x86_64  4.9.1-8.el8   rhel-8-for-x86_64-baseos-rpms  461 k
samba-libs          x86_64  4.9.1-8.el8   rhel-8-for-x86_64-baseos-rpms  177 k

~省略~

Installed products updated.

インストール済み:
  samba-4.9.1-8.el8.x86_64           samba-common-tools-4.9.1-8.el8.x86_64
  samba-libs-4.9.1-8.el8.x86_64

完了しました!

Sambaパッケージがインストールされたことを確認します。

Sambaインストール確認
# dnf list installed samba*
Updating Subscription Management repositories.
インストール済みパッケージ
samba.x86_64                    4.9.1-8.el8       @rhel-8-for-x86_64-baseos-rpms
samba-client-libs.x86_64        4.9.1-8.el8       @anaconda
samba-common.noarch             4.9.1-8.el8       @anaconda
samba-common-libs.x86_64        4.9.1-8.el8       @anaconda
samba-common-tools.x86_64       4.9.1-8.el8       @rhel-8-for-x86_64-baseos-rpms
samba-libs.x86_64               4.9.1-8.el8       @rhel-8-for-x86_64-baseos-rpms

Samba基本設定

Sambaの設定は基本的に「smb.conf」を編集して行います。
編集前にsmb.confのバックアップを取得しておきます。

smb.confバックアップ
cp -p /etc/samba/smb.conf /etc/samba/smb.conf_org

smb.conf編集

smb.confを編集します。

smb.conf編集前
[global]
        workgroup = WORKGROUP
        security = user
        passdb backend = tdbsam
        printing = cups
        printcap name = cups
        load printers = yes
        cups options = raw
smb.conf編集後
[global]
        workgroup = WORKGROUP
        server string = SAMBA SERVER %v
        netbios name = smb-fs
        security = user
        passdb backend = tdbsam
        dos charset = CP932
        load printers = no
        disable spoolss = yes
        local master = yes
        os level = 200

[Share]
comment = Share Folder for All Users
path = /share/
read only = No

smb.confの確認

smb.confの編集が終わったら、設定ファイルに誤りがないか確認。

smb.confの確認
# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[Share]"
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        disable spoolss = Yes
        dos charset = CP932
        load printers = No
        netbios name = SMB-FS
        security = USER
        server string = SAMBA SERVER %v
        idmap config * : backend = tdb


[Share]
        comment = Share Folder for All Users
        path = /share/
        read only = No


[homes]
        browseable = No
        comment = Home Directories
        inherit acls = Yes
        read only = No
        valid users = %S %D%w%S


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


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

公開用ディレクトリ作成

続いて、公開用ディレクトリを作成。
ここでは「share」とします。

公開用ディレクトリ作成
shareディレクトリ作成
mkdir /share
shareディレクトリのパーミッション変更
chmod 777 /share

samba用ユーザ作成

hogeユーザでshareフォルダにSambaログイン出来るよう設定

samba用ユーザ作成
Samba用ユーザ作成
# pdbedit -a -u hoge -f "hoge"
new password:
retype new password:
Unix username:        hoge
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-2897256104-3781981787-2368735278-1000
Primary Group SID:    S-1-5-21-2897256104-3781981787-2368735278-513
Full Name:            hoge
Home Directory:       \\smb-fs\hoge
HomeDir Drive:
Logon Script:
Profile Path:         \\smb-fs\hoge\profile
Domain:               SMB-FS
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          木, 07  2月 2036 00:06:39 JST
Kickoff time:         木, 07  2月 2036 00:06:39 JST
Password last set:    金, 11 10月 2019 17:08:13 JST
Password can change:  金, 11 10月 2019 17:08:13 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

Sambaサービス起動・自動起動設定

Sambaサービスを起動します。合わせてOS起動時に自動起動するよう設定します。

Sambaサービス起動

systemctl start smb nmb
Sambaサービス自動起動設定

systemctl enable smb nmb

Samba接続確認

クライアントからSambaサーバが見えることを確認。
Windows及び、Macで確認します。
Macから見た場合
MacでSambaサーバー確認

Windowsから見た場合
WindowsでSambaサーバー確認

shareフォルダに接続出来ること、ファイルの書き込みが出来ることを確認。
shareフォルダに接続出来ること、ファイルの書き込みが出来ること

この辺りが確認出来たら、Samba環境としては問題ないかと思います。

これでSamba環境の構築は完了です。
WindowsからLinuxへファイルを送ることが出来ます。

ithinkit

セキュリティを考慮しなければ、5分もあればSamba環境は構築できますw

以上、あいしんくいっとでした。

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)