У меня есть проблема, которая иногда возникает-исчезает, и это сводит меня с ума.
Мои серверы Debian аутентифицированы в AD, и только член группы linuxadmins может подключаться по SSH к серверу и sudo su.
Вход по SSH работает, проблем нет, но пользователи получают сообщение об ошибке «пользователь xyz не находится в sudoers» при использовании sudo
мой / etc / sudoers содержит имя группы AD
%linuxadmins ALL =(ALL) ALL
И самба конф
#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 только в том случае, если нет baskslash.
В чем дело? Я не могу понять, почему он постоянно добавляет обратную косую черту и удаляет ее в именах групп?
общий счет:
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
common-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 range устарел, но был заменен следующим:
idmap backend = ad
idmap config *:backend = ad
idmap config *:range = 10000-20000
Видите, что, как мне кажется, происходит ... Самба (и связанные с ней модули) не знают, как назначить правильный id / uid пользователю.
Я бы вставил эти 3 строчки в /etc/samba/smb.conf
, Сотрите файлы кеша самбы (все они воссоздаются) rm -rf /var/lib/samba/*
Перезапустите все сервисы самбы, winbindd
,smbd
,nmbd
а затем попробовать wbinfo -u
, wbinfo -g
, wbinfo -i $id
Вы также захотите убедиться, что все пользователи и группы имеют uidNumbers и gidNumbers (в центре администрирования Active Directory щелкните пользователя правой кнопкой мыши, откройте свойства, найдите редактор атрибутов, установите uidnumber и gidnumber, если они еще не установлены).
Вам также необходимо иметь gidNumber для групп вверху дерева, включая пользователей домена.