ウェブサイト検索

RHEL、CentOS、Fedora に Samba サーバーをインストールする方法


Samba は、エンドユーザーが同じネットワーク上の任意の Windows マシンから Linux 共有ディレクトリにアクセスできるようにする、オープンソースで最も人気があり広く使用されているプログラムです。

Samba はネットワーク ファイル システムとも呼ばれ、Linux/Unix オペレーティング システムにインストールできます。 Samba 自体は、SMB (サーバー メッセージ ブロック) および CIFS (共通インターネット ファイル システム) のクライアント/サーバー プロトコルです。 )。

Windows のsmbclient (GUI) またはファイル エクスプローラーを使用すると、エンド ユーザーは Windows ワークステーションから Samba サーバーに接続し、共有ファイルやプリンターにアクセスできます。

このチュートリアルでは、RHELCentOS StreamFedora システムに Samba サーバー (ファイルサーバー) をインストールする方法について説明します。また、SMB プロトコルを使用してネットワーク上でファイルを共有するように設定する方法や、samba ユーザーのデータベースにシステム ユーザーを作成して追加する方法も学びます。

[こちらもお勧めです: RHEL、Rocky Linux、AlmaLinux で Samba サーバーをセットアップする方法 ]

デモでは、ホスト名が tecmint、IP アドレスが 192.168.43.121RHEL 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

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