Редактирование / etc / sudoers, чтобы разрешить членам группы Winbind только sudo to 1 Local User

У меня есть несколько хостов Ubuntu Linux, которым необходимо подключиться к Active Directory для управления пользователями (к сожалению, здесь не было действительного сервера LDAP ...), и настроил Winbind для обработки аутентификации, и моя запись в группе %sudoers работает хорошо:

## Allow AD members of the service group restricted user access to that account
%sudoers ALL=(ALL:ALL) NOPASSWD:ALL

Я разрешил аутентификацию по паролю в конфигурации ssh и добавил следующую запись в мой файл sudoers для учетной записи:

%service ALL=(service:service) NOPASSWD:ALL

Это даже не находит группа, хотя группа sudoers и группы service находятся на одном уровне в дереве каталогов на сервере AD. Когда я делаю это:

%domain.local\\service ALL=(ALL:ALL) NOPASSWD:ALL

... члены группы service могут войти в систему и имеют полные права sudo, включая root, что недопустимо и уже включено в группу sudoers и запись. В качестве альтернативы, когда я делаю это:

%domain.local\\service ALL=(service:service) NOPASSWD:ALL

... участники не могут выполнять sudo для любого пользователя. Что касается пользователя службы, то здесь есть запись / etc / passwd для пользователя service:

service:x:1001:16777230::/opt/service:/bin/bash

Согласно Страница руководства Sudoers эта последняя запись, вероятно, должна работать, но для по какой-то причине это не так. Кроме того, %service также, вероятно, должно охватывать как локальное членство, так и членство, предоставляемое AD, но, похоже, это не так. Когда я создаю этого пользователя, так как на сервере каталогов уже есть группа с именем service, вот как я создаю учетную запись пользователя service:

useradd -d /opt/service -g service service

Вот вывод sudo -l для член группы:

[user.test@server ~]$ sudo -l
Matching Defaults entries for user.test on this host:
    requiretty, !visiblepw, always_set_home, env_reset, env_keep="COLORS
    DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS", env_keep+="MAIL PS1
    PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
    LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY
    LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL
    LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
    secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin

User user.test may run the following commands on this host:
    (service : service) NOPASSWD: /opt/service

Что мне здесь не хватает?

1
задан 11 May 2016 в 21:28

1 ответ

Я нашел решение. Мы должны были установить оболочку входа в систему и путь к sudoers записи для service дом пользователя как так:

%domain.local\\service ALL=(service) NOPASSWD:/bin/bash, /opt/service/*

Теперь мы можем ввести следующее для становления service пользователь:

$ sudo -i -u service
$ whoami
service
$ pwd
/opt/service
0
ответ дан 12 May 2016 в 07:28

Другие вопросы по тегам:

Похожие вопросы: