RHEL、CentOS、Fedora に Samba サーバーをインストールする方法
Samba は、エンドユーザーが同じネットワーク上の任意の Windows マシンから Linux 共有ディレクトリにアクセスできるようにする、オープンソースで最も人気があり広く使用されているプログラムです。
Samba はネットワーク ファイル システムとも呼ばれ、Linux/Unix オペレーティング システムにインストールできます。 Samba 自体は、SMB (サーバー メッセージ ブロック) および CIFS (共通インターネット ファイル システム) のクライアント/サーバー プロトコルです。 )。
Windows のsmbclient (GUI) またはファイル エクスプローラーを使用すると、エンド ユーザーは Windows ワークステーションから Samba サーバーに接続し、共有ファイルやプリンターにアクセスできます。
このチュートリアルでは、RHEL、CentOS Stream、Fedora システムに Samba サーバー (ファイルサーバー) をインストールする方法について説明します。また、SMB プロトコルを使用してネットワーク上でファイルを共有するように設定する方法や、samba ユーザーのデータベースにシステム ユーザーを作成して追加する方法も学びます。
[こちらもお勧めです: RHEL、Rocky Linux、AlmaLinux で Samba サーバーをセットアップする方法 ]
デモでは、ホスト名が tecmint、IP アドレスが 192.168.43.121 の RHEL 8 システムを使用しています。
RHEL での Samba のインストールと構成
samba を使い始めるには、次のように samba コア パッケージとsamba-client パッケージをインストールする必要があります。
# dnf install samba samba-common samba-client

すべての samba がインストールされたら、同じローカル ネットワーク内のすべてのクライアント マシンで共有されるように、適切なアクセス許可と所有権を使用して samba 共有ディレクトリを構成する必要があります。
# mkdir -p /srv/tecmint/data # chmod -R 755 /srv/tecmint/data # chown -R nobody:nobody /srv/tecmint/data # chcon -t samba_share_t /srv/tecmint/data

次に、Samba のメイン設定ファイルである smb.conf
ファイルで Samba 共有ディレクトリを設定します。
# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak # vim /etc/samba/smb.conf
次の構成行を追加します。これは、ネットワーク上の samba 共有にアクセスできるユーザーに関するポリシーを定義します。
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = rocky-8 security = user map to guest = bad user dns proxy = no ntlm auth = true [Public] path = /srv/tecmint/data browsable =yes writable = yes guest ok = yes read only = no
構成ファイルを保存して終了します。
次に、Samba 構成にエラーがないか確認します。
# testparm

すべてが正常に見える場合は、Samba デーモンを起動し、有効にしてステータスを確認してください。
# systemctl start smb # systemctl enable smb # systemctl start nmb # systemctl enable nmb # systemctl status smb # systemctl status nmb

Windows から Samba Share にアクセスする
Windows マシンから Samba 共有にアクセスするには、Windows ロゴ キー + R を押してファイル名を指定して実行 ダイアログを起動し、Samba の IP アドレスを入力します。図に示すようにサーバー。

接続すると、/srv/tecmint/data ディレクトリから samba 共有の「パブリック」ディレクトリが表示されます。

Samba 共有にファイルを作成していないため、「パブリック」ディレクトリは空です。次のコマンドを使用していくつかのファイルを作成しましょう。
# cd /srv/tecmint/data # touch file{1..3}.txt
ファイルを作成したら、Samba の「パブリック」フォルダにアクセスしてファイルを表示してみてください。

Windows から samba 共有を正常に構成し、アクセスできました。ただし、ディレクトリには、ファイルを編集および削除する権限を持つ誰でもアクセスできます。これは、重要なファイルをホストしている場合には推奨されません。
次のセクションでは、Samba 共有ディレクトリを保護する方法を学びます。
RHEL の安全な Samba 共有ディレクトリ
Samba 共有を保護するには、新しい samba ユーザーを作成する必要があります。
# useradd smbuser # smbpasswd -a smbuser
次に、新しいグループを作成し、新しい samba ユーザーをこのグループに追加します。
# sudo groupadd smb_group # sudo usermod -g smb_group smbuser
その後、samba ユーザーがファイルに安全にアクセスできるように、別の安全な samba 共有ディレクトリを作成します。
# mkdir -p /srv/tecmint/private # chmod -R 770 /srv/tecmint/private # chcon -t samba_share_t /srv/tecmint/private # chown -R root:smb_group /srv/tecmint/private
もう一度、Samba 構成ファイルにアクセスします。
# vi /etc/samba/smb.conf
これらの行を追加して、安全な Samba 共有を定義します。
[Private] path = /srv/tecmint/private valid users = @smb_group guest ok = no writable = no browsable = yes
変更を保存して終了します。
最後に、次のようにすべての samba デーモンを再起動します。
$ sudo systemctl restart smb $ sudo systemctl restart nmb
ここで Samba 共有にアクセスしてみます。今回は追加の「Private」ディレクトリが表示されます。このディレクトリにアクセスするには、図に示すように、Samba ユーザーの資格情報で認証する必要があります。

Linux マシンから samba 共有にアクセスするには、まず samba-client パッケージをインストールし、接続を試みます。
# dnf install samba-client # smbclient ‘\2.168.43.121\private’ -U smbuser

これで、RHEL、CentOS Stream、および Fedora での Samba のインストールと設定に関するこの記事は終了です。この記事に関するご意見をお待ちしております。