Ubuntu24.04.01でActiveDirectoryに参加してDFSにcifsでアクセスして読み込みと書き込みが成功しました。
先駆者の方たちがWebで公開されている情報が役に立ちました。
ActiveDirectoryに参加するにはrealmdと使う方法と、winbindを使う方法の2つがありました。
今回はrealmdを使う方法となります。
ソフトウェアのインストール
必要なパッケージをインストールします。
sudo apt install sssd-ad sssd-tools realmd adcli
ドメインに参加
ドメインがDNS経由で検出可能か確認します。
sudo realm -v discober ドメイン名(FQDN)
ドメイン検証します。
sudo realm join ドメイン名(FQDN)
ドメインに参加します。
エラーが発生しました。
! Couldn't authenticate with keytab while discovering which salt to use: UBUNTU$@ドメイン名(FQDN): Client 'UBUNTU$@ドメイン名(FQDN)' not found in Kerberos database
ADのcomputersには追加されているがその先で失敗している。
こちらの記事にしたがって、ActiveDirectoryに登録されたubuntuコンピュータの属性エントリー(ms-DS-Supported-Encryption-Types) を16に変更します。
ActiveDirectoryに登録されたコンピュータは削除せずに、再インストール後にActiveDirectoryに再び参加するとコンピュータを見つけてくれて参加に成功しました。
設定変更
使いやすいように設定を変更します。
SSSDサービスの設定変更
/etc/sssd/sssd.conf
[domain/ドメイン名]
+fallback_homedir = /home/%u
-fallback_homedir = /home/%u@%d
+use_fully_qualified_names = False
-use_fully_qualified_named= True
ユーザのフォルダ名がデフォルトだと、ユーザー名@ドメイン名になります。ディレクトリ名が長くなるのとログイン時はユーザ名のみにするため分かりづらくなるので揃えます。
Kerberosの設定変更
/etc/krb5.conf
+[domain_realm]
+.domain-name.co.jp = DOMAIN-NAME.CO.JP
+domein-name.co.jp = DOMAIN-NAME.CO.JP
小文字ドメインをレルムにマッピング
SSSDサービス再起動
sudo systemctl restart sssd
sudo systemctl status sssd
起動しているか確認します。
確認
認証が問題ない確認します。
kinit ユーザー名
klist -e
id ユーザー名
getent passwd ユーザー名
groups ユーザー名
idで表示されたuidとgidを記録しておきます。
Active Directory ユーザーでログイン
sudo login
ログインが成功すればドメイン参加成功です。
DFSのマウント
sudo usermod -G sudo ユーザー名
ADで認証したユーザーでsudoできるようにする。
sudo apt install cifs-utils
必要なパッケージをインストールします。
sudo mkdir -p /mnt/n
マウントポイントを作成します。
sudo mount -t cifs -o uid=記録しておいたuid,gid=記録しておいたgid,file_mode=0777,dir_mode=0777,username=ユーザー名,password=パスワード //ドメイン名(fqdn)/dfs共有名 /mnt/n
uidとgidを指定してマウントします。
参考にしたサイト
感謝します!
https://www.server-world.info/query?os=Ubuntu_22.04&p=realmd
https://memo.fifthdimension.jp/configure-ubuntu-as-active-directory-member