運営者プロフィール

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から見た場合

Windowsから見た場合

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

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

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

ithinkit

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

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

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