ファイルの共有は、サーバー管理の重要な部分です。これにより、ユーザーがタスクを実行するために必要なリソースをネットワーク全体で共有できます。 Sambaサーバーは通常、中央のLinuxサーバーにインストールされ、情報はさまざまなメディアに保存され、WindowsクライアントまたはSambaクライアントを使用するLinuxを使用してアクセスされます。
この記事では、Rocky Linux 8にsambaファイル共有をインストールして構成する方法を学習します。このガイドは、AlmaLinux8やOracleLinux8などの他のRHEL8ベースのディストリビューションでも機能します。
Rocky Linux 8はSambaサーバーとして構成され、WindowsまたはLinuxクライアントのいずれかでファイルにアクセスできます。
関連コンテンツ
- Ubuntu20.04にSambaファイル共有をインストールして構成する方法
目次
- サーバーが最新であることを確認する
- sambaパッケージをインストールする
- Samba共有の構成
- ファイアウォールを介してSambaサービスを有効にする
- Sambaサービスを開始して有効にします
- LinuxクライアントとのSamba共有へのアクセス
- WindowsクライアントとのSamba共有へのアクセス
- 安全なSamba共有構成
1。サーバーが最新であることを確認する
先に進む前に、サーバーが最新であり、すべてのパッケージが最新バージョンであることを確認しましょう。これを実現するには、次のコマンドを使用します。
sudo dnf -y update
アップグレードするパッケージがある場合、上記のコマンドには数分かかる場合があります。
2。 Sambaパッケージをインストールする
sambaパッケージは、デフォルトのRockyLinuxリポジトリで利用できます。次のコマンドでインストールします:
sudo dnf install samba samba-common samba-client
インストールプロセスの確認を求められたら、 yと入力します 次に入力して続行します。
次のコマンドを使用して、インストールされているソフトウェアパッケージを確認します。
$ rpm -qi samba
Name : samba
Epoch : 0
Version : 4.14.5
Release : 7.el8_5
Architecture: x86_64
Install Date: Sat Jan 15 08:12:25 2022
Group : Unspecified
Size : 2653757
License : GPLv3+ and LGPLv3+
Signature : RSA/SHA256, Mon Dec 13 17:12:06 2021, Key ID 15af5dac6d745a60
Source RPM : samba-4.14.5-7.el8_5.src.rpm
Build Date : Mon Dec 13 16:51:31 2021
Build Host : ord1-prod-x86build005.svc.aws.rockylinux.org
Relocations : (not relocatable)
Packager : [email protected]
Vendor : Rocky
URL : https://www.samba.org
Summary : Server and Client software to interoperate with Windows machines
Description :
Samba is the standard Windows interoperability suite of programs for Linux and
Unix.
3。 Samba共有の構成
samba構成ファイルは、このパス/etc/samba/smb.conf
にあります。 。変更を加える前に、バックアップを作成して、混乱した場合にコピーを作成しましょう。ターミナルで次のコマンドを使用して、バックアップファイルを作成します。
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bk
次に、共有するディレクトリを作成しましょう。
sudo mkdir -p /home/sambashare
ディレクトリのアクセス許可を更新して、アクセスできるようにします。それに白く、SELinuxのパーミッションも更新します:
sudo chmod -R 755 /home/sambashare
sudo chown -R nobody:nobody /home/sambashare
sudo chcon -t samba_share_t /home/sambashare
次に、samba構成を編集して、作成したディレクトリーのエクスポートを定義しましょう。
構成ファイルを開きます:
sudo vim /etc/samba/smb.conf
以下を反映するようにファイルの構成を更新します。
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = Citizix SmbSvr
security = user
map to guest = bad user
dns proxy = no
[Public]
path = /home/sambashare
browsable =yes
writable = yes
guest ok = yes
read only = no
ファイルを保存して閉じます。
次のコマンドを使用して構成を確認します:
sudo testparm
すべてが順調であれば、これに似たものが表示されるはずです。
$ sudo 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
...
4。ファイアウォールを介してSambaサービスを有効にする
Firewalldをインストールして有効にしている場合は、ファイアウォールを介してSambaサービスを有効にする必要があります。これを実現するには、次のコマンドを使用します。
sudo firewall-cmd --add-service=samba --zone=public --permanent
sudo firewall-cmd --reload
5。 Sambaサービスを開始して有効にします
デフォルトでは、サービスは開始されません。次のコマンドを使用してサービスを開始します:
sudo systemctl start smb
これを使用してサービスステータスを確認します:
$ sudo systemctl status smb
● smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2022-01-15 08:43:41 UTC; 25s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 62502 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 4 (limit: 23176)
Memory: 8.7M
CGroup: /system.slice/smb.service
├─62502 /usr/sbin/smbd --foreground --no-process-group
├─62504 /usr/sbin/smbd --foreground --no-process-group
├─62505 /usr/sbin/smbd --foreground --no-process-group
└─62506 /usr/sbin/smbd --foreground --no-process-group
Jan 15 08:43:41 dev-rockysrv1.inv.re systemd[1]: Starting Samba SMB Daemon...
Jan 15 08:43:41 dev-rockysrv1.inv.re smbd[62502]: [2022/01/15 08:43:41.212309, 0] ../../lib/util/become_daemon.c:136(daemon_ready)
Jan 15 08:43:41 dev-rockysrv1.inv.re systemd[1]: Started Samba SMB Daemon.
Jan 15 08:43:41 dev-rockysrv1.inv.re smbd[62502]: daemon_ready: daemon 'smbd' finished starting up and ready to serve connections
上記の出力は、サービスが正常に開始されたことを示しています。起動時にサービスを有効にするには、次のコマンドを使用します:
sudo systemctl enable smb
6。 LinuxクライアントとのSamba共有にアクセスする
Linuxクライアントからファイルシステムにアクセスするには、Sambaクライアントソフトウェアをインストールする必要があります。
Rocky Linuxでは、次のコマンドを使用してソフトウェアをインストールします。
sudo dnf install -y samba-client
共有にアクセスするには、次の形式になります:
smbclient //server-IP/Public
クライアントの場合:
$ smbclient //10.70.5.170/Public
Enter SAMBA\rocky's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Sat Jan 15 08:34:22 2022
.. D 0 Sat Jan 15 08:34:22 2022
52417516 blocks of size 1024. 48494420 blocks available
smb: \>
パスワードが設定されていないため、プロンプトが表示されたらEnterキーを押してください。
7。 WindowsクライアントとのSamba共有へのアクセス
Windows起動の場合ダイアログを実行 WindowsでWindowsキー+Rを押して 。

