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のセキュリティ設定を変更する必要がある場合があります。

windows SAMBA

Sambaサーバーでゲストアクセスを許可する設定を行っても、Windowsのセキュリティポリシーによって、認証されていないゲストアクセスがデフォルトでブロックされていることが原因です。この挙動は、特にWindows 10のバージョン1709以降や、Windows 11でセキュリティが強化されたことで一般的になりました。


Windows側の設定変更方法

この問題を解決するには、Windowsのローカルグループポリシーエディターから「安全でないゲストログオン」を有効にする必要があります。

1. グループポリシーエディターを開く

  1. Windowsキー + Rを押して「ファイル名を指定して実行」ダイアログを開きます。
  2. gpedit.mscと入力してEnterキーを押します。

2. 設定箇所に移動する

グループポリシーエディターのウィンドウで、以下のパスをたどります。

コンピューターの構成 > 管理用テンプレート > ネットワーク > Lanman ワークステーション

3. 「安全でないゲストログオンを有効にする」を有効にする

  1. 右側の設定リストから「安全でないゲストログオンを有効にする」をダブルクリックして開きます。
  2. 表示されたウィンドウで「有効」を選択します。
  3. 「OK」をクリックして設定を保存します。

4. 設定の反映

設定の変更をすぐに反映させるには、PCを再起動するか、管理者としてコマンドプロンプトを開き、以下のコマンドを実行します。

gpupdate /force

これにより、Windows側でも認証されていないゲストアクセスが許可され、Sambaの共有フォルダにアクセスできるようになります。

SAMBAユーザを作成しておき共通で利用する

pdbedit -L
useradd xxxx
pdbedit -a xxxx

pdbedit -L
XXXX:1001: