CentOS 7 SSSD ADとSambaの共有

CentOS 7 SSSD ADとSambaの共有

フォローするこのウェブサイトのチュートリアルWindows Server 2008ドメインに参加するには、SSSD(WinBindを除く)をインストールします。それは大きな成功でした。以前はZentyalを使用して共有フォルダを設定しようとしましたが、成功しませんでした...Zentyalでは常にエラーが発生しました...

GUIを使って作業をしたかったのですが、Webmin SambaとZentyalに失敗したときに残った唯一のオプションは、コマンドを使用して1つずつ設定し、smb.confを手動で実装するだけでした.幸いなことに、チュートリアルでは問題なくドメインに参加でき、Samba共有を設定できました。


smb.confです

[global]
        workgroup = ADDOMAIN
        server string = Samba Server Version %v
        security = ads
        # encrypt passwords = yes
        # passdb backend = tdbsam
        idmap config * : backend = tdb
        realm = addomain.tld
        access based share enum = yes

        # this is just a member server
        domain master = no
        local master = no
        preferred master = no

        # in my test network I could not get AD authentication for smb shares to work
        # without adding "kerberos method = secrets and keytab"
        kerberos method = secrets and keytab

        # Add the IPs / network ranges / subnets allowed acces to the server in general.
        # this is not a nesessary entry but in general a good idea.
        # hosts allow = 127. your local network info

        # log files split per-machine:
        log file = /var/log/samba/log.%m

        # enable the following line to debug:
        # log level = 3
        # maximum size of 50KB per log file, then rotate:
        max log size = 50

        # Not interested in printers
        load printers = no
        cups options = raw

        # This stops an annoying message from appearing in logs
        printcap name = /dev/null

        # File Shares under valid users I put a group if you create a group for samba in # active directory and add users to it those users will be able to access smb
        # shares from this server over the network.

[guest]
        comment = guest
        path = /home/samba/guest
        public = yes
        readonly = no
        writable = yes
        guest ok = yes

[admin]
        comment = admin
        path = /home/samba/admin
        public = no
        readonly = no
        writable = yes
        guest ok = no
        valid users = @"[email protected]"

ADDOMAIN\admintestユーザーがいます(または[Eメール保護])Windows PCにログインして「Admin」共有フォルダにアクセスしようとしましたが、アクセス権が付与されていません。ログに「NT_STATUS_ACCESS_DENIED」と表示されます。しかし、アカウントがグループにあると確信しています。

ADとユーザー情報がCentOS 7と同期していることを確認するために、有効ユーザーをからに変更しました。ユーザーは共有フォルダにアクセスできます。@"[email protected]""[email protected]"

それから私が解決しようとした問題は、idコマンドを使用することでした。完全な名前を使用する必要がないようにsssd.confを修正しました。だから...

# id admintest

  uid=821800500(admintest) gid=821800513(domain users) groups=821800513(domain users)

本当に変です。はい、このアカウントはドメインユーザーに属していますが、「admingp」を含むこのアカウントが属する他のグループがまだあります。

次に、「getent」コマンドを使用してグループメンバーを表示します。

# getent group admingp
  admingp:*:821808307:administrator,admintest,ben, ... (etc)

それはすべてです。 admintestがグループに属します。 Domain Usersグループにも属していたので、smb.confをもう一度修正してみましたが、有効ユーザーは次のように変更されました。共有フォルダにアクセスできます。@"domain [email protected]"

だから、smb.confも大丈夫で、AD認証も大丈夫だと結論付けることができます。ただし、ご存知のように、最初にid admintest一致するグループのみが表示されます。他のものはスキップされ、グループ権限で共有フォルダを設定できません。そしてそこには何十ものグループと何十もの共有フォルダがあり、単に一つずつ実装することはできません。

最後に命令をテストしましたid。 Linuxアカウント「support」は2つのグループに属します。 1つは「サポート」自体、もう1つは「ホイール」です。

# id support
  uid=1000(support) gid=1000(support) groups=1000(support),10(wheel)

Linuxユーザーは影響を受けません。それでは…何が間違っていますか?ここにsssd.confを添付しました。これを見てください。

[sssd]
domains = addomain.tld
config_file_version = 2
services = nss, pam

[domain/addomain.tld]
ad_domain = addomain.tld
krb5_realm = ADDOMAIN.TLD
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True

# use_fully_qualified_names = True
# fallback_homedir = /home/%u@%d

use_fully_qualified_names = False
fallback_homedir = /home/%u

enumerate = True
access_provider = simple
# access_provider = ldap

とても感謝しています。

関連情報