2022-07-25

[RHEL 9] Samba の設定

Samba は、SMB ネットワークプロトコルを再実装したフリーソフトウェ アで、Andrew Tridgell 氏によって開発されました。Samba は、様々な Microsoft Windows クライアントにファイルと印刷サービスを提供し、ドメインコントローラとして、またはドメインメンバーとして、Microsoft Windows Server ドメインと統合することができます。

バージョン 4 では、Active Directory と Microsoft Windows NT ドメインをサポートしています。

Wikipedia より引用、翻訳・編集
今回のテーマ

Samba のスタンドアロンサーバーの設定をして、ファイル共有ができることを確認します。

  • プリンタサーバー機能は利用しない
  • パスワード形式は tdbsam としサーバーに情報を保存
  • 各ユーザー毎の共有 [homes] を設定する。
  • シンボリック・リンクを辿れるようにする。

--- OUTLINE ---

Samba をインストールおよび設定をする OS は下記のとおりです。

OS Red Hat Enterprise Linux 9 (Plow) x86_64

RHEL 側の設定

Samba のインストール

次に dnf コマンドで samba と関連パッケージをインストールします。

[bitwalk@rhel9 ~]$ sudo dnf install samba
サブスクリプション管理リポジトリーを更新しています。
メタデータの期限切れの最終確認: 0:08:35 時間前の 2022年07月24日 08時03分59秒 に実施しました。
依存関係が解決しました。
===========================================================================================================
 パッケージ               Arch         バージョン                リポジトリー                        サイズ
===========================================================================================================
インストール:
 samba                    x86_64       4.15.5-108.el9_0          rhel-9-for-x86_64-baseos-rpms       837 k
依存関係のインストール:
 python3-dns              noarch       2.1.0-6.el9               rhel-9-for-x86_64-baseos-rpms       393 k
 python3-ldb              x86_64       2.4.1-1.el9               rhel-9-for-x86_64-baseos-rpms        60 k
 python3-samba            x86_64       4.15.5-108.el9_0          rhel-9-for-x86_64-baseos-rpms       3.3 M
 python3-talloc           x86_64       2.3.3-1.el9               rhel-9-for-x86_64-baseos-rpms        24 k
 python3-tdb              x86_64       1.4.4-1.el9               rhel-9-for-x86_64-baseos-rpms        24 k
 python3-tevent           x86_64       0.11.0-1.el9              rhel-9-for-x86_64-baseos-rpms        22 k
 samba-common-tools       x86_64       4.15.5-108.el9_0          rhel-9-for-x86_64-baseos-rpms       458 k
 samba-libs               x86_64       4.15.5-108.el9_0          rhel-9-for-x86_64-baseos-rpms       107 k
 tdb-tools                x86_64       1.4.4-1.el9               rhel-9-for-x86_64-baseos-rpms        40 k

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

ダウンロードサイズの合計: 5.2 M
インストール後のサイズ: 24 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/10): python3-dns-2.1.0-6.el9.noarch.rpm                                 957 kB/s | 393 kB     00:00    
    :
    :
    :
インストール済み:
  python3-dns-2.1.0-6.el9.noarch                    python3-ldb-2.4.1-1.el9.x86_64                        
  python3-samba-4.15.5-108.el9_0.x86_64             python3-talloc-2.3.3-1.el9.x86_64                     
  python3-tdb-1.4.4-1.el9.x86_64                    python3-tevent-0.11.0-1.el9.x86_64                    
  samba-4.15.5-108.el9_0.x86_64                     samba-common-tools-4.15.5-108.el9_0.x86_64            
  samba-libs-4.15.5-108.el9_0.x86_64                tdb-tools-1.4.4-1.el9.x86_64                          

完了しました!
[bitwalk@rhel9 ~]$ 

Samba サービスの起動

Samba のサービスを利用するには、smb に加えて(ホスト名取得のため)nmb(NetBIOS 対応)のサービスも起動する必要があります。

[bitwalk@rhel9 ~]$ sudo systemctl start smb nmb
[bitwalk@rhel9 ~]$ sudo systemctl enable smb nmb
Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service.
Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service → /usr/lib/systemd/system/nmb.service.
[bitwalk@rhel9 ~]$ 

