LoginSignup
11
11

More than 5 years have passed since last update.

sssdを使ってlinuxをActiveDirectoryに参加

Last updated at Posted at 2016-08-17

クライアントPCでlinuxを使っていて、アクティブディレクトリで認証したい!なんていうニッチな人向け。
sssdでlinuxをADに参加させるための手順
fedora21を使った。fedora22, fedora23, fedora24 でも同じだったと思う。

今回はドメインを hogehogedomain.local, 自分のPC名(hostname)を pc208-fc とします。

realmdを使って(直接Sambaを使わないで)設定する

# yum -y install realmd

host名の設定

/etc/hostname をADに登録したいPC名に編集

[root@pc208-fc ~]# cat /etc/hostname 
pc208-fc.hogehogedomain.local

/etc/nsswitch.confの設定

hostsの探し方を変更して、dnsを前に持ってくる。(これは環境によって不要な可能性があるかも)

[root@pc208-fc ~]# diff /etc/nsswitch.conf /etc/nsswitch.conf.bk
39c39
< hosts:      files dns mdns4_minimal [NOTFOUND=return] myhostname
---
> hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname

Active Directoryの情報取得

[root@pc208-fc ~]# realm discover --verbose
 * Resolving: _ldap._tcp.hogehogedomain.local
 * Performing LDAP DSE lookup on: 172.16.3.39
 * Performing LDAP DSE lookup on: 172.16.2.32
 * Performing LDAP DSE lookup on: 172.16.3.38
 * Successfully discovered: hogehogedomain.local
hogehogedomain.local
  type: kerberos
  realm-name: HOGEHOGEDOMAIN.LOCAL
  domain-name: hogehogedomain.local
  configured: no
  server-software: active-directory
  client-software: sssd
  required-package: oddjob
  required-package: oddjob-mkhomedir
  required-package: sssd
  required-package: adcli
  required-package: samba-common

各種パッケージのインストール

上のrealm discoverで出てるrequired-packageとして出力されているパッケージを導入する。

[root@pc208-fc ~]# yum install oddjob oddjob-mkhomedir sssd adcli samba-common

realmd設定

# cat /etc/realmd.conf
[users]
default-home = /home/%U
default-shell = /bin/zsh

[active-directory]
default-client = sssd

[service]
automatic-install = yes

[hogehogedomain.local]
computer-ou = OU=Computers,DC=hogehogedomain,DC=local
automatic-id-mapping = yes
fully-qualified-names = no

ドメインへの参加

# realm join hogehogedomain.local -U murata
Password for murata:

これでsshdなどが動いていれば

$ ssh murata\@hogehogedomain.local@172.16.3.172

でADのパスワードでログインできるようになります。172.16.3.172は自分自身のIPアドレス。

SSSDの設定を追加

すでに導入済みとなる、oddjob_mkhomedirの設定を、/etc/sssd/sssd.confに追記する。

[domain/hogehogedomain.local]
override_homedir = /home/%u

[nss]
fallback_homedir = /home/%u

%dは、ドメイン名、%uはユーザ名が補間されて、初回ログイン時に自動的にディレクトリが作成されるようになる。

# systemctl restart sssd.service

デフォルトのシェルを指定する

ADドメインユーザは、LDAPv3スキーマのloginShell属性でシェルの定義を行う。しかし、AD側で一々設定するのは面倒なので、SSSD側の設定で実現する。/etc/sssd/sssd.conf
ログインユーザー時にhogehogedomain.localをつけなくても良くする。のも同時に。

[domain/hogehogedomain.local]
default_shell = /bin/bash

use_fully_qualified_names = TrueからFalseに

[nss]
shell_fallback = /bin/sh
allowed_shells = /bin/bash /bin/zsh

sssd再起動

# systemctl restart sssd.service

visudo

%domain\ admins  ALL=(ALL)       NOPASSWD: ALL

を追加すればsudoerにdomain admin@hogehogedomain.localのグループが入る。

あとはお好きにどうぞ。

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