ドメインコントローラーにアクセスするために、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更新を許可=非セキュアおよびセキュアこれにより、ワークステーション(ウィンドウを実行している)がドメインに入ったときにサーバー上のDNSレコードを動的に更新し、印刷サポートを無効にします。これにより、ログにエラーが常にスローされます。
印刷= bsd
printcap name = / dev / null
/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クライアントもインストールする
samba-toolドメインのプロビジョニング段階で作成されたファイルを使用してADで構成するapt-get install krb5-user
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にバックアップコントローラーを含めることについて「マニュアル」を書くこともできます。