3 Sambaスタンドアロン・サーバーの構成
次のタスクは、サーバーをドメインの一部にする必要がないピア・ツー・ピア・ワーク・グループなど、小規模なネットワークでスタンドアロンSambaサーバーを構成する方法を示しています。
sambaパッケージをインストールします。次のコマンドを実行して、
sambaをインストールします:sudo dnf install samba- Samba構成ファイルのバックアップ・コピーを作成します。
次のコマンドを実行して、元の
/etc/samba/smb.cnfファイルのコピーを作成します:sudo cp /etc/samba/smb.conf /etc/samba/samba.conf.mycopy - Samba構成ファイルを編集します。
/etc/samba/smb.confファイルを編集し、必要なサービスの様々なセクションを構成します。ノート:
Samba構成ファイルの編集の詳細は、「Samba構成ファイル」を参照してください。
次の例を検討してください:
#========== Global Settings ========= [global] workgroup = EXAMPLE_WORKGROUP netbios name = Server_Netbios_Name security = user server role = standalone server passdb backend = tdbsam log file = /var/log/samba/%m log level = 1 #========== File Share ========= [shareexample] path = /srv/samba/shareexample/ read only = noこの例では、ワーク・グループEXAMPLE_WORKGROUPでServer_Netbios_Nameという名前のスタンドアロン・サーバーを次の設定で構成します:
-
server role = standalone serverサーバーのタイプ。 詳細は、「Sambaサーバー・ロール」を参照してください。
-
passdb backend = tdbsamデフォルト設定。Sambaでは、ユーザー・アカウントが
/var/lib/samba/private/passdb.tdbデータベースに格納されます。 -
log level = 1ロギングの最低レベル。
-
log file = /var/log/samba/%mログ・ファイルのパス。
%m変数は、クライアント・マシンのNetBIOS名で置換されます。 -
[shareexample]共有の名前はshareexampleとして構成されます。 ユーザーが共有にアクセスするために使用する名前です。
-
read only = noSambaが共有ディレクトリを書き込み可能にします。
-
- Samba構成を確認します。
testparmコマンドを実行してSamba構成ファイルの内容を確認します。testparmコマンドは、無効なパラメータと値、および不正なIDマッピングなどの不正な設定を検出します。 testparmコマンドで問題が報告されない場合、Sambaサービスは、/etc/samba/smb.confファイルに指定された構成を正常にロードします。 Samba構成を変更するたびに、testparmコマンドを使用します。sudo testparmノート:
testparmコマンドは、Samba構成ファイルの内部整合性のみをテストします。 構成済サービスが使用可能か、想定どおりに機能するかは確認できません。
- Sambaユーザーを作成します。
ホーム・ディレクトリなし(
-M)およびログイン・シェルなし(-s /sbin/nologin)で、ローカルLinuxユーザー・アカウントを作成します。sudo useradd -M -s /sbin/nologin exampleUser - ユーザー・アカウントをSambaデータベースに追加します。
smbpasswdコマンドを実行して、ユーザーのSambaパスワードを生成し、Sambaデータベースに追加します:sudo smbpasswd -a exampleUser New SMB password: Retype new SMB password: Added user exampleUser - Sambaユーザーのグループを作成します。
SambaユーザーのLinuxグループを作成します:
sudo groupadd exampleGroup前のステップで作成したグループexampleGroupにユーザーexampleUserを追加します。
sudo usermod -aG exampleGroup exampleUser - 共有ディレクトリを作成します。
/etc/samba/smb.confで参照した共有ディレクトリが存在しない場合は作成します:sudo mkdir -p /srv/samba/shareexample/ノート:
SELinuxを
enforcingモードで実行する場合は、ディレクトリにsamba_share_tコンテキストを設定して、SELinuxでSambaによる読取り/書込みを許可します。sudo semanage fcontext -a -t samba_share_t "/srv/samba/shareexample(/.*)?" sudo restorecon -Rv /srv/samba/shareexample/ - 共有ディレクトリへのグループ・アクセスを設定します。
共有ディレクトリのグループを、Sambaユーザー用に前のステップで作成したグループに設定します:
sudo chgrp -R exampleGroup /srv/samba/shareexample/ - 共有ディレクトリにアクセス権を設定します。
次のコマンドは、完全な所有者およびグループ権限を共有ディレクトリに設定します:
sudo chmod 2770 /srv/samba/shareexample/ - ファイアウォールを構成します。
必要なポートを開き、
firewall-cmdユーティリティを使用してファイアウォール構成をリロードします。sudo firewall-cmd --permanent --add-service=samba sudo firewall-cmd --reload - Sambaサービスを開始します。
smbサービスを有効にして開始します。sudo systemctl enable --now smb