GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuでSambaを使用してLinuxドメインコントローラーをセットアップする方法

SAMBAは、SMB/CIFSクライアントにファイルおよび印刷サービスを提供するSMBファイル共有プロトコルのオープンソース実装です。これは、UbuntuシステムをWindowsクライアントと正常にネットワーク化するのに役立ち、それによってWindows環境に共通のサービスを提供および統合します。これらのサービスは、ネットワークに関与するコンピューターとユーザーに関するデータと情報の共有を支援し、機能の観点から3つの主要なカテゴリーに分類できます。

ファイルおよびプリンタ共有サービス: サーバーメッセージブロック(SMB)プロトコルを使用して、ネットワーク全体でのファイル、フォルダー、ボリューム、およびプリンターの共有を容易にします。

ディレクトリサービス: ライトウェイトディレクトリアクセスプロトコル(LDAP)とMicrosoft Active Directoryを使用して、ネットワークのコンピューターとユーザーに関する重要な情報を共有します。

認証とアクセス: ネットワークのコンピューターまたはユーザーのIDを確立し、ファイルのアクセス許可、グループポリシー、およびKerberos認証サービスを使用してコンピューターまたはユーザーがアクセスを許可されている情報を決定します。

このチュートリアルでは、Ubuntu16.04でsambaを使用してLinuxドメインコントローラーを構成する方法を学習します。

AD DCとしてのSambaには、少なくともバージョン4.0.0が必要です。 Sambaの最新の安定バージョンを使用することを強くお勧めします。これには、以前のリリースからのバグ修正と、MicrosoftActiveDirectoryの互換性の改善と追加機能が多数含まれているためです。

これを使用する主な利点は、個別のKerberosKDCをインストールする必要がないことです。 SambaにはAD互換のKDCが含まれており、ADバックエンド用の独自のLDAP実装が付属しています。

前提条件

  • サーバーが静的IPアドレスを使用するように構成されていることを確認してください。アドレスが変更された場合、DHCPは問題を引き起こす可能性があります。
  • resolv.confを適切なネームサーバーで更新します。
  • / etc/hostsファイルを適切なエントリで更新します。ホスト名はサーバーIPに解決される必要があります。

前提条件から始めましょう。前提条件を満たすためにサーバー設定をどのように変更したかをお見せします。

1) 静的IP用にネットワークインターフェースを構成する必要があります。 / etc / network / interfacesファイルをサーバーIP「96.126.107.141」、ドメインコントローラー名「nodenixbox.com」、およびその他の詳細で以下のように編集します。

root@ubuntu:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 96.126.107.141
netmask 255.255.255.0
network 96.126.107.0
broadcast 96.126.107.255
gateway 96.126.107.1
dns-nameservers 96.126.107.141 8.8.8.8
dns-search nodenixbox.com

# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto

iface eth0inetdhcpをifaceeth0inet staticに変更し、これらの強調表示された部分をネットワーク構成に追加しました。

2) resolv.confファイルを編集して、ドメインコントローラー名を追加します。

root@ubuntu:~# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 96.126.107.141
nameserver 8.8.8.8
nameserver 207.192.69.4
search nodenixbox.com

3) 最後になりましたが、/ etc / hostsファイルを編集し、次のようにホスト名として「ubuntu.nodenixbox.com」を設定します。

root@ubuntu:~# cat /etc/hosts
127.0.0.1 localhost
#127.0.1.1 ubuntu.members.linode.com ubuntu
96.126.107.141 ubuntu.nodenixbox.com ubuntu

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

root@ubuntu:~# echo ubuntu.nodenixbox.com > /etc/hostname

root@ubuntu:~# /etc/init.d/networking restart
[ ok ] Restarting networking (via systemctl): networking.service.

これらの変更後、ネットワークを再起動してください。

これで、パッケージのインストールを開始する準備が整いました。

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

まず、ドメインコントローラーのActiveDirectoryをセットアップするために必要なすべてのパッケージをインストールする必要があります。このコマンドを実行して、すべてのサーバーソフトウェアパッケージを更新し、必要なソフトウェアをインストールします。

root@ubuntu:~# apt-get update && apt-get upgrade -y

root@ubuntu:~# apt-get install git attr build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl ntp ntpdate winbind

これらのパッケージのインストール中に、Kerberos情報の入力を求められます。 Kerberosのデフォルトレルムと管理者サーバー情報を提供する必要があります。デフォルトのレルムをnodenixbox.comとして入力し、管理者サーバー名をホスト名として入力できます。

SAMBAのインストールと構成の方法

gitリポジトリを使用して最新のSambaパッケージを「samba4」フォルダにダウンロードする必要があります。

