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.service | NetBIOSプロトコルの名前解決を行なうサービス |
[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にアクセスできました。

コメント