Инженер UNIX моего хостинг-провайдера сказал мне, что установить Ansible на сервере проблематично, потому что можно получить root
привилегии от него.
Отредактированное примечание: Ansible фактически установлен на сервере и используется для подготовки того же сервера и развертывания приложения на localhost
. Это особый случай, так как также нет хоста перехода, на котором можно было бы установить Ansible.
Я не понимаю, как это возможно. Насколько я понимаю, Ansible может использовать привилегии пользователя, от имени которого он работает. Если у этого пользователя есть root
привилегии, Ansible также может их использовать (например, используя become
). Но в противном случае нет возможности повысить привилегии.
С Docker все было иначе (не уверен, правда ли это). Возможность запускать контейнеры Docker равнялась привилегированному доступу.
Претензия Ansible == root
правда? Кто-нибудь знает источники, утверждающие это или наоборот?
Вы совершенно правы, Ansible просто работает поверх ssh и не может повышать привилегии больше, чем обычный пользователь ssh. То, что говорит инженер, не имеет смысла. Он явно ничего не знает об этом инструменте и, возможно, делает какое-то неверное предположение (думая, что он работает как puppet / cfengine / salt).
Фактически, он говорит об «установке ансибля». Ну, вы не устанавливаете анзибл на управляемый вами сервер, поскольку на нем нет агента.
Вам нужно только установить ansible на хосте, с которого вы хотите запускать свои задания оркестрации (это также может быть ваш ноутбук). А это также означает, что вам даже не нужно говорить ему, что вы будете использовать ансибл :)