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にバックアップコントローラーを含めることについて「マニュアル」を書くこともできます。



All Articles