0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ドメイン配下でのSambaの設定とADユーザーでのLinuxへのログインまで

Posted at

0.Intro

 会社で機械学習の勉強会を行うにあたり、貸与されている事務用の8GメモリのWindowsマシンだけではなかなか辛いものがあるので、一台昔サーバー的に使っていて引退した24Gメモリのマシンが空いていたので共有で使うことにしました。社外秘のデータも扱いたいのでローカルに構築したかったというのもあります。
環境構築するにあたっての必要要件としては

  1. ライセンスフリーで機械学習環境に最適なLinux環境で構築。但しLinuxに不慣れなメンバーもいるので出来るだけ意識しないで済むように。
  2. Sambaで共有フォルダを設定、但しアクセス制御は必須。

があります。
まず上記二点を満たす環境をつくることにしました。

OSはUbuntu Server 20.04にしました。

1.ドメイン参加

いつもお世話になっております、Server World様のお知恵をお借りして。

sudo apt -y install winbind libpam-winbind libnss-winbind krb5-config samba-dsdb-modules samba-vfs-modules

Kerberosは説明の通りに設定。

ドメインに参加の手順まず困りました。

net ads join -U [AD の管理者ユーザー]

でADが見えないと。
いろいろ確認すると /etc/resolved.conf に書いたADのIPが消えていたので追記しました。
その後無事ADに参加できました。

wbinfo -u

も結果が得ってきました。

色々その他設定を行い、でもまた手詰まり。確認のために

wbinfo -u

を行うも返ってこず。
確認したところ
/etc/resolved.conf に書いたADのIPがまた消えていました。

2.DNS(AD Server)の設定について

サーバーなのでIP固定としており

/etc/netplan/00-installer-config.yaml

nameservers:
 addresses: [192.168.1.1]
 search: []

という形でしてDNS(AD Server)は記載しています。基本はこれだけで良さそうなものですが、Winbindには足りない様子。
調べてみるとUbuntu 17.04以降は /etc/resolved.conf ではなく、systemd-resolvedとのことで

/etc/systemd/resolved.conf

書き換え

sudo systemctl restart systemd-resolved.service

とsystemd-resolved 再起動しました。

でもADに聞きに行ってくれません。
またresolved.confにADのIPを列記。でも再起動してまた消える。
消えるのでWinbindが動いてくれない。

結局

sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo /etc/resolved.conf /etc/resolved.conf.bak
sudo vi /etc/resolved.conf

と、つまり自作することで解決としました。

systemd-resolvedには何やらバグがあるとの情報もありましたが、Winbindに/etc/resolved.confを直接見に行くみたいな仕組みがあり今のバージョンと非互換になっているか、その辺かなぁとも。
とてもハマったので、この悪戦苦闘を記載したく、本記事を書かせてもらっているようなものです。

3.ログイン後

無事にADのユーザーでUbuntuにログインも出来、SambaもADユーザーで共有フォルダを見に行くことが出来、valid userにてアクセス制御も出来ました。
設定の中で

winbind use default domain = true

を有効にするか向こうにするかは少し考えました。
valid userを指定するときに

valid users = "DOMAIN\YYYYXXXX","DOMAIN\ZZZZAAAA","DOMAIN\BBBBCCCC"

とすればアクセス制御も効いたのでよかったのですが、やっぱり

valid users = "YYYYXXXX","ZZZZAAAA","BBBBCCCC"

としたの方がシンプルなのと、ADユーザーでログインして使うことにしたので、操作の時にユーザー名のところにいちいちドメインが表示されるのが煩わしかったので結局
winbind use default domain = true
と有効化することにしました。

4.ADユーザーでsudo

sudoを使えないと困るので
Active Directoryドメインに参加させたCentOS8で、Domain Admins所属ユーザーにsudoを許可する
こちらを参考にさせて頂きました。こちらはCentOSでされているとのこと。
そのままだとUbuntuでは使えませんでした。
Ubuntuでは以下でした。

%domain\ admins ALL=(ALL) ALL
%domain\ user ALL=(ALL) ALL

こちらで無事にsudo出来るようになりました。

ここまででやっと素地が出来ました。この上に機械学習環境を構築していくことになります。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?