Ubuntu Serverでドメインコントローラーを上げる

このオプションは、Windowsを実行しているコンピューターを持つ小規模な組織に役立つ場合があります。
ドメインコントローラーにアクセスするために、ADおよびCALライセンスを編成するために高価なWindows Serverを購入する必要はありません。
最後に、グループポリシー、リソースへのアクセス権の差別化など、ADバンがあります。

Ubuntu ServerベースのActive Directory(AD)ドメインコントローラー(DC)の組織に必要なアクションの詳細なアルゴリズムを記述しようとしました。

Ubuntu Server 12.04.4 LTSまたはUbuntu Server 13.10の例を使用したドメインコントローラーの構成を検討します。この手順は、追加の変更なしで両方のオプションに適しています

1. Ubuntuをインストールします

Ubuntuサーバーをインストールしても、ほとんどのコンピューターユーザーにとって問題は発生しないと思います。
OSをインストールするとき、ネットワーク上のマシンの名前(ホスト名)をドメインですぐに正しく示すことをお勧めします(たとえば、 dc1.domain.localを使用します )。これにより、将来ファイル内の構成を編集する必要が少なくなります。
ネットワークにDHCPサーバーがない場合、インストーラーはIPアドレス、ネットマスク、ゲートウェイ、およびDNSの入力を求めます。
インストール中に、サーバーにリモートアクセスできるようにOpenSSHサーバーをインストールし、マシンが配置されているタイムゾーンを正しく指定することもお勧めします。

2.ネットワークアダプターの設定を構成する

ネットワーク設定はファイル/ etc / network / interfacesに保存されます
あなたの好みに合わせて編集します。 nano、viなどをエディターとして使用できます。
ファイルを編集するには、ルート権限が必要です。たとえば、次のコマンドで取得できます。
sudo su 
その後、ルートとして作業します。
ルート権限で作業しているという事実 は、コマンドプロンプトで記号 示され ます。
または、rootアクセスを必要とする各コマンドの前にsudoを割り当てることができます
 sudo nano /etc/network/interfaces 

ネットワークインターフェイスの構成では、ほとんどの場合、
iface eth0 inet dhcp
静的IPアドレスを使用するように設定を変更します。
私の場合、次のようになります。
オートロー
iface lo inetループバック

自動eth0
iface eth0 inet static
アドレス192.168.10.1
ネットマスク255.255.255.0
ゲートウェイ192.168.10.10
dns-nameservers 192.168.10.10
dns-search domain.localドメイン
ネットワーク設定を変更した後、ネットワークサービスを再起動する必要があります
 /etc/init.d/networking restart 

3.必要なパッケージのインストール

まだ最初の段階でOpenSSHサーバーをインストールしなかった場合、これはコマンドで実行できます。
 apt-get install ssh 

何かをインストールする前に、まずコマンドでシステムとパッケージを更新することをお勧めします
 apt-get update && apt-get upgrade 

ネットワーク上のコンピューターがサーバーの時刻を確認するには、ntpサーバーをインストールします
 apt-get install ntp 

Samba4は最新バージョンを使用し、ソースからビルドするため、アセンブリと正しい操作のためのパッケージが必要です。
 apt-get install git checkinstall build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr docbook-xsl libcups2-dev acl 

4. Samba4をビルドする

Sambaが正しく機能するには、ファイルシステムレベルでvfsサポートが必要になります。そのため、/ etc / fstabを変更し、ルートパーティションの設定にuser_xattr、acl、barrier = 1を追加する必要があります。
 nano /etc/fstab 
次のような行を取得する必要があります。
/ dev / mapper / dc1-vg-root / ext4 user_xattr、acl、barrier = 1、 errors = remount -ro 0 1
その後、コンピューターを再起動する必要があります
 reboot 
ルート権限を忘れないでください
 sudo su 

GITリポジトリからSambaの最新の安定バージョンをダウンロードします
 cd /usr/src git clone -b v4-1-stable git://git.samba.org/samba.git samba-v4-1-stable 