root@ubuntu:~# git clone -b v4-1-stable git://git.samba.org/samba.git samba4
Cloning into 'samba4'...
remote: Counting objects: 1276826, done.
remote: Compressing objects: 100% (280630/280630), done.
remote: Total 1276826 (delta 992350), reused 1267276 (delta 984263)
Receiving objects: 100% (1276826/1276826), 249.03 MiB | 10.51 MiB/s, done.
Resolving deltas: 100% (992350/992350), done.
Checking connectivity... done.

ダウンロードしたら、「samba4」フォルダーに入り、Sambaパッケージを構成できます。

root@ubuntu:~#cd samba4
root@ubuntu:~#./configure --enable-debug --enable-selftest
root@ubuntu:~#make
root@ubuntu:~/samba4# make
WAF_MAKE=1 python ./buildtools/bin/waf build
Waf: Entering directory `/root/samba4/bin'
Selected embedded Heimdal build
Waf: Leaving directory `/root/samba4/bin'
'build' finished successfully (6.288s)
root@ubuntu:~#make install

SAMBAのコンパイルが完了するまでに時間がかかる場合があります。完了したら、SAMBAおよびSMBクライアントのバージョンを確認します。これらのバージョンは両方とも一致する必要があります。

root@ubuntu:~# /usr/local/samba/sbin/samba -V
Version 4.1.23
root@ubuntu:~# /usr/local/samba/bin/smbclient -V
Version 4.1.23

SambaActiveDirectoryのプロビジョニング

次のステップは、ドメインをプロビジョニングすることです。このコマンドを実行するだけで、ドメインをプロビジョニングできます。

root@ubuntu:~/samba4# /usr/local/samba/bin/samba-tool domain provision --realm=nodenixbox.com --domain=nodenixbox --adminpass="password" --server-role=dc --dns-backend=SAMBA_INTERNAL
Looking up IPv4 addresses
Looking up IPv6 addresses
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=nodenixbox,DC=com
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=nodenixbox,DC=com
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
Server Role: active directory domain controller
Hostname: ubuntu
NetBIOS Domain: NODENIXBOX
DNS Domain: nodenixbox.com
DOMAIN SID: S-1-5-21-4019752003-3807572232-1148719748

Bind9をバックエンドDNSとして使用するものもありますが、SAMBAには独自の完全に機能するDNSサーバーが含まれています。ここでは、SAMBA_INTERNALを使用しています。このドメインを設定した後、SAMBAサービスを開始する必要があります。このコマンドを実行して、SAMBAを開始できます。

root@ubuntu:~# /usr/local/samba/sbin/samba
root@ubuntu:~#

Sambaドメインコントローラーのテスト

「smbclient」を実行して、プロビジョニング中に「smb.conf」で作成されたADDCのデフォルト共有「netlogon」と「sysvol」がSambaで提供されているかどうかを確認できます。

root@ubuntu:~# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]

Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]

Server Comment
--------- -------
UBUNTU ubuntu server (Samba, Ubuntu)

Workgroup Master
--------- -------
WORKGROUP UBUNTU

認証が機能しているかどうかをテストするには、プロビジョニング中に作成されたドメイン管理者アカウントを使用して、「netlogon」共有への接続を試みる必要があります。

root@ubuntu:~/samba4# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password:
Domain=[NODENIXBOX] OS=[Unix] Server=[Samba 4.1.23]
. D 0 Sun Oct 16 09:30:02 2016
.. D 0 Sun Oct 16 09:31:09 2016

47431 blocks of size 524288. 40274 blocks available

SAMBA_INTERNALDNSを構成する

Active Directoryを適切に操作するには、DNSが機能していることが不可欠です。適切なDNSエントリがないと、Kerberosは機能しません。つまり、基本的な機能の多くが機能しません。 DNSの設定を確実に行うために、余分な時間を費やすことは常に価値があります。

以下のように、ドメイン名を使用して/etc/resolv.confを編集する必要があります。

root@ubuntu:~#echo domain nodenixbox.com >> /etc/resolv.conf

ドメインコントローラーには、ActiveDirectoryゾーンへのクエリを解決できるネームサーバーが必要です。これは、ADフォレスト内の最初のドメインコントローラーであるためです。

また、Samba構成ファイル「/usr/local/samba/etc/smb.conf」を編集して、Googleネームサーバーをdns_forwarderに追加する必要があります。

root@ubuntu:~# cat /usr/local/samba/etc/smb.conf
# Global parameters

[グローバル]

ワークグループ=NODENIXBOXrealm=NODENIXBOX.COMnetbios name =UBUNTUserver role =active directory domain controllerdns forwarder =8.8.8.8

