
Я работаю над пользовательским чаром, который я хотел бы развернуть в своей настройке Landscape. У меня есть функциональное облако, работающее через MAAS и openstack-install (можно запускать экземпляры и т. д.). Чтобы получить доступ к настройке juju, используемой Landscape, я сделал следующее на своем узле MAAS:
*экспорт JUJU_HOME=~/.cloud-install/juju
статус джуджу
juju ssh ландшафтный-сервер/0 sudo 'JUJU_HOME=/var/lib/landscape/juju-homes/sudo ls -rt /var/lib/landscape/juju-homes/ | хвост -1 sudo -u ландшафт -E bash'
статус джуджу*
Итак, теперь я могу войти в ландшафтный узел по SSH. Однако, как только я вхожу по SSH, я хочу выполнить scp по файлам для моего пользовательского шарма, чтобы я мог развернуть локально, но получаю ошибку Permission Denied.
Я даже не могу создать новый каталог как обычный пользователь. landscape@juju-machine-0-lxc-1:~$ mkdir ola mkdir: невозможно создать каталог 'ola': Отказано в доступе
Sudo'ing запрашивает пароль для альбомной ориентации, которого у меня нет. Как мне это обойти?
решение1
Вы можете подключиться по ssh к landscape-server/0 без длинной строки sudo, что позволит вам войти в этот узел как «ubuntu», который может выполнить sudo для любого другого пользователя без пароля, включая landscape.
Поместите файлы в нужное место в landscape-server/0, убедитесь, что пользователь Landscape может получить к ним доступ, затем станьте пользователем Landscape и установите JUJU_HOME. Затем вы можете juju scp их в любой узел во внутренней облачной среде.
У пользователя с альбомной ориентацией по умолчанию нет оболочки, поэтому длинная строка sudo, которую вы нашли, в конце запускает команду bash.
решение2
Если вы используете колдовство, я использовал это:
$:juju ssh landscape-server/0 sudo 'JUJU_DATA=/var/lib/landscape/juju-homes/`sudo ls -rt /var/lib/landscape/juju-homes/ | tail -1` sudo -u root -E bash'
Затем переключитесь на контроллер не по умолчанию, здесь он называется контроллер:
$: juju switch controller
$: juju status