Үндсэн агуулга руу алгасах

Cookie

Сайтаа сайжруулж, танд тохирох хямдрал, санал харуулахад тусална. Дэлгэрэнгүй

BD Systems AsiaАлбан ёсны түншBitdefender Country Partner (шинэ цонхонд)

Endpoint-ийг Active Directory-д нэгтгэх — 2-р хэсэг: Winbind ашиглан Linux төхөөрөмжийг нэгтгэх

Bitdefender-ийн албан ёсны баримтаас орчуулавАнгли эх (EN) · Орчуулсан: 2026.11.12

Энэ хуудсыг AI-аар орчуулж, автоматаар шалгасан. Нарийн тохиргоо хийхээсээ өмнө англи эхтэй тулгаж болно.

← Үндсэн хуудас

Winbind ашиглан Linux төхөөрөмжийг Active Directory-д нэгтгэх нь

Энэ хэсэгт дараах үйлдлийн системүүдийн заавар байна:

  • CentOS6, RHEL7
  • CentOS 7/8, Fedora31, RHEL8, OracleLinux7
  • SUSE Linux Enterprise 12, 15
  • Ubuntu, Debian

CentOS6, RHEL7 дээр Winbind ашиглан Active Directory-д нэгтгэх

Winbind ашиглан Linux төхөөрөмжийг Active Directory (AD) domain-д нэгтгэхийн тулд доорх алхмуудыг дагахаас гадна Ерөнхий урьдчилсан нөхцөл-үүдийг хангасан байх ёстой.

Жишээ:

Realm: example.local
Domain User: administrator
Domain IP:   11.11.11.11
  1. Шаардлагатай багцуудыг суулгана.
    # yum -y install samba4-winbind samba4-winbind-clients pam_krb5 krb5-libs
  2. Дараах командыг ажиллуулж нэвтрэлт баталгаажуулах провайдерыг (authentication provider) солино:
    # authconfig \
     --enablekrb5 \
     --krb5kdc=example.local \
     --krb5adminserver=example.local \
     --krb5realm=EXAMPLE.LOCAL \
     --enablewinbind \
     --enablewinbindauth \
     --smbsecurity=ads \
     --smbrealm=EXAMPLE.LOCAL \
     --smbservers=example.local \
     --smbworkgroup=example\
     --winbindtemplatehomedir=/home/%U \
     --winbindtemplateshell=/bin/bash \
     --enablemkhomedir \
     --enablewinbindusedefaultdomain \
     --update
  3. /etc/nsswitch.conf файл дахь параметрүүдийг идэвхжүүлж nsswitch.conf файлыг тохируулна:
    passwd: compat winbind
    group: compat winbind
  4. Active Directory domain-д нэгтгэнэ.
  • Kerberos keytab файл үүсгэнэ:
    # sudo net ads keytab create -U administrator
  • Winbind үйлчилгээг эхлүүлнэ
    # service winbind start
    # chkconfig winbind on
  • Дараах командыг ажиллуулна
    #  net ads join -U administrator -v
    Enter administrator's password:
    Using short domain name -- EXAMPLE
    Joined 'Ubuntu20-VM' to dns domain 'example.local'
    No DNS domain configured for Ubuntu20-VM. Unable to perform DNS Update.
    DNS update failed!

Чухал

Дээрх мессежид DNS шинэчлэлт амжилтгүй болсон гэж гарсан ч DNS зөв шинэчлэгдсэн тул энэ алдааны мессежийг үл тооно уу.

  1. Дараах командыг ажиллуулж domain-тэй холбогдсоныг шалгана:
    # wbinfo -u

CentOS7/8, Fedora31, RHEL8, OracleLinux7 дээр Winbind ашиглан Active Directory-д нэгтгэх

Winbind ашиглан Linux төхөөрөмжийг Active Directory (AD) domain-д нэгтгэхийн тулд доорх алхмуудыг дагахаас гадна Ерөнхий урьдчилсан нөхцөл-үүдийг хангасан байх ёстой.

Жишээ:

