ウェブサイト検索

Windows でのファイル共有のために RHEL 8 に Samba4 をインストールする


Samba は、オープン ソースの高速、安全、安定した広く使用されているネットワーク ファイル システムで、SMB/CIFS プロトコルを使用してすべてのクライアントにファイル共有と印刷サービスを提供します。 Linux、DOS と Windows のすべてのバージョン、OS/2、その他多くのオペレーティング システムが含まれます。

前回の記事では、CentOS/RHEL システムとWindows マシン間の基本的なファイル共有のために CentOS/RHEL 7 に Samba4 をインストールする方法を説明しました。ここでは、マシン間で匿名かつ安全なファイル共有を行うために Samba を構成する方法を学びました。

この記事では、Windows マシンとの基本的なファイル共有のために RHEL 8Samba4 をインストールして設定する方法について説明します。

RHEL 8 に Samba4 をインストールする

1. Samba 4 をその依存関係とともにインストールするには、示されているように DNF パッケージ マネージャーを使用します。

dnf install samba samba-client samba-common

2. インストールが完了したら、Sambe サービスを開始し、システム起動時の自動開始を有効にして、次のように systemctl コマンドを使用してサービスを確認します。

systemctl start smb
systemctl enable smb
systemctl status smb

3. 次に、ファイアウォールが設定されている場合は、システムを介して共有ディレクトリとファイルにアクセスできるように、ファイアウォール設定に Samba サービスを追加する必要があります。

sudo firewall-cmd --permanent --add-service=samba
sudo firewall-cmd --reload

RHEL 8 で Samba4 を構成する

4. Samba をファイル共有用に構成するには、事前構成設定とさまざまな構成ディレクティブが含まれるデフォルトの Samba 構成ファイルのバックアップ コピーを作成する必要があります。

cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

次に、以下で説明するように、匿名で安全なファイル共有サービス用に samba を構成します。

RHEL 8 での Samba4 匿名ファイル共有のセットアップ

5. このセクションでは、最初のステップとして、サーバー上にファイルを保存する共有ディレクトリを作成します。次に、図に示すように、ディレクトリに適切なアクセス許可を定義します。

mkdir -p /srv/samba/anonymous
chmod -R 0777 /srv/samba/anonymous
chown -R nobody:nobody /srv/samba/anonymous

6. 次に、chcon ユーティリティを使用して、作成された samba 共有ディレクトリの SELinux セキュリティ コンテキストを変更します。

 
chcon -t samba_share_t /srv/samba/anonymous

7. 次に、お気に入りのテキストベースのファイル エディタを使用して構成ファイルを開き、共有ディレクトリ上で匿名の安全でないファイル共有を構成します。

vim /etc/samba/smb.conf

次のグローバル パラメータを変更し、匿名共有のセクションを追加します。必要に応じて独自の値を設定できることに注意してください (詳細については、man smb.conf を参照してください)。

[global]
        workgroup = WORKGROUP
        netbios name = rhel
        security = user
...
[Anonymous]
        comment = Anonymous File Server Share
        path = /srv/samba/anonymous
        browsable =yes
        writable = yes
        guest ok = yes
        read only = no
        force user = nobody

ファイルの変更を保存して閉じます。

8. 次に、次のコマンドを実行して、構成が正しいかどうかを確認します。

testparm 
Load smb config files from /etc/samba/smb.conf 
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) 
Unknown parameter encountered: "netbios" 
Ignoring unknown parameter "netbios" 
Processing section "[homes]" 
Processing section "[printers]" 
Processing section "[print$]" 
Processing section "[Anonymous]" 
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 
       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 


[Anonymous] 
       comment = Anonymous File Server Share 
       force user = nobody 
       guest ok = Yes 
       path = /srv/samba/anonymous 
       read only = No

9. Samba 設定がOKな場合は、最近の変更を有効にするために samba サービスを再起動します。

systemctl restart smb

10. 最後に、匿名共有が正常に動作しているかどうかをテストし、Windows マシンにログインしてWindows エクスプローラーを開き、ネットワークをクリックします。 RHEL ホストをクリックするか、サーバーの IP アドレスを使用してアクセスします (サーバー上で ip add コマンドを実行すると、IP アドレスを確認できます)。

e.g. 2.168.43.198

11. 次に、匿名 ディレクトリを開き、そこに他のユーザーと共有するファイルを追加してみます。

RHEL 8 での Samba4 安全なファイル共有のセットアップ

12. 安全な共有ディレクトリを作成するには、Samba システム グループを作成する必要があります。保護された共有のすべてのユーザーがこのグループに追加されます。次のようにgroupadd コマンドを使用してグループを作成できます。

groupadd smbgrp

次に、usermod コマンドを使用してすべてのユーザー (たとえば、tecmint) をグループに追加し、図に示すように各ユーザーのパスワードを設定します。

usermod tecmint -aG smbgrp
smbpasswd -a tecmint

13. 次に、共有ファイルを安全に保存する安全なディレクトリを作成し、そのディレクトリに適切なアクセス許可を設定します。また、ディレクトリの SELinux セキュリティ コンテキストを次のように変更します。

mkdir -p /srv/samba/secure
chmod -R 0770 /srv/samba/secure
chown -R root:smbgrp /srv/samba/secure
chcon -t samba_share_t /srv/samba/secure

14. 次に、設定ファイルを開いて編集します。

vim /etc/samba/smb.conf

そして、ファイルの最後に次のセクションを追加します。

[Secure]
        comment = Secure File Server Share
        path =  /srv/samba/secure
        valid users = @smbgrp
        guest ok = no
        writable = yes
        browsable = yes

変更を保存してファイルを閉じます。

15. 次に、testparm コマンドを実行して、samba 構成を再度確認します。

testparm

16. Samba サービスを再起動して、変更を適用します。

systemctl restart smb.service
systemctl restart nmb.service

安全な Samba ファイル共有のテスト

17. 最後に、セキュア共有が正常に動作しているかどうかをテストします。 Windows マシンから Windows エクスプローラーを開き、ネットワークをクリックしてからRHELホストをクリックするか、次のコマンドを使用してサーバーへのアクセスを試みます。前に説明したように、その IP アドレス。

e.g. 2.168.43.198

RHEL 8 サーバーにログインするには、ユーザー名とパスワードの入力を求められます。

18. ログインすると、すべての samba 共有ディレクトリのリストが表示されます。 Secure ディレクトリにファイルを追加することで、ネットワーク上の他の許可されたユーザーと一部のファイルを安全に共有できるようになりました。

それだけです!この記事では、Windows マシンとの匿名で安全なファイル共有のために RHEL 8Samba 4 をインストールして構成する方法を説明しました。このガイドに関してご質問やご意見がございましたら、以下のフィードバック フォームをご利用ください。