0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

RHEL9.6でSambaをActive Directoryに登録してWindows共有を実現するまで

Last updated at Posted at 2025-09-26

はじめに

  • 社内のファイル共有環境をWindowsのActive Directory(AD)と連携させる必要があり、RHEL9.6上のSambaサービスをADに登録する作業を担当しました。この記事では、その手順と注意点をまとめます。

構成概要

  • 対象サーバ: hostname10.x.x.x
  • OS: Red Hat Enterprise Linux 9.6
  • ADドメイン: DOMAIN.EXAMPLE
  • ADサーバ:
      - dcsv-m0110.x.x.x
      - dcsv-m0210.x.x.x
  • 目的: WindowsクライアントからSamba共有にADユーザーでアクセスできるようにする

必要なパッケージのインストール

まず、AD連携に必要なツール群をインストールします。realmdはAD参加を簡素化するツール、sssdはシステム認証を管理するサービスです。
 

sudo dnf install realmd sssd samba samba-common krb5-workstation oddjob oddjob-mkhomedir adcli -y

AD参加の手順

  1. AD参加前の状態確認
     
    既存のドメイン参加状況を確認します。出力が空であれば、まだどのドメインにも参加していません。
realm list
  1. ADへの参加

ADの管理者アカウントを使って、Sambaサーバをドメインに参加させます。このコマンドを実行後、パスワードの入力が求められます。

sudo net ads join -U admin@DOMAIN.EXAMPLE
  1. AD参加の確認

正しくADに参加できたかを確認します。コマンドの出力に成功メッセージが表示されれば問題ありません。

net ads testjoin

 

Sambaの設定と共有ディレクトリの定義

AD連携を有効にするため、/etc/samba/smb.confファイルを編集します。

/etc/samba/smb.conf の設定例

[global]workgroup = EXAMPLE
    security = ADS
    realm = DOMAIN.EXAMPLE
    kerberos method = secrets and keytab
    log file = /var/log/samba/log.%m
    log level = 3    server role = member server
    # ADユーザーIDとLinuxユーザーIDのマッピング設定    idmap config * : backend = tdb
    idmap config * : range = 10000-99999# ADドメイン(EXAMPLE)のIDマッピング設定    idmap config EXAMPLE : backend = rid
    idmap config EXAMPLE : range = 100000-199999# その他の設定    winbind use default domain = yes    winbind enum users = yes    winbind enum groups = yes    winbind refresh tickets = yes    template shell = /bin/bash
    template homedir = /home/%U
[対象のディレクトリ]path = /mnt/対象のディレクトリ/対象のディレクトリ
    read only = nobrowseable = yes
    create mask = 0775
    follow symlinks = yes
    wide links = yes
    unix extensions = no
    valid users = ad_user

 
valid usersには、アクセスを許可するADユーザー名またはグループ名を指定します。

Winbindサービスの起動と有効化

設定を反映させるためにwinbindサービスを再起動し、OS起動時に自動で立ち上がるように有効化します。

sudo systemctl restart winbind
sudo systemctl enable winbind

 

共有ディレクトリの工夫:シンボリックリンクとバインドマウント

バインドマウントによるディレクトリ共有

Windowsクライアントからシンボリックリンクが見えなかったため、バインドマウントを使用しました。これにより、既存のディレクトリ構造を維持しつつ、Sambaの共有パスに公開することができます。

# 既存のシンボリックリンクを削除
sudo rm /mnt/samba/samba/rlog
# バインドマウント用のディレクトリを作成
sudo mkdir -p/mnt/samba/samba/rlog
# ディレクトリをバインドマウント
sudo mount --bind/mnt/usr1/income/rlog/log/mnt/samba/samba/rlog

 

バインドマウントの恒久化

OS再起動後もバインドマウントを維持するには、/etc/fstabに以下の行を追加します。

/mnt/usr1/income/rlog/log /mnt/samba/samba/rlog none bind 0 0

動作確認とトラブルシューティング

動作確認コマンド

以下のコマンドで、ADユーザーが正しく認識されているかを確認できます。

net ads testjoin: AD参加状態を確認
wbinfo -u: Winbindが認識しているADユーザー一覧を表示
getent passwd ad_user: 特定のADユーザーがシステムで認識されているか確認

 

主なトラブルと対策

時刻同期: Kerberos認証は厳密な時刻同期が必要です。chronydサービスを有効にし、ADサーバと時刻を合わせるように設定しましょう。
ログ確認: エラーが発生した場合は、journalctl -xeや/var/log/messages、/var/log/samba/以下のログファイルを確認することで、原因を特定できます。
設定ファイル: sssd.confやkrb5.confなど、関連する設定ファイルも必要に応じて見直します。

まとめ

SambaのAD連携を1人で構築したことで、Linux、AD、認証、ファイル共有という幅広い分野の知識が深まりました。
この記事が、同じような課題に直面している方の助けになれば幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?