Size: a a a

2020 April 02

DS

Dmitry Sergeev in DevOps
Alexander
Давай по шагам, что делают sudo и su, и где появляются различия?
на уровне системных вызовов? Я хз, так глубоко их не изучал. Но программы разные
источник

N

Navern in DevOps
Я думаю обе делают setuid
источник

A

Aragaer in DevOps
в sudo обычно вводится свой пароль, а в su пароль того аккаунта, от которого ты хочешь действовать.
То, что они почему-то случайно у кого-то совпадают, это отдельный вопрос
источник

A

Alexander in DevOps
Navern
В коде ифчики по разному написаны;))
Я не про отдельные ифчики, я про общие шаги. Тут обращаемся к pam, там делаем setuid, а там зовем шелл, например.
источник

N

Navern in DevOps
if() if() if() seteuid(targetuser) exec(/bin/bash)
источник

N

Navern in DevOps
:)
источник

A

Alexander in DevOps
Dmitry Sergeev
на уровне системных вызовов? Я хз, так глубоко их не изучал. Но программы разные
Не, системные вызовы тут не требуются (почти). Просто опиши разницу в логике.
источник

DS

Dmitry Sergeev in DevOps
Alexander
Не, системные вызовы тут не требуются (почти). Просто опиши разницу в логике.
Я думаю разница скорее в том что для sudo есть sudoers где все эти ограничения описаны, и на этом этапе он уже отметает какие-то дейсвтия, если тебе они не разрешены (после аутентификации)
источник

DS

Dmitry Sergeev in DevOps
Alexander
Не, системные вызовы тут не требуются (почти). Просто опиши разницу в логике.
а в su сразу запускается аутентификация от другого юзера
источник

DS

Dmitry Sergeev in DevOps
Alexander
Не, системные вызовы тут не требуются (почти). Просто опиши разницу в логике.
а в sudo видимо можно добавить доп аутентификацию для юзера от которого ты запускаешь по targetpw, но я про эту опцию не знал
источник

A

Alexander in DevOps
Dmitry Sergeev
Я думаю разница скорее в том что для sudo есть sudoers где все эти ограничения описаны, и на этом этапе он уже отметает какие-то дейсвтия, если тебе они не разрешены (после аутентификации)
Т.е. разница только в дефолтном поведении на этапе обработки конфига еще до вызова pam и, тем более, запуска шелла?
источник

DS

Dmitry Sergeev in DevOps
Alexander
Т.е. разница только в дефолтном поведении на этапе обработки конфига еще до вызова pam и, тем более, запуска шелла?
ну получается что так. sudo куча доп логики до этапа аутентификации от другого юзера (которая по умолчанию отключена)
источник

DS

Dmitry Sergeev in DevOps
Получается с targetpw в sudo, su и правда не нужен. Был неправ
источник

A

Alexander in DevOps
Dmitry Sergeev
ну получается что так. sudo куча доп логики до этапа аутентификации от другого юзера (которая по умолчанию отключена)
По умолчанию, аутентификация есть. Не видел ни одного дистра с включенным NOPASSWD. Но, в целом, например, если у тебя выставлен NOPASSWD для wheel в sudoers и в /etc/pam.d/su есть pam_wheel.so trust use_uid, то поведение sudo -i и su - будет для тебя одинаковым: запуск от рута шелла из passwd в режиме логин-шелла без запроса пароля.
источник

DS

Dmitry Sergeev in DevOps
Alexander
По умолчанию, аутентификация есть. Не видел ни одного дистра с включенным NOPASSWD. Но, в целом, например, если у тебя выставлен NOPASSWD для wheel в sudoers и в /etc/pam.d/su есть pam_wheel.so trust use_uid, то поведение sudo -i и su - будет для тебя одинаковым: запуск от рута шелла из passwd в режиме логин-шелла без запроса пароля.
я про аутентификацию не текущего юзера, а юзера от которого текущий юзер запускает процесс. То есть про targetpw
источник

A

Alexander in DevOps
Dmitry Sergeev
я про аутентификацию не текущего юзера, а юзера от которого текущий юзер запускает процесс. То есть про targetpw
Да, тут дефолтное поведение sudo и поведение su отличаются.
источник

LB

Let Eat Bee in DevOps
Dmitry Sergeev
а на чем там пишешь? Там вроде он несколько языков поддерживает
typescript
источник

LB

Let Eat Bee in DevOps
как в терраформе стейт хранить в разных бакетах для разных окружений?
источник

K

KK in DevOps
Let Eat Bee
как в терраформе стейт хранить в разных бакетах для разных окружений?
https://www.terraform.io/docs/backends/types/s3.html

Не ? Если для каждого окружения свой проект, то это сработает. Или как происходит переключение между окружениями ?
источник

b

bama^boy in DevOps
Let Eat Bee
как в терраформе стейт хранить в разных бакетах для разных окружений?
в одном бакете хранится, там разный путь до объектов просто
источник