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