DNSのテスト

DNSが正しく機能していることを確認するには、次のコマンドを実行して出力を比較します

root@ubuntu:~# host -t SRV _ldap._tcp.nodenixbox.com
_ldap._tcp.nodenixbox.com has SRV record 0 100 389 ubuntu.nodenixbox.com

root@ubuntu:~# host -t SRV _kerberos._udp.nodenixbox.com.
_kerberos._udp.nodenixbox.com has SRV record 0 100 88 ubuntu.nodenixbox.com.

root@ubuntu:~# host -t A ubuntu.nodenixbox.com
ubuntu.nodenixbox.com has address 96.126.107.141

Kerberosの構成

KerberosはActiveDirectoryの重要な部分です。通常、構成は/etc/krb5.confで行われます。プロビジョニング中に、動作するサンプル構成が/usr/local/samba/share/setup/krb5.confに作成されます。シンボリックリンクをコピーまたは作成することで、krb5.confファイルをサンプルに置き換えることができます。

root@ubuntu:~# ln -s /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf

このファイルを編集し、以下のようにDC名でdefault_realmを変更する必要があります。

root@ubuntu:~# cat //etc/krb5.conf

[libdefaults]

default_realm =NODENIXBOX.COMdns_lookup_realm =falsedns_lookup_kdc =true

レルム名は大文字にする必要があります。

Kerberosのテスト

kinitを使用してKerberos構成をテストできます。テストのために、次のようにこのコマンドを実行します。

root@ubuntu:~# kinit [email protected]
Password for [email protected]:
Warning: Your password will expire in 41 days on Sun 27 Nov 2016 09:31:07 AM UTC

今後の認証の問題を回避するには、このコマンドを実行してActiveDirectory管理者ユーザーのパスワードの有効期限を無効にする必要があります。

root@ubuntu:~# /usr/local/samba/bin/samba-tool user setexpiry administrator --noexpiry
Expiry for user 'administrator' disabled.

注:レルムは常に大文字で指定する必要があります。 Kerberosが機能していることを確認するには、これを実行できます。

root@ubuntu:~# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting Expires Service principal
10/17/2016 04:19:31 10/17/2016 14:19:31 krbtgt/[email protected]
renew until 10/18/2016 04:19:19, Etype (skey, tkt): arcfour-hmac, arcfour-hmac

ユーザーのホームフォルダを作成する

これで、ユーザーのホームフォルダーを作成し、適切な権限と所有権を設定できます。

root@ubuntu:~# mkdir -m 770 /Users
root@ubuntu:~# chmod g+s /Users
root@ubuntu:~# chown root:users /Users

次に、SMB構成ファイル「/usr/local/samba/etc/smb.conf」を次のように編集する必要があります。

[Users]
directory_mode: parameter = 0700
read only = no
path = /Users
csc policy = documents

NTPの構成

Active Directoryを正しく機能させるには、すべての参加マシン間で時間の同期をとる必要があります。時刻の同期には、ドメインコントローラーでNTPを使用することを強くお勧めします。このドキュメントは、ADドメインコントローラーでNTPを構成するために必要なすべての情報を提供します。

結論

最後に、Ubuntu16.04サーバー上にActiveDirectoryドメインコントローラーを作成しました。独自のDCActiveDirectoryを作成し、ネットワーク上で共有できます。この構成の主な利点は、ユーザーとマシンの資格情報を一元化できることです。他にもいくつかの利点があります。主なメリットのいくつかは次のとおりです。

  • Active Directoryにネットワークにアクセスできるユーザーのリストを保持し、ユーザーがアクセスできるファイルと、これらのファイルで何ができるかを決定します。
  • セキュリティと利便性に加えて、ドメインコントローラは、個々のPCリソースをサーバー機能の実行から解放することで速度を提供し、最終的にクライアントマシンのパフォーマンスを向上させます。
  • システムのセキュリティと監査に必要な完全なセキュリティログも提供します。

Ubuntu
  1. Ubuntu 16.04 XenialXerusLinuxでネットワークを再起動する方法

  2. Linux で Samba をプライマリ ドメイン コントローラとしてセットアップする方法

  3. Ubuntu Linux を使用して FTP 経由でファイルをコピーするにはどうすればよいですか?

  1. Ubuntu/LinuxでZIPファイルを解凍する方法

  2. UbuntuLinuxでISOファイルを開く方法

  3. Linux で Samba ドメイン コントローラの構成をバックアップする方法

  1. UbuntuLinuxでファイルを削除する方法

  2. Rolling-Rhinoを使用してUbuntuローリングリリースを設定する方法

  3. UbuntuLinuxでJarファイルを実行する方法