ホスト名を入力します またはIPアドレス サーバーのボタンを押してから、 Enter キー。
\\hostname
or
\\server-IP-address
私の場合
\\35.180.123.111
これにより、共有が開きます。 sambaサーバーまたはWindowsクライアントマシンからリポジトリにファイルまたはディレクトリを追加できます。

8。安全なSamba共有構成
Sambaは、検証なしのパブリックアクセスと、共有リソースにアクセスするために認証が必要なプライベート共有を許可します。このセクションでは、sambaと共有し、ユーザー名とパスワードを使用してアクセスするプライベートディレクトリを構成します。
サーバーにSambaユーザーグループを作成しましょう。
sudo groupadd sambagrp
新しいユーザーを作成し、作成したばかりのsambaグループに追加します。
sudo useradd -g sambagrp sambausr
安全なフォルダを作成してから、相対的な権限と所有権を付与します。
sudo mkdir -p /home/sambaprivateshare
sudo chmod -R 770 /home/sambaprivateshare
sudo chcon -t samba_share_t /home/sambaprivateshare
sudo chown -R root:sambagrp /home/sambaprivateshare
ディレクトリにアクセスする際の認証に使用される、作成したばかりのSambaユーザーのパスワードを作成します。
sudo smbpasswd -a sambausr
パスワードを入力して再入力します:
$ sudo smbpasswd -a sambausr
New SMB password:
Retype new SMB password:
Added user sambausr.
samba構成ファイルを編集して、安全な共有構成を追加します。
sudo vim /etc/samba/smb.conf
コマンドの下に行を追加し、構成に合わせて編集します。
[Private]
path = /home/sambaprivateshare
valid users = @private
guest ok = no
writable = yes
browsable = yes
構成を適用するには、Sambaサービスを再起動またはリロードします
sudo systemctl restart smb
Windowsシステムを使用したSambaSecureファイルへのアクセス
Windowsキーを押します + R 、サーバーのホスト名を入力します またはIPアドレス 共有フォルダにアクセスします。
プライベートを開くと フォルダは、ファイルへのアクセス権を付与するためのユーザー名とパスワードの入力を求めます。

LinuxでSambaセキュアディレクトリにアクセス
安全なフォルダにアクセスするには、次の形式を使用してコマンドをユーザーに提供する必要があります:
smbclient //server-IP/Private -U user
プロンプトが表示されたら、Sambaユーザーのパスワードを入力します。
$ smbclient //10.70.5.170/Private -U sambausr
Enter SAMBA\sambausr's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Sat Jan 15 09:02:33 2022
.. D 0 Sat Jan 15 09:02:33 2022
52417516 blocks of size 1024. 48489312 blocks available
smb: \>
それだ! RockyLinuxOSと他のLinuxまたはデスクトップWindowsクライアント間で匿名で安全なファイル共有を行うためにSambaをインストールしてセットアップすることができました。