Realm: example.local
Domain User: administrator
Domain IP:   11.11.11.11
  1. Шаардлагатай багцуудыг суулгана.
    # yum install samba samba-client samba-winbind samba-winbind-client
  2. smb.conf файлыг тохируулна.

Хуучин /etc/samba/smb.conf файлыг нөөцөлж, агуулгыг нь дараахаар солино:

[global]
        workgroup = EXAMPLE
        realm = EXAMPLE.LOCAL
        security = ads
        idmap config * : backend = autorid
        idmap config * : range = 100000-19999999
        idmap config * : rangesize = 1000000
        template homedir = /home/%D/%U
        template shell = /bin/bash
        winbind use default domain = false
        winbind offline logon = true
        log file = /var/log/samba/log.%m
        max log size = 50
        log level = 0
        kerberos method = secrets and keytab
  1. Active Directory domain-д нэгтгэнэ.
  • Kerberos krb5.keytab файл үүсгэнэ:
    # sudo net ads keytab create -U administrator
  • Winbind үйлчилгээг идэвхжүүлнэ.
    # systemctl enable winbind --now
  • Дараах командыг ажиллуулна.
    #  net ads join -U Administrator --no-dns-updates example.local
  1. Дараах командуудыг ажиллуулж domain-тэй холбогдсоныг шалгана.
    # host -t SRV _kerberos._udp.example.local
    
    # host -t SRV _kerberos._tcp.example.local
    
    # testparm
    
    # wbinfo -u
    
    # wbinfo -g

SUSE Linux Enterprise 12, 15 дээр Winbind ашиглан Active Directory-д нэгтгэх

Winbind ашиглан Linux төхөөрөмжийг Active Directory (AD) domain-д нэгтгэхийн тулд доорх алхмуудыг дагахаас гадна Ерөнхий урьдчилсан нөхцөл-үүдийг хангасан байх ёстой.

Жишээ:

Realm: example.local
Domain User: administrator
Domain IP:   11.11.11.11
  1. Шаардлагатай багцуудыг суулгана.
    • krb5 клиентийг суулгана.
      # zypper in krb5-client
  2. Kerberos клиентийг тохируулна.

Хуучин /etc/krb5.conf файлыг нөөцөлж, агуулгыг нь дараахаар солино:

[libdefaults]
    default_realm = EXAMPLE.LOCAL
    dns_lookup_kdc = true
    forwardable = true
    default_ccache_name = FILE:/tmp/krb5cc_%{uid}
[realms]
    EXAMPLE.LOCAL = {
        admin_server = EXAMPLE.LOCAL
        #kdc = dc1.EXAMPLE.LOCAL
        #kdc = dc2.EXAMPLE.LOCAL
    }
[logging]
    kdc = FILE:/var/log/krb5/krb5kdc.log
    admin_server = FILE:/var/log/krb5/kadmind.log
    default = SYSLOG:NOTICE:DAEMON
[domain_realm]
    .EXAMPLE.LOCAL = EXAMPLE.LOCAL
    EXAMPLE.LOCAL = EXAMPLE.LOCAL
  1. Дараах багцуудыг суулгана:
    # zypper in samba-client samba-libs samba-winbind
  2. smb.conf файлыг тохируулна.
    • Хуучин /etc/samba/smb.conf файлыг нөөцөлж, агуулгыг нь дараахаар солино:
      [global]
          workgroup = EXAMPLE
          kerberos method = secrets and keytab
          realm = EXAMPLE.LOCAL
          security = ADS
      
          winbind refresh tickets = yes
          winbind use default domain = yes
          template shell = /bin/bash
          template homedir = /home/%D/%U
      
          idmap config * : backend = tdb
          idmap config * : range = 10000-19999
          idmap config EXAMPLE: backend = rid
          idmap config EXAMPLE: range = 20000-29999
    • Файлын эрхийг 600 болгоно.
      # chmod 600 /etc/samba/smb.conf
  3. nsswitch.conf файлыг тохируулна.

/etc/nsswitch.conf файл дахь параметрүүдийг идэвхжүүлнэ:

