Ubuntu使用PBIS认证

本文涉及的产品
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介:

PBIS可以很方便的加域然后使用域认证,比起winbind+samba方便多了。这东西原来叫LikeWise,现在换了这个名字,有开源版本,功能上也够用了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#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认证

1:先退出域

1
net ads leave -U  test .net administrator

2:把原来/etc/pam.d/ 下面的winbind相关项删除,还有/etc/nsswitch.conf 里面的winbind删除

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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(用不到了)。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
1
/opt/pbis/bin/samba-interop-install  -- install   #这样就可以使用pbis认证samba了


另外bash提示符是 test\username 这样的格式,然后为了美观把格式改为 username 这样

1
sed  -i  "58s#^.*\$#&\nmodify_username()\n{\n    echo \$USER | awk -F\\\\\\\\ '{print \$NF}'\n}\n#;s#\\\\u#\$(modify_username)#g"  /etc/skel/ .bashrc

centos

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
 
for  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出现这样的错误

1
2
#Bad talloc magic value - access after free
apt-get  install  libtalloc2


#加域时出现

1
2
#Error: ERROR_GEN_FAILURE [code 0x0000001f]
apt-get remove avahi-daemon



本文转自 nonono11 51CTO博客,原文链接:http://blog.51cto.com/abian/1947099,如需转载请自行联系原作者
相关文章
Ubuntu:成功解决ubuntu使用su切换root出现Authentication failure用户时认证失败
Ubuntu:成功解决ubuntu使用su切换root出现Authentication failure用户时认证失败
Ubuntu:成功解决ubuntu使用su切换root出现Authentication failure用户时认证失败
|
Ubuntu Linux 数据安全/隐私保护
|
Ubuntu 数据安全/隐私保护 Unix
Ubuntu su认证失败
在第一次使用ubuntu系统的root的时候,提示认证失败 su或者su root:认证失败 解:ubuntu默认root是禁用的,要先重新设置密码才能使用。 ①:使用 sudo passwd root ②:第一次输入,安装密码。 ③:设置UNIX新密码和确认密码后,重启即可使用ok。 具体见图:
4439 0
|
1月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
220 78
|
2月前
|
存储 Ubuntu 安全
在Ubuntu 16.04上安装openjdk-6/7/8-jdk的步骤
在整个安装过程中,你可能需要管理员权限,因此你可能要使用 `sudo` 来获取必要的权限。记得做完每一个步骤后,都要检查输出,以确保没有发生错误,并且每项操作都成功完成。如果在安装过程中遇到问题,查看 `/var/log/` 下的日志文件对于问题的解决可能是有帮助的。
127 21
|
2月前
|
IDE Ubuntu Java
在Ubuntu18.04安装兼容JDK 8的Eclipse集成开发环境的指南。
完成以上步骤后,您将在Ubuntu 18.04系统上成功安装并配置了Eclipse IDE,它将与JDK 8兼容,可以开始进行Java开发工作。如果遇到任何问题,请确保每一步骤都正确执行,并检查是否所有路径都与您的具体情况相匹配。
105 11
|
2月前
|
Kubernetes 负载均衡 Ubuntu
Kubernetes安装详细教程 Ubuntu版
本教程基于Ubuntu 22.04配置Kubernetes环境,涵盖依赖安装、swap关闭、内核参数调整、containerd与Kubernetes组件安装、集群初始化及CNI网络插件部署等内容,并提供常见问题处理方法和相关工具推荐。