Предположим, что у меня есть корпоративный домен mydomain
использование Active Directory MS. В домене у меня есть пользователи myuser
и youruser
. Теперь, на одной определенной машине Ubuntu mymachine
, myuser имеет sudo права и делает sudo su youruser
(или sudo -u youruser sh
). Так как myuser имеет необходимую конфигурацию sudoers, он не должен вводить пароль youruser и эффективно станет youruser на той машине.
Какого рода? youruser
полномочия будут myuser
имейте в этой точке? Очевидно, если youruser
также имеет корневой каталог на машине, myuser
может теперь получить доступ к нему и считать его частные локальные файлы. Но что произойдет при попытке получить доступ к ресурсу сетевого домена с помощью kerberos, самба и т.д.? Я предполагаю, так как он никогда не входил youruser
пароль он не аутентифицируется как пользователь домена, не имеет kerberos билета и т.д. Таким образом, если существует сетевая служба, которая проверяет составы группы на его идентификатор пользователя, который также перестанет работать? Как это работает? Он считается другим пользователем, скажем, mymachine\\youruser
в противоположность mydomain\\youruser
?
Предположим, что существует веб-сервис, работающий как демон на машине, с помощью преданного пользователя домена myserviceuser
. Если для этого веб-сервиса нужно к ресурсам сети доступа, т.е. пройдите проверку подлинности с Kerberos, как демон должен быть настроен, например, из новомодного сценария? Обычно Вы запускаете его с помощью чего-то как sudo -u myserviceuser <cmd>
, но данный вышеупомянутые предположения, это предоставит веб-сервису какие-либо права на ресурсы сети доступа? Не был должен пароль для этого пользователя должен быть введен где-нибудь?
Недостаточно четкой документации по этому материалу IMO.
Вы правы - если сервис защищен кербером, то su/sudo не достаточно, чтобы обойти необходимую авторизацию (НЕДОСТАТКО, чтобы у целевого пользователя был кэшированный билет, потому что он в данный момент входит в систему, или кэш-блок). Большинство ресурсов (например, локальная файловая система) полагаются на uidnumber и gidnumber для идентификации пользователя, и могут быть обойдены с помощью root/sudo доступа
Это забавный случай, с которым я имею дело в настоящее время на работе. Скажем, служебная учетная запись apache должна получить доступ к керберизованному ресурсу NFS. Вам нужно экспортировать ключ для apache в локальную файловую систему и исходный код, который при запуске службы периодически обновляется, возможно, через cron. В RHEL7 есть gssproxy, что, похоже, упрощает эту задачу, но до этого момента я ещё не дошёл.
Клавиша является фактически сохранённой учетной записью. Если кто-то может получить к ней доступ, то он может маскироваться под этого пользователя. Экспорт нового ключа в IPA и AD изменяет пароль учетной записи.
Керберос Microsoft немного отличается, но большинство правил все еще применяются.
Я нахожусь в аналогичной ситуации с домашними каталогами autofs в каталогах Kerberized NFSv4:
~ / .ssh / authorized_keys
, потому что домашний каталог недоступен для демон SSH на цели. Он не недоступен, потому что он отключен, скорее он недоступен, потому что демон SSH не имеет TGT для доступа к домашнему каталогу, содержащему файл authorized_keys
. разрешений sudo
, я не могу sudo su
для учетной записи другого пользователя, если его домашний каталог не будет недоступен - опять же, у меня нет их TGT. su
в свою учетную запись, и их домашний каталог будет доступен при входе в систему, если у меня есть их пароль, потому что вход в систему через su
проходит через PAM, и это дает мне TGT, который позволит успешно выполнить автоматическое монтирование. kdestroy
. Теперь я могу ввести sudo su
в учетную запись этого пользователя, и домашний каталог будет выполнен автоматически. Общая тенденция здесь заключается в том, что TGT недоступен, если перенаправляемый билет не передан с другой машины или если у пользователя нет пароля для получения билета с какой-либо формой входа в систему или kinit
.
Допуская, что служебные учетные записи могут иногда размещать пользователей (например, для централизации сложной конфигурации, такой как ~ / .kube /
), недостаточно поместить keytab в каталог учетной записи по той же причине, что и ] authorized_keys
не работает. Недостаточно также полагаться на билеты с длительным сроком службы и задания cron для пополнения системной связки ключей, потому что при перезагрузке связка ключей будет стерта, и она будет недоступна до следующего вызова cron (что, вероятно, займет некоторое время). Также беспорядок настраивать подобный cron на кластере машин.