passwd: compat winbind
group: compat winbind
  1. Дараах командыг ажиллуулж Kerberos-той холболт тогтооно.
    # kinit Administrator
  2. Дараах командыг ажиллуулж Active Directory domain-д нэгтгэнэ.
    #net ads join -U Administrator
  3. Дараах командуудыг ажиллуулж Winbind daemon-ийг идэвхжүүлээд эхлүүлнэ.
    # systemctl enable winbind
    # systemctl start winbind
  4. LDAP клиентийг тохируулна.
    • Шаардлагатай багцуудыг суулгана.
       zypper in openldap2-client cyrus-sasl-gssapi
    • /etc/openldap/ldap.conf файлд дараах мөрүүдийг нэмнэ.
      URI ldap://example.local
      BASE dc=example,dc=local
      REFERRALS OFF
  5. Дараах командуудыг ажиллуулж domain-тэй холбогдсоныг шалгана.
    # ldapsearch -Y GSSAPI cn=Administrator
    
    # net ads info
    
    # id administrator
    
    # getent passwd administrator

Ubuntu, Debian дээр Winbind ашиглан Active Directory-д нэгтгэх

Winbind ашиглан Linux төхөөрөмжийг Active Directory (AD) domain-д нэгтгэхийн тулд доорх алхмуудыг дагахаас гадна Ерөнхий урьдчилсан нөхцөл-үүдийг хангасан байх ёстой.

Жишээ:

Realm: example.local
Domain User: administrator
Domain IP:   11.11.11.11
  1. Дараах багцуудыг суулгана.
    # sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind

Domain-ы нэрийг зөвхөн том үсгээр оруулна:

Realm-ийн Kerberos server талбарыг хоосон үлдээнэ.

Kerberos realm-ийн administrative server талбарыг хоосон үлдээнэ.

  1. Дараах командыг ажиллуулж PAM-ийг тохируулаад “Create home directory on login” сонголтыг идэвхжүүлнэ.
    # sudo pam-auth-update

Чухал

Энэ команд Debian болон Ubuntu14-д хамаарахгүй.

  1. nsswitch.conf файлыг тохируулж, /etc/nsswitch.conf файл дахь параметрүүдийг идэвхжүүлнэ.
    passwd:     compat winbind
    group:        compat winbind
  2. smb.conf файлыг тохируулна.
    • Хуучин /etc/samba/smb.conf файлыг нөөцөлж, агуулгыг нь дараахаар солино:
      [global]
      
      workgroup = EXAMPLE
      security = ads
      realm = EXAMPLE.LOCAL
      encrypt passwords = yes
      winbind use default domain = yes
      winbind refresh tickets = true
      template homedir = /home/%D/%U
      template shell = /bin/bash
      kerberos method = secrets and keytab
    • samba үйлчилгээг дахин асаана.
      # systemctl restart smbd.service
  3. krb5.conf файлыг тохируулна. Хуучин /etc/krb5.conf файлыг нөөцөлж, агуулгыг нь дараахаар солино:
    [libdefaults]
           default_realm = EXAMPLE.LOCAL
           dns_lookup_realm = true
           dns_lookup_kdc = true
           dns_fallback = yes
    [realms]
           EXAMPLE.LOCAL = {
                 kdc = example.local
                 default_domain = example.local
           }
    [domain_realm]
           .EXAMPLE.LOCAL = EXAMPLE.LOCAL
           EXAMPLE.LOCAL = EXAMPLE.LOCAL
  4. Active Directory domain-д нэгтгэнэ.
    • Kerberos ticket үүсгээд шалгана.
      # sudo kinit administrator
    • Kerberos keytab файл үүсгэнэ.
      # sudo net ads keytab create -U administrator
    • Компьютерийг Active Directory-д нэгтгэнэ:
      # sudo net ads join -U administrator
    • samba үйлчилгээг дахин асаана.
      # systemctl restart smbd.service
  5. Дараах командуудыг ажиллуулж domain-тэй холбогдсоныг шалгана:
    # wbinfo -u
    
    # wbinfo -g
    
    # getent passwd
    
    # getent group
    
    # wbinfo -i administrator