smb.conf の設定

ルート権限で /etc/samba/smb.conf を編集します。今回は、Linux (RHEL) のユーザーアカウントのディレクトリを共有するだけです。あと、シンボリック・リンクを辿れるようにしています。

/etc/samba/smb.conf の設定例
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
#
# Note:
# SMB1 is disabled by default. This means clients without support for SMB2 or
# SMB3 are no longer able to connect to smbd (by default).

[global]
	security = user
	passdb backend = tdbsam

	#printing = cups
	#printcap name = cups
	#load printers = yes
	#cups options = raw
	dos charset = CP932
	unix extensions = no
	wide links = yes

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

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

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

testparm コマンドで、編集した内容にスペルミスなどがないか確認します。

[bitwalk@rhel9 ~]$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        dos charset = CP932
        security = USER
        unix extensions = No
        idmap config * : backend = tdb
        wide links = Yes


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

Samba ユーザーの追加とパスワードの設定

Samba ユーザーを登録するには、Linux 上の既存ユーザーの情報を使うか、あるいは新しいユーザーを作成してそのユーザー情報を使います。Samba の pdbedit コマンドに -a -u オプションを指定して以下のように実行します。ここでは、ユーザー bitwalk を Samba ユーザーに追加しています。パスワードは、Linux の bitwalk ユーザーと同じものを設定しています。

[bitwalk@rhel9 ~]$ sudo pdbedit -a -u bitwalk
[sudo] bitwalk のパスワード:
new password:
retype new password:
Unix username:        bitwalk
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-4010619847-536072473-1214530244-1000
Primary Group SID:    S-1-5-21-4010619847-536072473-1214530244-513
Full Name:            Fuhito Suguri
Home Directory:       \\RHEL9\bitwalk
HomeDir Drive:        
Logon Script:         
Profile Path:         \\RHEL9\bitwalk\profile
Domain:               RHEL9
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:    日, 24  7月 2022 08:33:45 JST
Password can change:  日, 24  7月 2022 08:33:45 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[bitwalk@rhel9 ~]$ 

ファイアウォールの設定

Samba のサービスがファイアウォールを通るように設定します。

[bitwalk@rhel9 ~]$ sudo firewall-cmd --add-service=samba --permanent
success
[bitwalk@rhel9 ~]$ sudo firewall-cmd --reload
success
[bitwalk@rhel9 ~]$ sudo firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s21f0u5 wlp2s0
  sources: 
  services: cockpit dhcpv6-client http pmproxy samba ssh
  ports: 9090/tcp 3389/tcp 443/tcp
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
[bitwalk@rhel9 ~]$ 

SELinux の設定

SELinux の setsebool コマンドで下記を実行します。

[bitwalk@rhel9 ~]$ sudo setsebool -P samba_export_all_rw 1
[bitwalk@rhel9 ~]$ sudo setsebool -P samba_enable_home_dirs 1

サービスの再起動

編集した設定を反映させるために、サービスを再起動します。

[bitwalk@rhel9 ~]$ sudo systemctl restart smb nmb

Windows から接続

Samba サーバへの接続確認に、下記の Windows PC を使いました。

OS Windows 11 Home 21H2, build 22000.778 x64 ベース

まず、エクスプローラを開いて、Samba サーバーのアドレスを入力します。この例では ¥¥192.168.150.63 と入力しています。

ネットワーク資格情報の入力が求められますので、設定した Samba のユーザー名とパスワードを入力して  OK  ボタンをクリックします。

すると Samba サーバー側の bitwalk フォルダが表示されます

フォルダを開けることを確認後、念の為、ファイルの書き込みができることも確認しておきます。

ネットワークドライブをドライブ番号に割り当てる場合は、例えば、参考サイト [1] などを参考にしてください。

参考サイト

  1. Windows 11 で「ネットワークドライブの割り当て」をする

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ Linuxへ
にほんブログ村
このエントリーをはてなブックマークに追加

0 件のコメント: