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