Тэмдэглэл

DNS update failed: NT_STATUS_INVALID_PARAMETER нь алдаа биш.

Компьютер Active Directory-д амжилттай нэгдсэн.

Алдаа засах (Troubleshooting)

Энэ хэсэгт дараах заавар байна:

  • PBIS
  • SSSD
  • Winbind

PBIS-ээр Active Directory domain-д нэгтгэх үеийн алдаа засах

Энэ хэсэгт PBIS-ээр Active Directory domain-д нэгтгэх явцад гарч болох алдааны жагсаалт байна.

Жишээ:

Realm: example.local
Domain User: administrator
Domain IP: 11.11.11.11

Error: ERROR_GEN_FAILURE [code 0x0000001f]

domainjoin-cli команд avahi-daemon багц суусан байгаас болж амжилтгүй болж магадгүй.

# domainjoin-cli join example.local administrator
Joining to AD Domain:   example.local
With Computer DNS Name: user.example.local

administrator@EXAMPLE.LOCAL's password:

Error: ERROR_GEN_FAILURE [code 0x0000001f]

Шийдэл

  • avahi-daemon багцыг устгана
    # sudo apt-get remove avahi-daemon

Error: Invalid hostname [code 0x000004ba]

domainjoin-cli команд hostname буруу тохируулагдсанаас болж амжилтгүй болж магадгүй.

# cd /opt/pbis/bin/
# sudo domainjoin-cli join example.local administrator
Error: Invalid hostname [code 0x000004ba]
The hostname may not be 'linux' or 'localhost'.

Шийдэл

  • Дараах командыг ажиллуулж hostname-ийг солино:
    # hostnamectl set-hostname <NAME>
  • /etc/hostname файлаас хуучин нэрийг устгаад шинээр нь бичнэ.
  • /etc/hosts файл дахь төхөөрөмжийн хуучин нэрийг бүгдийг нь шинээр нь солино.
  • Төхөөрөмжийг дахин асаана.

Error: Module not configured [code 0x000003eb]

domainjoin-cli команд hostname буруу тохируулагдсанаас болж амжилтгүй болж магадгүй.

# cd /opt/pbis/bin/
# sudo domainjoin-cli join example.local administrator
Joining to AD Domain:   example.local
With Computer DNS Name: bdvm-c6x64.example.local

administrator@EXAMPLE.LOCAL's password:

Error: Module not configured [code 0x000003eb]

Even though the configuration of 'hostname' was executed, the configuration is not complete. Please
contact support.

Шийдэл

  • Дараах командыг ажиллуулж hostname-ийг солино:
    # hostnamectl set-hostname <NAME>
  • etc/hostname файлаас хуучин нэрийг устгаад шинээр нь бичнэ.
  • /etc/hosts файл дахь төхөөрөмжийн хуучин нэрийг бүгдийг нь шинээр нь солино.
  • Төхөөрөмжийг дахин асаана.

Error: BeyondTrust AD Bridge Open requires library libnsl.so.1; please install libnsl.so.1 before installing AD Bridge.

libnsl.so.1 сан байхгүйгээс .sh файлыг ажиллуулахад алдаа гарч магадгүй.

# ./pbis-open-9.1.0.551.linux.x86_64.rpm.sh
Creating directory pbis-open-9.1.0.551.linux.x86_64.rpm
Verifying archive integrity... All good.
Uncompressing pbis-open-9.1.0.551.linux.x86_64.rpm..........
Installing packages and old packages will be removed
warning: /home/pbis-open-9.1.0.551.linux.x86_64.rpm/./packages/pbis-open-upgrade-9.1.0-551.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID c9ceecef: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:pbis-open-upgrade-9.1.0-551      ################################# [100%]
warning: /home/pbis-open-9.1.0.551.linux.x86_64.rpm/./packages/pbis-open-9.1.0-551.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID c9ceecef: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
BeyondTrust AD Bridge Open requires library libnsl.so.1; please install libnsl.so.1 before installing AD Bridge.

