Size: a a a

2020 August 26

A

Alexander in DevOps
Roman
ubuntu@serverip
sudo -s
cd root


И ошибка access denied
А зачем, кстати, тебе нужен интерактивный рутовый шелл в CI-джобе?
источник

A

Alexander in DevOps
Roman
И еще второй вопрос.
Когда пробую ubuntu@serverip то пропускает. Если root@serverip то пишет что бы подключатся только через  ubuntu и выходит
Да, так убунта по-дефолту настроена.
источник

R

Roman in DevOps
Alexander
А зачем, кстати, тебе нужен интерактивный рутовый шелл в CI-джобе?
Всегда так подключаюсь. А как не интерактивный и в чем разница будет?
источник

A

Alexander in DevOps
Roman
Всегда так подключаюсь. А как не интерактивный и в чем разница будет?
интерактивный — это в котором ты сам команды вводишь. Чего ты хочешь добиться, выполняя sudo -s в рамках github actions?
источник

R

Roman in DevOps
Alexander
интерактивный — это в котором ты сам команды вводишь. Чего ты хочешь добиться, выполняя sudo -s в рамках github actions?
Чтобы меня перекинуло в пользователя root
источник

R

Roman in DevOps
Я потом пишу git pull чтобы подтянуть изменения
источник

R

Roman in DevOps
Просто на сервере есть папка . root и там все папки важные. Или лучше тогда вытянуть из root папки наверх? Как по безопасности?
источник

A

Alexander in DevOps
Roman
Чтобы меня перекинуло в пользователя root
Ну перекинет (и, скорее всего, сразу же выкинет, т.к. шелл без терминала сразу выйдет, скорее всего). А дальше остальные команды в джобе побегут под непривилегированным юзером
sudo -s не повышает права текущего процесса (в частности, баша, интерпретирующего твой скрипт), он создает новый процесс с повышенными правами. и, соответственно, будучи вызванным в середине скрипта, на дальшейние команды в самом скрипте не повливяет.
источник

A

Alexander in DevOps
Тебе нужно написать отдельный скрипт с командами для рута, и уже его запускать через sudo
источник

R

Roman in DevOps
Напримев вот сам скрипт
сd /root/app
git pull


Так его переделать?

sudo сd /root/app
git pull
источник

A

Alexander in DevOps
Roman
Напримев вот сам скрипт
сd /root/app
git pull


Так его переделать?

sudo сd /root/app
git pull
Так у тебя запустится с повышенным привилегиями только cd, который затем сразу же завершит работу, никак не повлияв на дальнейшие команды.
Еще раз, sudo не меняет контекст выполняемого скрипта, в котором он запускается, и, соответственно, на другие команды тоже. Только на те, которые запускаются через sudo явно.
источник

R

Roman in DevOps
Alexander
Так у тебя запустится с повышенным привилегиями только cd, который затем сразу же завершит работу, никак не повлияв на дальнейшие команды.
Еще раз, sudo не меняет контекст выполняемого скрипта, в котором он запускается, и, соответственно, на другие команды тоже. Только на те, которые запускаются через sudo явно.
А например так sudo bash.sh?
источник

A

Alexander in DevOps
Roman
А например так sudo bash.sh?
Ну, если у тебя сам скрипт называется bash.sh (хоть это и странное название), то да.
источник

R

Roman in DevOps
Alexander
Ну, если у тебя сам скрипт называется bash.sh (хоть это и странное название), то да.
Я пример привел просто. Спасибо за помощь
источник

R

Roman in DevOps
Еще вопрос. Могу я запускать ansible плейбуки через github actions или например jenkins?
источник

A

Alexander in DevOps
Roman
Еще вопрос. Могу я запускать ansible плейбуки через github actions или например jenkins?
Можешь, конечно. Кто тебе запретит? :)
источник

R

Roman in DevOps
Переслано от TSHAWYTSCHA
источник

AA

Andrey A in DevOps
дд, вопрос наверно уже изъезженный, но задам: разработчики жили-были долгое время на стеке nginx + php-fpm, запущенные на хостовой машине. С некоторого периода они начали смотреть на RoudRunner. Хотят его запускать в докере. Сейчас разработчики работают под непривилегированными пользователями. В случае работы с контейнерами - их надо добавлять в группу docker - а это по сути доступ ко всей хостовой машине. Как вообще поступить? Пока идет речь только о деве, на проде тоже планируется, то там думаю сможем обойтись CI
источник

AA

Andrey A in DevOps
сделать пока локальное окружение у разработчиков не получается - там проблемы с доступом к оракловым серверам
источник

DS

Dmitry Sergeev in DevOps
Andrey A
дд, вопрос наверно уже изъезженный, но задам: разработчики жили-были долгое время на стеке nginx + php-fpm, запущенные на хостовой машине. С некоторого периода они начали смотреть на RoudRunner. Хотят его запускать в докере. Сейчас разработчики работают под непривилегированными пользователями. В случае работы с контейнерами - их надо добавлять в группу docker - а это по сути доступ ко всей хостовой машине. Как вообще поступить? Пока идет речь только о деве, на проде тоже планируется, то там думаю сможем обойтись CI
userns (https://docs.docker.com/engine/security/userns-remap/), но это может быть больно (смотри ограничения), больно особенно с волумами
источник