環境
ここの手順で構築したドメインコントローラーで認証する。
・ AlmaLinuxのバージョン: 9.4 ・ ホスト名: samba.ad.example.jp ・ IPアドレス: 192.168.1.13 ・ realmdのバージョン: 0.17.1 ・ sambaのバージョン: 4.19.4
FQDNでホスト名を設定する。
# hostnamectl set-hostname samba.ad.example.jp
必要なパッケージをインストールする。
# dnf install realmd samba
参照するDNSをドメインコントローラーに変更する。
# nmcli connection modify [コネクションID] ipv4.dns [ドメインコントローラーのIPアドレス] # nmcli connection up [コネクションID]
smb.confをバックアップする。
# mv /etc/samba/smb.conf /etc/samba/smb.conf.backup
ドメインコントローラーにjoinする。
※ドメインのメンバーとして機能するためのソフトウェアにsambaを指定
※ドメインユーザーの認証を処理するソフトウェアにwinbindを指定
# realm join --membership-software=samba --client-software=winbind AD.EXAMPLE.JP
共有ディレクトリを作成する。
※root以外がアクセスできないようにする
# mkdir -p /data/samba/share # chmod 770 /data/samba/share
初期設定されたsambaの設定ファイルを編集して最下行に追記する。
※「force user」にrootを指定してファイル操作をrootで実行させる
[share] path = /data/samba/share create mask = 0660 directory mask = 0770 force user = root writable = yes valid users = @"example\domain users" "example\administrator"
ファイアウォールに例外を登録する。
# firewall-cmd --permanent --add-service=samba # firewall-cmd --reload
SELinuxのラベル付けを行う。
# semanage fcontext -a -t samba_share_t "/data/samba/share(/.*)?" # restorecon -RF /data/samba/share/
SELinuxにsmbdによるパブリックディレクトリへの書き込みを有効にする。
# setsebool -P allow_smbd_anon_write true
サービスを有効にして起動する。
# systemctl enable --now smb