error: %prein(pbis-open-9.1.0-551.x86_64) scriptlet failed, exit status 1
error: pbis-open-9.1.0-551.x86_64: install failed
Error installing /home/pbis-open-9.1.0.551.linux.x86_64.rpm/./packages/pbis-open-9.1.0-551.x86_64.rpm
The install has not completed. Correct any errors and reinstall by running /home/pbis-open-9.1.0.551.linux.x86_64.rpm/install.sh install

Шийдэл

  • libnsl багцыг суулгана
    #  yum install libnsl

Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

Дотоод mirrorlist-ээс болж багцыг суулгах боломжгүй байна.

# yum install libnsl
CentOS Linux 8 - AppStream                                             118  B/s |  38  B     00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
[root@bdvm-c8x64 home]# yum install libnsl
CentOS Linux 8 - AppStream                                             512  B/s |  38  B     00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist
[root@bdvm-c8x64 home]# yum update
CentOS Linux 8 - AppStream                                             437  B/s |  38  B     00:00
Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

Шийдэл

  • Дараах командуудыг ажиллуулна:
    # cd /etc/yum.repos.d/
    # sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
    # sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
    # yum update -y
  • Багцыг дахин суулгана

Error: Received error while querying lwsmd. [code 0x00000002]

error code 0x00000002 алдаанаас болж domain-д нэгдэх боломжгүй байна.

# sudo domainjoin-cli join example.local administrator

Error: Received error while querying lwsmd. [code 0x00000002]
Received error while querying lwsmd.

Шийдэл

  • pbis-open*.sh файлын гаралтад SELinux-тай холбоотой тэмдэглэл байгаа эсэхийг шалгана.
    # ./pbis-open-9.1.0.551.linux.x86_64.rpm.sh
    Creating directory pbis-open-9.1.0.551.linux.x86_64.rpm
    Verifying archive integrity... All good.
    Uncompressing pbis-open-9.1.0.551.linux.x86_64.rpm..........
    Installing packages and old packages will be removed
    ...
    SELinux Mode: Enforcing
    
    An appropriate SELinux policy [/opt/pbis/share/rhel/unknown/pbis.pp] was not included in this package. You may provide a policy at /opt/pbis/share/pbis.pp
    
    SELinux found to be present, enabled, and enforcing. You may either provide a policy at /opt/pbis/share/pbis.pp --OR-- SELinux must be disabled or set to permissive mode by editing the file /etc/selinux/config and rebooting. For instructions on how to edit the file to disable SELinux, see the SELinux man page.
    
    BeyondTrust AD Bridge will not install without an appropriate policy for SELinux.
    
    warning: %post(pbis-open-9.1.0-551.x86_64) scriptlet failed, exit status 1
    
    ...
  • Дараах командыг ажиллуулж SELinux-ийн төлвийг шалгана:
    # sestatus
    SELinux status:                 enabled
    SELinuxfs mount:                /sys/fs/selinux
    SELinux root directory:         /etc/selinux
    Loaded policy name:             targeted
    Current mode:                   enforcing
    Mode from config file:          enforcing
    Policy MLS status:              enabled
    Policy deny_unknown status:     allowed
    Memory protection checking:     actual (secure)
    Max kernel policy version:      31
  • Тохиргооны /etc/selinux/config файл дахь SELINUX хувьсагчийн утгыг өөрчилж SELinux-ийг идэвхгүй болгоно.
    SELINUX=disabled
  • pbis-open*.sh командыг дахин ажиллуулна.

Энэ хуудсанд гарсан нэр томъёо

Endpoint
Хамгаалж буй компьютер, сервер, виртуал машин
Policy
Хамгаалалтын тохиргооны багц; төхөөрөмж эсвэл бүлэгт оноодог
Асуулт байна уу?AI туслах GravityZone-ийн монгол баримтаас хайна. Нарийн асуудлыг таны гэрээт борлуулагч, Bitdefender Mongolia-ийн инженер шийднэ.