AlmaLinux9でSAMBAを運用
AlmaLinux9でSAMBAを運用するためには、samba4をインストールするのが一般的だ。
sudo dnf install samba
Last metadata expiration check: 0:00:13 ago on Sun Jul 20 17:22:56 2025.
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
samba x86_64 4.21.3-7.el9_6 baseos 934 k
Installing dependencies:
libnetapi x86_64 4.21.3-7.el9_6 baseos 141 k
samba-common-tools x86_64 4.21.3-7.el9_6 baseos 482 k
samba-dcerpc x86_64 4.21.3-7.el9_6 baseos 717 k
samba-ldb-ldap-modules x86_64 4.21.3-7.el9_6 baseos 34 k
samba-libs x86_64 4.21.3-7.el9_6 baseos 123 k
Transaction Summary
================================================================================
Install 6 Packages
まず、デフォルト設定で起動するか確認しておこう
systemctl start smb
systemctl enable smb
systemctl status smb
AlmaLinux9でSAMBAを運用するための仕様
1.ホームディレクトリを利用 /home/XXXX/samba
2.共有フォルダを利用(SMBログイン者は全員利用可能) /var/samba/public
3.特定ユーザのみのフォルダ利用(営業担当のeigyo1, eigyo2のみ利用可能) /var/samba/営業
4.ユーザはGID:100を持ったUNIXアカウントとする
5.プリンター系はすべて無効
6.192.168.1.0/24 からのアクセスのみ許可する
SAMBAの設定 smb.conf
AlmaLinux9でSAMBAを運用するための準備
mkdir -p /var/samba/public
mkdir -p /var/samba/eigyo
chmod 770 /var/samba/public
chgrp users /var/samba/public
chmod 770 /var/samba/eigyo
chgrp users /var/samba/eigyo
mkdir -p /etc/skel/samba
SAMBAユーザを作成
pdbedit -a user1
pdbedit -a eigyo1
pdbedit -a eigyo2
/home/XXX/samba ディレクトリが無い場合は手動で作成する
cd /etc/samba/
cp smb.conf smb.conf.org
vi smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
load printers = no
unix charset = UTF-8
dos charset = CP932
mangled names = no
hosts allow = 192.168.1.
[homes]
comment = Home Directories
path = %H/samba
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[public]
comment = Public
path = /var/samba/public
public = yes
browsable = yes
read only = no
writable = yes
inherit acls = Yes
create mask = 0660
directory mask = 0770
[営業]
comment = share
path = /var/samba/eigyo
browsable = yes
read only = no
writable = yes
inherit acls = Yes
create mask = 0660
directory mask = 0770
valid users = eigyo1, eigyo2
SAMBAをGUESTとして利用する
[global]
security = user
map to guest = Bad User
[public]
comment = Tanakalaw
path = /var/samba/public
guest ok = yes
writable = yes
read only = no
hosts allow = 192.168.1.0/24 127.0.0.1
hosts deny = all
public = yes
smb.confをゲスト専用として設定する
Windowsのセキュリティ設定を変更する必要がある場合があります。

Sambaサーバーでゲストアクセスを許可する設定を行っても、Windowsのセキュリティポリシーによって、認証されていないゲストアクセスがデフォルトでブロックされていることが原因です。この挙動は、特にWindows 10のバージョン1709以降や、Windows 11でセキュリティが強化されたことで一般的になりました。
Windows側の設定変更方法
この問題を解決するには、Windowsのローカルグループポリシーエディターから「安全でないゲストログオン」を有効にする必要があります。
1. グループポリシーエディターを開く
- Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開きます。
gpedit.msc
と入力してEnterキーを押します。
2. 設定箇所に移動する
グループポリシーエディターのウィンドウで、以下のパスをたどります。
コンピューターの構成 > 管理用テンプレート > ネットワーク > Lanman ワークステーション
3. 「安全でないゲストログオンを有効にする」を有効にする
- 右側の設定リストから「安全でないゲストログオンを有効にする」をダブルクリックして開きます。
- 表示されたウィンドウで「有効」を選択します。
- 「OK」をクリックして設定を保存します。
4. 設定の反映
設定の変更をすぐに反映させるには、PCを再起動するか、管理者としてコマンドプロンプトを開き、以下のコマンドを実行します。
gpupdate /force
これにより、Windows側でも認証されていないゲストアクセスが許可され、Sambaの共有フォルダにアクセスできるようになります。
SAMBAユーザを作成しておき共通で利用する
pdbedit -L
useradd xxxx
pdbedit -a xxxx
pdbedit -L
XXXX:1001: