Sudo — как пользоваться возможностью указывать имя компьютера(ip адрес/адрес сети) на котором разрешен запуск команды?
Многие знакомы с программой sudo.
Все мы знаем что запись: user1 HOST=(user2) command
Позволит пользователю user1 запустить команду(скрипт,программу) command c правами пользователя user2 на компьютере с именем/ip адресом/адресом сети HOST
Обычно системные администраторы не используют HOST и вместо него пишут псевдоним ALL.
Вот мне стало интересно и не очевидно, как использовать эту возможность.
Вот например есть компьютеры Host-A и Host-B.
На компьютере Host-A в /etc/sudosers есть запись: user1 Host-B= ALL
Она разрешает пользователю user1 запускать на компьютере Host-B любые команды с правами пользователя root.
Мне нужно предварительно каким-то образом настроить программу sudo на компьютере Host-B, чтобы она запрашивала файл /etc/sudoers c машины Host-A?
Приходилось ли кому-то применять это на практике?
Это нужно для тех случаев, когда sudoers у вас одинаковый на десятках-сотнях-тысячах хостов.
sudo просыпается, думает "ага, я хост такой-то". И смотрит, разрешено ли здесь этому пользователю выполнять вот это.
Смотрит на hostname -f обычно, емнип.
А один sudoers легче раскатывать через какую-нибудь config management system.
думаю, что этот вопрос Вам стоит обсудить с администратором бездисковых систем
я в своей практике с такими заморочками не сталкивался
вот ман на русском, надеюсь, что он Вам поможет www.opennet.ru:8101/man.shtml?topic=sudoers&catego...
Обычно системные администраторы не используют HOST и вместо него пишут псевдоним ALL.
Вот мне стало интересно и не очевидно, как использовать эту возможность.
Ну например, администратор работающий до меня на серверах оставил запись по умолчанию: %sudo ALL=(ALL:ALL) ALL.
Это умолчание в дистрибутиве Debian.
В живую я конечно его не видел, но и не вижу ничего зазорного в этой записи. В любом случае к делу это отношение не имеет.