Sambaの構成、コンパイル、インストール
 cd samba-v4-1-stable && ./configure --enable-debug && make && checkinstall 
Sambaログでより詳細な情報を表示するには-enable-debugオプションが必要です。

Sambaを組み立ててインストールした後(これは長いレッスンです)、その使用の利便性のために、ファイル/ etc / sudoers変数secure_pathで実行可能ファイル/ usr / local / samba / sbinおよび/ usr / local / samba / binへのパスを指定する必要がありますおよび/ etc / environmentの行を追加し PATH変数:/ usr / local / samba / sbin:/ usr / local / samba / bin
 nano /etc/sudoers 
次のような行を取得する必要があります。
デフォルトsecure_path = "/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin :/ usr / local / samba / sbin:/ usr / local / samba /ビン
 nano /etc/environment 
次のような行を取得する必要があります。
PATH = "/ usr / local / sbin:/ usr / local / bin:/ usr / sbin:/ usr / bin:/ sbin:/ bin:/ usr / games :/ usr / local / samba / sbin:/ usr /ローカル/サンバ/ビン

念のため再起動
 reboot 

5. ADを上げる

ADサーバーのDNSとしてSambaを使用するため、コマンドでバインドを無効にします
 service bind9 stop && update-rc.d bind9 disable 

SambaでADを操作するには、ツールsamba-toolがあります。
Sambaを初めて構成するには、次のコマンドを入力します
 samba-tool domain provision 

最初の段階でコンピューター名を正しく入力した場合、プログラムがデフォルトで要求するすべての設定を残すことができます。
セットアップ中に、ADユーザーの管理者パスワードが要求されます。デフォルトのパスワードの複雑さの要件(少なくとも1つの大文字、少なくとも1つの数字、少なくとも8文字)を満たしている必要があります。
パスワードの複雑さが一致せず、次のようなエラーが表示された場合:
エラー(ldb):キャッチされない例外-0000052D:制約違反-check_password_restrictions:パスワードが短すぎます。 7文字以上にする必要があります!
その後、初期構成を再実行する前に、ディレクトリ/ usr / local / samba / private /および/ usr / local / samba / etc /の内容を削除する必要があります
パスワードの複雑さを変更する必要がある場合、これはコマンドで実行できます
 samba-tool domain passwordsettings set --min-pwd-length=6 --complexity=off --max-pwd-age=0 --min-pwd-age=0 
このコマンドは、複雑さの要件を無効にし、パスワードの有効期限を無効にし、最小パスワード長を6文字に設定します

次に、Sambaの設定を調整し、次の行を[global]セクションに追加する必要があります
 nano /usr/local/samba/etc/smb.conf 
DNS更新を許可=非セキュアおよびセキュア
印刷= bsd
printcap name = / dev / null
これにより、ワークステーション(ウィンドウを実行している)がドメインに入ったときにサーバー上のDNSレコードを動的に更新し、印刷サポートを無効にします。これにより、ログにエラーが常にスローされます。

/etc/resolvconf/resolv.conf.d/headファイルで、Samba 127.0.0.1 DNSサーバーを指定する必要があります
 echo "nameserver 127.0.0.1" >> /etc/resolvconf/resolv.conf.d/head 
resolvconfサービスを再起動します
 service resolvconf restart 

Kerberosクライアントもインストールする
 apt-get install krb5-user 
samba-toolドメインのプロビジョニング段階で作成されたファイルを使用してADで構成する
 mv /etc/krb5.conf /etc/krb5.conf.old cp /usr/local/samba/private/krb5.conf /etc/krb5.conf 

Sambaサービスを自動的に開始するには、スクリプトが必要です。
 nano /etc/init.d/samba4 
