我有一个偶尔会发生的问题 – 消失,这使我疯狂。
我的Debian服务器通过ADauthentication,只有“linuxadmins”组成员可以通过SSH连接服务器和“sudo su”。
SSHlogin工作,没有问题,但用户在使用sudo时出现“用户xyz不在sudoers”错误
我的/ etc / sudoers包含AD组名
%linuxadmins ALL =(ALL) ALL
和桑巴conf
#GLOBAL PARAMETERS [global] workgroup = RKAS realm = RKAS.RK preferred master = no server string = SEP DEV Server security = ADS encrypt passwords = true log level = 3 log file = /var/log/samba/%m max log size = 50 printcap name = cups printing = cups winbind enum users = Yes winbind enum groups = Yes winbind use default domain = Yes winbind nested groups = Yes #winbind separator = + #idmap uid = 600-20000 #idmap gid = 600-20000 ;template primary group = "Domain Users" template shell = /bin/bash template homedir = /home/%D/%U winbind offline logon = yes winbind refresh tickets = yes
问题在于桑巴处理组的分隔符。
getent group | grep linuxadmins
在几分钟之间给出两个不同的结果
linuxadmins:x:784:xyz
要么
\linuxadmins:x:784:xyz
如果没有反斜杠,用户只能sudo。
怎么了? 我不明白为什么它不断添加反斜杠并将其删除在组名中?
普通账户:
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so account [success=1 new_authtok_reqd=done default=ignore] pam_winbind.so account required pam_permit.so
共AUTH:
auth [success=2 default=ignore] pam_unix.so nullok_secure auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login require_membership_of=linuxadmins try_first_pass auth required pam_permit.so
没有共同的系统,只有会话
session required pam_mkhomedir.so umask=0022 skel=/etc/skel
我必须补充说,这种行为是通过所有的Linux服务器发生的
对,所以实际上 idmap的uid范围已被弃用,但它被replace为:
idmap backend = ad idmap config *:backend = ad idmap config *:range = 10000-20000
看,我认为正在发生..是桑巴(和相关模块)不知道如何分配正确的ID /用户ID。
我将这3行放入/etc/samba/smb.conf ,清除sambacaching文件(它们全部重新创build) rm -rf /var/lib/samba/*重新启动所有samba服务, winbindd , smbd , nmbd ,然后与wbinfo -u , wbinfo -g , wbinfo -i $id
您还需要确保所有用户和组都具有uidNumbers和gidNumbers(Active Directorypipe理中心,右键单击用户,打开属性,find属性编辑器,如果尚未设置,则设置uidnumber和gidnumber)。
您还需要有一个gidNumber用于对树进行分组,包括域用户。