この記事では、Samba4をドメインコントローラーとして使用するための準備手順と、Samba4に基づく追加のファイルサーバーについて説明します。 最後に何が得られますか? samba4で構成された2台のサーバー。1台目はドメインコントローラーの役割で、2台目はユーザーファイルを持つメンバーサーバーの役割です。 私はこのバンドルの機能を約1ヶ月間達成しましたが、シムのために、最終的なレシピを共有しません、単に権利を持っていません...
少し背景:会社はLDAPバックエンドを備えたsamba3.6に基づくファイルサーバーを使用します。これには、アクセス権を持つすべてのユーザーとグループのリストが含まれます。 ディレクトリへのアクセス権はxattr_acl(拡張ファイル属性)を使用して設定され、アクセスグループを持つユーザーのリストはLDAPに保存されます。 実際、このインフラストラクチャからsamba4に移行する必要があります...
1)samba4用に2つのサーバーを準備しています。SUSELinux Enterprise 11 Service Pack 3(SLES11 SP3)ディストリビューションをエンタープライズ標準として使用しているため、それに基づいてすべてを展開します。 その後、ソースからsambaを収集できます。これはオプションです。sernetの既製のアセンブリを使用します。これは、ポータルに登録するだけで無料で入手できます-Portal
Enterprise SambaSernetは、いくつかのディストリビューション(Debian、Ubuntu、RHEL、CentOS、SLES、openSUSE)用にsambaを構築します。
Samba4バージョン4.1.6を使用しました
2)私たちのDCとして機能する最初のサーバーに、sernet-samba-adをインストールします。 問題がある場合は、公式の指示
-Samba AD DC HOWTOをご覧ください 。 DNSサーバーに将来のドメイン名を登録し、新しいサーバーを示すことを忘れないでください。
次に、samba-toolsを使用してドメインを作成します。
samba-tool domain provision --use-rfc2307 --interactive
システムは、たとえばドメイン名など、指定する必要があるいくつかのパラメーターを要求し、パスワードも要求します。 実際にはドメイン名のみを指定する必要があり、他のすべての質問にはデフォルトで回答を残すことができます。 管理者パスワードは、Windowsの標準パスワードポリシー、つまり、 少なくとも1つの小文字と1つの大きな文字、数字、および少なくとも8文字が必要です。
新しく構成されたsamba構成Kerberosをデフォルトの場所にコピーします。
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf
Kerberosが正しく機能していることを確認するには、krb5-clientをインストールし、認証が機能していることを確認します。
kinit administrator@EXAMPLE.COM klist
すべてが問題ない場合、klistはチケットに関する情報を表示する必要があります。
ファイル/ etc / default / sernet-sambaを修正する必要があります
行SAMBA_START_MODE =を次の行に編集します。
SAMBA_START_MODE="ad"
その後、Samba自体を実行できます
/etc/init.d/sernet-samba-ad start
起動が成功した場合、ドメインコントローラーが既に展開されていると想定できます。
ファイル/etc/nsswitch.confを編集して、システムがドメインおよびグループのユーザーを表示し、通常はファイルへの権限を設定できるようにします。 これらの2行を次の形式にします。
passwd: compat winbind group: compat winbind
システムを再起動し、機能するかどうかを確認します... getent passwdおよびgetent groupを使用します。 ドメインのグループとユーザーが表示されます。 このステップに関する詳細な公式指示を読むことができます
-Samba4 / Winbindドメインへの管理のためにWindowsマシンに入ることは残っていますが、これで問題はないと思います。
3)ドメインに入力したWindowsマシンに、管理パックをインストールします。 ADのユーザー管理に機器を使用しています。
2番目のサーバーでのxattr_aclの将来の通常操作のために、各グループとユーザーにunix uid \ gidを割り当てる必要があります。
4)2番目のサーバーの準備を開始します。これは、メンバーサーバーとして機能し、ドメイン内のファイルサーバーになります。
sssdをインストールします。標準のSLES11リポジトリにはバージョン1.9.4があり、非常に適しています。 sssd-toolsもインストールします。 ドメインからUNIX属性を持つユーザーを取得するには、sssdが必要です。 構成の詳細については、公式の指示-
ローカルユーザー管理と認証/ sssdをご覧ください。Kerberosを介してADとの通信を構成します。
最初のサーバー(DC)で、Kerberosからキータブをエクスポートする必要があります。
samba-tool domain exportkeytab /etc/krb5.sssd.keytab --principal=__DC$ chown root:root /etc/krb5.sssd.keytab chmod 600 /etc/krb5.sssd.keytab
セキュリティのために、追加の権利を切り捨てます。 同じ方法で、keytabファイルを2番目のサーバーにコピーします。
sssd.confの編集
[sssd] services = nss, pam config_file_version = 2 domains = default [nss] [pam] [domain/default] ad_hostname = smbad.samba4.servdesk.ru ad_server = smbad.samba4.servdesk.ru ad_domain = samba4.servdesk.ru ldap_schema = rfc2307bis id_provider = ldap access_provider = simple
自分でDCとドメインの名前を修正することを忘れないでください。 sssdを自動実行に入れ、サーバーを再起動します。
次に、キャッシュをリセットして、ユーザーとグループを確認できます。
sss_cache -UG getent group ... Schema Admins:*:10110:Administrator Domain Users:*:10103: DnsAdmins:*:10117: servdesk:*:10102:test
リストには、WindowsのADスナップインで設定したuid \ gidを持つグループとユーザーが含まれている必要があります。
5)2番目のサーバーでsamba4を構成し、sernet-samba-nmbd、sernet-samba-smbd、sernet-samba-winbind、およびそれらのすべての依存関係をインストールします。 設定の詳細については、公式の指示
-Samba /ドメインメンバーをご覧ください。
smb.confを作成すると、私のファイルは次のようになります。
[global] workgroup = SAMBA4 security = ADS realm = SAMBA4.SERVDESK.RU
設定を自分で修正することを忘れないでください。ドメイン名を自分のものに変更する必要があります。
hostsファイルを修正します。メンバーサーバーの名前を直接指定する必要があります。そうしないと、ADでDNSゾーンが自動的に更新されません。
127.0.0.1 localhost 127.0.0.1 samba3.samba4.servdesk.ru samba3
ドメインに入るための手順を実行します。
net ads join -U administrator
管理者パスワードを入力する必要があります。
実際には、メンバーサーバーは既にドメインにあります。
Windowsからマシンを試してログインパスワードで接続し、いくつかのフォルダーを作成して権限を確認できます...
フォルダー123を作成し、権限を確認します。
getfacl /data1/123
ご覧のとおり、すべての権限が正しく設定されています。
その後、新しいドメインへのユーザーの転送を開始し、希望に応じてフォルダーにアクセス許可を設定できます。
glusterfsとsamba4を組み合わせてフォールトトレラントファイルサーバーを作成することもできますが、それはまったく別の話です...
誰か質問があれば、喜んでお手伝いします。