Linux

【Linux入門】Sambaファイルサーバー構築方法

Linux

Sambaとは?

SambaはWindowsネットワークのファイルサーバー機能、プリントサーバー機能をLinuxOS上に実装したソフトウェアです。

今回はこの「Samba」にてファイルサーバーを構築します。

構築環境

  • VirtualBoxバージョン 6.1.6 r137129 (Qt5.6.2)
  • CentOS Linux release 8.1.1911 (Core)
  • SELinux無効化(/etc/selinux/config)SELINUX=disabled

Sambaインストール

[user01@VM001 ~]$ sudo dnf install samba
[sudo] user01 のパスワード:
メタデータの期限切れの最終確認: 0:29:14 時間前の 2020年05月07日 10時33分24秒 に 実施しました。
依存関係が解決しました。
================================================================================
 パッケージ              Arch        バージョン               Repo        サイズ
================================================================================
インストール:
 samba                   x86_64      4.10.4-101.el8_1         BaseOS      739 k
依存関係のインストール:
 samba-common-tools      x86_64      4.10.4-101.el8_1         BaseOS      469 k
 samba-libs              x86_64      4.10.4-101.el8_1         BaseOS      185 k

トランザクションの概要
================================================================================
インストール  3 パッケージ

ダウンロードサイズの合計: 1.4 M
インストール済みのサイズ: 4.1 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/3): samba-libs-4.10.4-101.el8_1.x86_64.rpm   249 kB/s | 185 kB     00:00
(2/3): samba-common-tools-4.10.4-101.el8_1.x86_ 325 kB/s | 469 kB     00:01
(3/3): samba-4.10.4-101.el8_1.x86_64.rpm        439 kB/s | 739 kB     00:01
--------------------------------------------------------------------------------
合計                                            181 kB/s | 1.4 MB     00:07
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1
  インストール中   : samba-libs-4.10.4-101.el8_1.x86_64                     1/3
  インストール中   : samba-common-tools-4.10.4-101.el8_1.x86_64             2/3
  インストール中   : samba-4.10.4-101.el8_1.x86_64                          3/3
  scriptletの実行中: samba-4.10.4-101.el8_1.x86_64                          3/3
  検証             : samba-4.10.4-101.el8_1.x86_64                          1/3
  検証             : samba-common-tools-4.10.4-101.el8_1.x86_64             2/3
  検証             : samba-libs-4.10.4-101.el8_1.x86_64                     3/3

インストール済み:
  samba-4.10.4-101.el8_1.x86_64      samba-common-tools-4.10.4-101.el8_1.x86_64
  samba-libs-4.10.4-101.el8_1.x86_64

完了しました!
[user01@VM001 ~]$

Sambaサービスの有効化

Sambaサービスの自動起動有効

サービス機能説明
smb.serviceファイル共有機能、プリント共有機能を提供するサービス
nmb.serviceNetBIOSプロトコルの名前解決を行なうサービス
Sambaサービス
[user01@VM001 ~]$ sudo systemctl enable smb --now
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.
[user01@VM001 ~]$
[user01@VM001 ~]$ sudo systemctl enable nmb --now
Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service → /usr/lib/systemd/system/nmb.service.
[user01@VM001 ~]$

ファイアーウォール設定

firewall-cmdコマンドでSambaのファイアーウォールを有効にします。
Sambaでは次のポートを使用します。
UDP 137、138 TCP 139、445

[user01@VM001 ~]$ sudo firewall-cmd --permanent --zone=public --add-service=samba
success
[user01@VM001 ~]$ sudo firewall-cmd --reload
success
[user01@VM001 ~]$

Sambaユーザー作成

Sambaユーザーを作成するにあたり、同じ名前のOSユーザーを作成する必要があります。

[user01@VM001 ~]$ sudo useradd smbuser01

続いてSambaユーザーを作成します。

[user01@VM001 ~]$ sudo pdbedit -a smbuser01
new password:
retype new password:
Unix username:        smbuser01
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-2888020998-782753423-3732283452-1001
Primary Group SID:    S-1-5-21-2888020998-782753423-3732283452-513
Full Name:
Home Directory:       \\vm001\smbuser01
HomeDir Drive:
Logon Script:
Profile Path:         \\vm001\smbuser01\profile
Domain:               VM001
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:    木, 07  5月 2020 11:32:12 JST
Password can change:  木, 07  5月 2020 11:32:12 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[user01@VM001 ~]$

WindowsPCからアクセス

エクスプローラーから次の形式でアクセスします。
「ネットワーク資格情報の入力」が表示されるのでパスワードを入力します。

smbuser01のホームディレクトリ(/home/smbuser01)が開きます。

共有ディレクトリ設定

共有ディレクトリを作成します。

[user01@VM001 /]$ sudo mkdir /share
[user01@VM001 /]$ sudo chmod 777 share

Samba設定ファイル「/etc/samba/smb.conf」に追記します。

[share]
        path = /share
        read only = No
        browseable = Yes
[user01@VM001 /]$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        printcap name = cups
        security = USER
        workgroup = SAMBA
        idmap config * : backend = tdb
        cups options = raw


[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]
        path = /share
        read only = No
[user01@VM001 /]$

設定を読み込みます。

[user01@VM001 /]$ sudo systemctl reload smb

shareにアクセスできました。

コメント

タイトルとURLをコピーしました