見出し画像

LinuxのsambaとWindowsのActiveDirectoryの連携

LinuxサーバーのフォルダをWindowsのユーザーごとに管理権限を付与して管理したかったため、Linuxにsambaをインストールし、ActiceDirectoryでドメインのユーザー連携を行った時のメモ

name serverの設定

下記のファイルの見直し
(あるクラウドだと勝手に書き換わってしまい原因が分かるまでハマった。。。)
vi /etc/resolv.conf

nameserver XXXX.XXXX.XXXX.XXXX

ActiveDirectoryのWindowsServerでLinuxの名前解決ができるようにAレコードを登録

Hostsにも自身を登録
vi /etc/hosts

XXXX.XXXX.XXXX.XXXX <host name>

sambaの設定

vi /etc/samba/smb.conf

[global]
        kerberos method = secrets and keytab
        realm = example.com 
        workgroup = example.com 
        security = ads
        template shell = /bin/bash
        winbind enum groups = Yes
        winbind enum users = Yes
        winbind separator = +
        idmap config * : rangesize = 1000000
        idmap config * : range = 1000000-19999999
        idmap config * : backend = autorid

Kerberosの設定

vi /etc/krb5.conf

[realms]
EXAMPLE.COM = {
}

[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM

ドメインへの参加

net ads join -U Administrator
realm discover example.com 
realm join EXAMPLE.COM -U Administrator

Kerberosの認証チケットのキャッシュ

kinit administrator@EXAMPLE.COM
klist

ldap認証設定

authconfig \
--enablekrb5 \
--krb5kdc=example.com  \
--krb5adminserver=example.com  \
--krb5realm=example.com  \
--enablewinbind \
--enablewinbindauth \
--smbsecurity=ads \
--smbrealm=example.com  \
--smbservers=example.com  \
--smbworkgroup=EXAMPLE \
--winbindtemplatehomedir=/home/%U \
--winbindtemplateshell=/bin/bash \
--enablemkhomedir \
--enablewinbindusedefaultdomain \
--update

順番通りではないかもしれないが、一通り変更した箇所は以上