/etc/init.d/samba4
 #! /bin/sh ### BEGIN INIT INFO # Provides: samba4 # Required-Start: $network $local_fs $remote_fs # Required-Stop: $network $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start Samba daemons ### END INIT INFO # # Start/stops the Samba daemon (samba). # Adapted from the Samba 3 packages. # PIDDIR=/var/run/samba SAMBAPID=$PIDDIR/samba.pid # clear conflicting settings from the environment unset TMPDIR # See if the daemon and the config file are there test -x /usr/local/samba/sbin/samba -a -r /usr/local/samba/etc/smb.conf || exit 0 . /lib/lsb/init-functions case "$1" in start) log_daemon_msg "Starting Samba 4 daemon" "samba" # Make sure we have our PIDDIR, even if it's on a tmpfs install -o root -g root -m 755 -d $PIDDIR if ! start-stop-daemon --start --quiet --oknodo --exec /usr/local/samba/sbin/samba -- -D; then log_end_msg 1 exit 1 fi log_end_msg 0 ;; stop) log_daemon_msg "Stopping Samba 4 daemon" "samba" start-stop-daemon --stop --quiet --name samba $SAMBAPID # Wait a little and remove stale PID file sleep 1 if [ -f $SAMBAPID ] && ! ps h `cat $SAMBAPID` > /dev/null then # Stale PID file (samba was succesfully stopped), # remove it (should be removed by samba itself IMHO.) rm -f $SAMBAPID fi log_end_msg 0 ;; restart|force-reload) $0 stop sleep 1 $0 start ;; *) echo "Usage: /etc/init.d/samba4 {start|stop|restart|force-reload}" exit 1 ;; esac exit 0 

実行可能にする必要があります
 chmod 755 /etc/init.d/samba4 

デフォルト設定を作成します
 update-rc.d samba4 defaults 

コンピューターを再起動する
 reboot 

6.サーバーのパフォーマンスの確認

再起動後にsambaが実行されているはず
 ps aux | grep samba 
ルート865 0.3 3.0 95408 31748? SS 18:59 0:00 / usr / local / samba / sbin / samba -D

DNSサーバーは動作するはずです
 nslookup dc1 
サーバー:127.0.0.1
住所:127.0.0.1#53

名前:dc1.domain.local
アドレス:192.168.10.1

ADネットワークリソースが利用可能である必要があります
 smbclient -L localhost -U% 
ドメイン= [ドメイン] OS = [Unix]サーバー= [Samba 4.1.6]
共有タイプのコメント
---netlogonディスク
sysvolディスク
IPC $ IPC IPCサービス(Samba 4.1.6)
ドメイン= [ドメイン] OS = [Unix]サーバー= [Samba 4.1.6]
サーバーコメント
--ワークグループマスター
--------

Kerberosは接続する必要があります
 kinit administrator 
警告:パスワードは、2014年4月23日18:49:14の41日後に期限切れになります

チケットケルベロスが保持する必要があります
 klist 
有効な開始有効期限サービスプリンシパル
03/12/2014 19:17 03/13/2014 05:17 krbtgt/DOMAIN.LOCAL@DOMAIN.LOCAL

Netlogon認証はパスする必要があります
 smbclient //localhost/netlogon -UAdministrator -c 'ls' 
ドメイン= [ドメイン] OS = [Unix]サーバー= [Samba 4.1.6]
。 D 0水3月12日18:46:48 2014
... D 0 2014年3月12日水曜日18:49:15


以上です。
ドメインに顧客を入力し、ユーザーを作成できます。

ADを管理できます:
Ubuntuでsamba-toolを部分的に使用する
Windows XPで管理ツールパックを使用する
Windows 7以降でのリモートサーバー管理ツール(RSAT)の使用

この投稿は、次の場所にある公式のSamba wikiの翻訳と見なすことができます。
wiki.samba.org/index.php/Samba_AD_DC_HOWTO 、私の追加。

PS誰かが興味があるなら、ドメインのUbuntuにバックアップコントローラーを含めることについて「マニュアル」を書くこともできます。

Source: https://habr.com/ru/post/J215573/


All Articles