PBIS能夠很方便的加域而後使用域認證,比起winbind+samba方便多了。這東西原來叫LikeWise,如今換了這個名字,有開源版本,功能上也夠用了。linux
#1:下載 https://github.com/BeyondTrust/pbis-open/releases #2:安裝,默認設置便可 sh pbis-open-8.5.4.334.linux.x86_64.deb.sh #3:加域 domainjoin-cli join test.net admin #4:可能用獲得的自定義設置 /opt/pbis/bin/config HomeDirTemplate '%H/%D/%U' /opt/pbis/bin/config LoginShellTemplate /bin/bash /opt/pbis/bin/config HomeDirUmask 077 /opt/pbis/bin/config UserDomainPrefix test.net /opt/pbis/bin/config AssumeDefaultDomain true #/opt/pbis/bin/config Requiremembershipof test\\LinuxUser test\\new # 容許LinuxUser用戶組 及 new用戶登陸 #容許用戶組爲sudoer %test\\LinuxAdmins ALL=(ALL:ALL) ALL
若是用來使用的是winbind+samba認證git
1:先退出域github
net ads leave -U test.net administrator
2:把原來/etc/pam.d/ 下面的winbind相關項刪除,還有/etc/nsswitch.conf 裏面的winbind刪除centos
cat /etc/pam.d/common-account account [success=ok new_authtok_reqd=ok default=ignore] pam_lsass.so unknown_ok account [success=2 new_authtok_reqd=done default=ignore] pam_lsass.so account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so account requisite pam_deny.so account required pam_permit.so #-------------------------------------------------- cat /etc/pam.d/common-auth auth [success=2 default=ignore] pam_lsass.so auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass auth requisite pam_deny.so auth required pam_permit.so #-------------------------------------------------- cat /etc/pam.d/common-password password [success=2 default=ignore] pam_lsass.so password [success=1 default=ignore] pam_unix.so obscure try_first_pass sha512 password requisite pam_deny.so password required pam_permit.so #-------------------------------------------------- cat /etc/pam.d/common-session session [default=1] pam_permit.so session requisite pam_deny.so session required pam_permit.so session optional pam_umask.so session optional pam_lsass.so session required pam_unix.so session optional pam_systemd.so #-------------------------------------------------- cat /etc/pam.d/common-session-noninteractive session [default=1] pam_permit.so session requisite pam_deny.so session required pam_permit.so session optional pam_umask.so session optional pam_lsass.so session required pam_unix.so #-------------------------------------------------- cat /etc/nsswitch.conf passwd: compat lsass group: compat lsass shadow: compat gshadow: files hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis
3:若是還要使用samba,能夠刪除winbind(用不到了)。sass
net cache flush #不執行此操做,samba仍是使用原來winbind的UID #-------------------------------------------------- cat /etc/samba/smb.conf [global] server string = %h server (Samba, Ubuntu) security = ads workgroup = TEST realm = TEST.NET client ntlmv2 auth = yes encrypt passwords = yes log file = /var/log/samba/log.%m max log size = 1000 panic action = /usr/share/samba/panic-action %d machine password timeout = 0 [homes] comment = Home Directories browseable = no read only = no create mask = 0700 directory mask = 0700
/opt/pbis/bin/samba-interop-install --install #這樣就能夠使用pbis認證samba了
另外bash提示符是 test\username 這樣的格式,而後爲了美觀把格式改成 username 這樣bash
sed -i "58s#^.*\$#&\nmodify_username()\n{\n echo \$USER | awk -F\\\\\\\\ '{print \$NF}'\n}\n#;s#\\\\u#\$(modify_username)#g" /etc/skel/.bashrc
centossession
#!/bin/bash for i in `ls /home` do grep TESTDOMAIN /home/$i/.bashrc || cat >> /home/$i/.bashrc << EOF modify_username() { echo \$USER | awk -F\\\\\\\\ '{print \$NF}' } if [[ \$USER =~ "TESTDOMAIN" ]]; then PS1='[\$(modify_username)@\H:\w]\\$ ' fi EOF done grep TESTDOMAIN /etc/skel/.bashrc || cat >> /etc/skel/.bashrc << EOF modify_username() { echo \$USER | awk -F\\\\\\\\ '{print \$NF}' } if [[ \$USER =~ "TESTDOMAIN" ]]; then PS1='[\$(modify_username)@\H:\w]\\$ ' fi EOF
#samba出現這樣的錯誤dom
#Bad talloc magic value - access after free apt-get install libtalloc2
#加域時出現ide
#Error: ERROR_GEN_FAILURE [code 0x0000001f] apt-get remove avahi-daemon