MinIO Multi-Node Multi-Drive
Объектное хранилище — название отражает принцип работы, хранение данных в виде объектов с уникальным индексом.
Автор расcкажет о своем опыте работы с одним из них, а конкретно о MinIO, из‑за достаточно простой установки, настройки и не плохого функционала. Есть несколько вариантов инсталляции MinIO:
➖ Single‑Node Single‑Drive
➖ Single‑Node Multi‑Drive
➖ Multi‑Node Multi‑Drive
Далее кратко о первых двух и подробно о последнем варианте.
#почитать
Объектное хранилище — название отражает принцип работы, хранение данных в виде объектов с уникальным индексом.
Автор расcкажет о своем опыте работы с одним из них, а конкретно о MinIO, из‑за достаточно простой установки, настройки и не плохого функционала. Есть несколько вариантов инсталляции MinIO:
➖ Single‑Node Single‑Drive
➖ Single‑Node Multi‑Drive
➖ Multi‑Node Multi‑Drive
Далее кратко о первых двух и подробно о последнем варианте.
#почитать
❤4🔥1
su «substitute user» — заменить пользователя
sudo «substitute user and do» — подменить пользователя и выполнить
su требует пароль целевой учетной записи, на кого переключаемся.
sudo требует пароль текущего пользователя и запускает от его имени команды, которым требуются права суперюзера.
Например, мы сидим под пользователем user и хотим войти под John:
user@dev:/$ su john
Будет запрошен пароль, нужно ввести пароль именно от учетной записи john, а не от user.
А вот пример с sudo:
user@dev:/$ sudo -u john whoami
А здесь нужно ввести пароль от учетной записи user, а не от John или рута. Но для этого случая сперва необходимо добавить пермишены для пользователя user в файл /etc/sudoers.
user ALL=(ALL:ALL) ALL
Редактировать этот файл можно по средствам команды visudo. А свалидировать конфиг можно командой visudo -c. Редактирование этого файла через visodu хорошо тем, что если вы допустите ошибку, то при сохранении, оно сообщит о ней.
А для чего нужен дефис после su?
Для очистки переменных и чтобы пользоваться чистой оболочкой при переключении на другого пользователя.
Авторизуемся под пользователем user и экспортируем переменную:
ssh user@pc
export a="test"
Теперь у пользователя user есть переменная "a" которая = test.
Переключаемся на пользователя John и смотрим переменную "a"
su john
echo $a
Вывелась строчка test. То есть все что мы задали под user, перекочевало в оболочку john. А теперь добавим дефис:
su - john
echo $a
Переменная $a больше не выводится. Чистая оболочка. Кстати с этим дефисом часто косячат и потом долго не могут понять в чем причина. Переменные вроде были заданы, а потом куда-то пропали.
su (с дефисом) — сначала переключается пользователь, а затем запускается shell, зачищаются все переменные.
su (без дефиса) — переключает пользователя, оставляя переменные окружения старого пользователя.
У sudo есть подобные ключи -s -i
user@pc:/$ sudo -s
Запустится оболочка с правами root
user@pc:/$ sudo -i
Запустится оболочка, но уже с чтением файлов root/.profile/.bashrc и т.п. Можно попробовать добавить экспорт переменной в .profile, сделать sudo -s/-i и увидеть что с ключом -i переменная выведется на экран.
По сути sudo -i = команде sudo su -. Но обычно за sudo su - в приличных местах можно получить по шапке. Это плохая практика! Так как это порождает дополнительный процесс и больше гемора с набором самой команды.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍6❤1🥰1
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Чем отличается StatefulSet от Deployment?
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
🔥21🎉14👍5❤1
🤔❓ Как добавить, использовать и обновить .terraform.lock.hcl без боли
В Terraform 1.4.0 были внесены изменения, которые нарушают прежнее непреднамеренное поведение. Раньше моно было игнорировать lockfile и использовать кэшированных провайдеров, если ограничения версий в коде соответствовали локальному кэшу. Начиная с версии 1.4.0, Terraform всегда проверяет lockfile перед тем, как зайти в каталог кэша. На практике это означает, что если вы проигнорируете файл блокировки или полностью удалите его, Terraform запустит полный init, независимо от того, что находится в вашем TF_CACHE_DIR или в каталоге .terraform.
Более подробно читайте здесь
#гайд
В Terraform 1.4.0 были внесены изменения, которые нарушают прежнее непреднамеренное поведение. Раньше моно было игнорировать lockfile и использовать кэшированных провайдеров, если ограничения версий в коде соответствовали локальному кэшу. Начиная с версии 1.4.0, Terraform всегда проверяет lockfile перед тем, как зайти в каталог кэша. На практике это означает, что если вы проигнорируете файл блокировки или полностью удалите его, Terraform запустит полный init, независимо от того, что находится в вашем TF_CACHE_DIR или в каталоге .terraform.
Более подробно читайте здесь
#гайд
🤩27❤4👍3
🤔 Очередной #дайджест для DevOps-ов
↘️ Stack Lifecycle Deployment — опенсорсный проект, определяющий и управляющий полным жизненным циклом ресурсов, используемых в облаке
↘️ Управление несколькими средами в Terraform — создание каталога для каждой среды и организацию кода инфраструктуры в этих каталогах
↘️ Демистификация OOM Killer в Kubernetes — отслеживание проблем с памятью
↘️ Б значит не Безумие, а Безопасность — кибербезопасность сейчас в тренде, безопасность инфраструктуры и ПО, располагаемого в ней, тоже — об этом и пойдет речь
↘️ 10 советов по управлению крупными инцидентами — просмотрите логи, поковыряйте мониторинг, обратитесь в службу поддержки и т. д.
↘️ Stack Lifecycle Deployment — опенсорсный проект, определяющий и управляющий полным жизненным циклом ресурсов, используемых в облаке
↘️ Управление несколькими средами в Terraform — создание каталога для каждой среды и организацию кода инфраструктуры в этих каталогах
↘️ Демистификация OOM Killer в Kubernetes — отслеживание проблем с памятью
↘️ Б значит не Безумие, а Безопасность — кибербезопасность сейчас в тренде, безопасность инфраструктуры и ПО, располагаемого в ней, тоже — об этом и пойдет речь
↘️ 10 советов по управлению крупными инцидентами — просмотрите логи, поковыряйте мониторинг, обратитесь в службу поддержки и т. д.
👍7😁6🎉6👏5❤4
#вопросы_с_собеседования
Что такое контейнеризация? Чем она отличается от виртуализации?
При виртуализации машины создаются с помощью гипервизора и все аппаратные составляющие создаются через него. Затем на него накатываются операционные системы. Соответственно, ресурсы машины будут уходить на поддержание работы запущенной операционной системы.
При контейнеризации аппаратные ресурсы выделяются с помощью ядра операционной системы, и изолируются пространством имен. Следовательно, они потребляют меньше ресурсов, и быстрее пересоздаются.
Что такое контейнеризация? Чем она отличается от виртуализации?
При виртуализации машины создаются с помощью гипервизора и все аппаратные составляющие создаются через него. Затем на него накатываются операционные системы. Соответственно, ресурсы машины будут уходить на поддержание работы запущенной операционной системы.
При контейнеризации аппаратные ресурсы выделяются с помощью ядра операционной системы, и изолируются пространством имен. Следовательно, они потребляют меньше ресурсов, и быстрее пересоздаются.
❤🔥33🔥3👍2
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤2
✍️😎 Пишем Ansible-модули для управления разными системами хранения данных через Swordfish
Большинство современных систем хранения данных (СХД) предоставляют REST API для управления ими, включая настройку, конфигурирование, выполнение различных команд, получение логов, работу с пользователями и т.д. В зависимости от производителя СХД REST API могут отличаться друг от друга. Если вы используете несколько разных систем, их одновременная поддержка становится проблемой: нужно учитывать многообразие протоколов, интерфейсов, команд и способов взаимодействия с API.
О Swordfish и преимуществах спецификации
Swordfish — это стандарт управления хранилищами данных, разработанный SNIA (Storage Networking Industry Association). Эта организация объединяет производителей и пользователей СХД с целью разработки и поддержки отраслевых стандартов и технологий хранения данных. Swordfish предоставляет богатый функционал для управления ресурсами хранилищ данных, конфигурации и мониторинга систем, поддерживает механизмы аутентификации и авторизации для обеспечения безопасности. Спецификация Swordfish призвана решить большое количество проблем с универсальностью управления СХД в современной инфраструктуре, а за развитием и улучшением стандарта стоит активное сообщество.
Продолжение тут
#туториал
Большинство современных систем хранения данных (СХД) предоставляют REST API для управления ими, включая настройку, конфигурирование, выполнение различных команд, получение логов, работу с пользователями и т.д. В зависимости от производителя СХД REST API могут отличаться друг от друга. Если вы используете несколько разных систем, их одновременная поддержка становится проблемой: нужно учитывать многообразие протоколов, интерфейсов, команд и способов взаимодействия с API.
О Swordfish и преимуществах спецификации
Swordfish — это стандарт управления хранилищами данных, разработанный SNIA (Storage Networking Industry Association). Эта организация объединяет производителей и пользователей СХД с целью разработки и поддержки отраслевых стандартов и технологий хранения данных. Swordfish предоставляет богатый функционал для управления ресурсами хранилищ данных, конфигурации и мониторинга систем, поддерживает механизмы аутентификации и авторизации для обеспечения безопасности. Спецификация Swordfish призвана решить большое количество проблем с универсальностью управления СХД в современной инфраструктуре, а за развитием и улучшением стандарта стоит активное сообщество.
Продолжение тут
#туториал
🎉22❤5👍2
🤔✏️ Обзор одноцелевых дистрибутивов Linux
Многие из тех, кто устанавливает дистрибутив Linux для одной-единственной цели, например, для работы с контейнерами, предпочитают развёртывание по принципу «поставил и забыл». На конференции FOSDEM 2023, состоявшейся в Брюсселе, было представлено несколько проектов из разряда таких «минимальных дистрибутивов Linux». Все они — Fedora CoreOS, Ubuntu Core, openSUSE MicroOS и Bottlerocket OS — решают такие задачи по-своему. Из выступлений на FOSDEM можно составить интересную перспективу, демонстрирующую, в чём эти проекты отличаются на уровне применяемых подходов.
Изучить дистрибутивы
#гайд
Многие из тех, кто устанавливает дистрибутив Linux для одной-единственной цели, например, для работы с контейнерами, предпочитают развёртывание по принципу «поставил и забыл». На конференции FOSDEM 2023, состоявшейся в Брюсселе, было представлено несколько проектов из разряда таких «минимальных дистрибутивов Linux». Все они — Fedora CoreOS, Ubuntu Core, openSUSE MicroOS и Bottlerocket OS — решают такие задачи по-своему. Из выступлений на FOSDEM можно составить интересную перспективу, демонстрирующую, в чём эти проекты отличаются на уровне применяемых подходов.
Изучить дистрибутивы
#гайд
❤2👏2
Шпаргалка по командной строке CMD
TSKILL - завершение процессов, адаптированное для среды сервера терминалов (RDP).
SETX
- утилита для создания системных переменныхSFC
- проверка и восстановление системных файлов WindowsSHARE
- просмотр, создание и удаление разделяемых в локальной сети ресурсовSHUTDOWN
- выключение или перезагрузка компьютераSLEEP
- задержка по времени в пакетном файлеSLMGR
- управление лицензированием программного обеспечения WindowsSORT
- сортировка строк в текстовом файлеSTART
- запуск приложения или командного файлаSTORDIAG
- диагностика системы хранения данных в Windows 10SUBST
- назначение (отмена назначения) каталогу буквы дискаSxSTrace
- диагностическое средство трассировки компонент системыSYSTEMINFO
- отображение информации о системеTAKEOWN
- изменение владельца файла или каталогаTAR
- архивирование данных архиватором tar в Windows 10TASKKILL
- завершение процессов на локальной или удаленной системе.TASKLIST
- отображение списка выполняющихся приложений и служб WindowsTIME
- отображение и установка системного времениTELNET
- telnet-клиент WindowsTFTP
- TFTP-клиент WindowsTIMEOUT
- задержка в пакетных файлахTITLE
- изменение заголовка окна CMD.EXETRACERT
- трассировка маршрута к удаленному узлуTREE
- отображение структуры каталога в графическом видеTSCON
- подключение к сессии удаленного рабочего стола (RDP).TSDISCON
- отключение сессии удаленного рабочего стола (RDP).TSKILL - завершение процессов, адаптированное для среды сервера терминалов (RDP).
TYPE
- вывод на экран содержимого текстового файлаTypePerf
- вывод сведений о производительности на экран или в журналTZUTIL
- управление часовыми поясами в среде WindowsVER
- отображение версии операционной системыVERIFY
- управление режимом проверки записываемых файловVOL
- вывод данных метки томаVSSADMIN
- администрирование службы теневого копирования томов.W32TM
- управление службой времени WindowsWAITFOR
- организация обмена сигналами между компьютерамиWBADMIN
- управление резервным копированием и восстановлением в WindowsWEVTUTIL
- управление событиями в WindowsWHERE
- определение места расположения файловWHOAMI
- вывод имени текущего пользователяWINDIFF
- сравнение содержимого файловWinMgmt
- обслуживание инструментария управления Windows (WMI)WINRM
- удаленное управление Windows из командной строкиWINRS
- удаленная командная строка (Remote Shell)WINSAT
- средство проверки производительности WindowsWMIC
- выполнение команды WMI в командной строкеWSCollect
- получить CAB-файл с копиями журналов Windows 10 на рабочем столеWscript
- сервер сценариев Windows с графическим интерфейсомWSL
- выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10WSLconfig
- конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10XCOPY
- копирование файлов и папок👍9❤6🔥5👏5🥰3
#вопросы_с_собеседования
Что такое docker и какие инструменты linux лежат в основе? Для чего он используется?
Docker базируется на технологиях:
А вот докер — это уже штука, которая всеми этими технологиями рулит, удобным для нас образом.
Компоненты докера:
На
Docker daemon (демон) — это серверная часть, работающая на хост-машине: скачивает образы и запускает из них контейнеры, создаёт сеть между контейнерами, собирает логи. Когда мы говорим «создай образ», этим тоже занимается демон.
Docker CLI — клиентская часть Docker, консольная утилита для работы с демоном. Может работать не только локально, но и по сети.
Что такое docker и какие инструменты linux лежат в основе? Для чего он используется?
Docker базируется на технологиях:
🔸 namespaces
— обеспечивает изоляцию (например, можно айдишники процессов разместить в разных контейнерах)🔸 cgroups
— позволяет управлять группой процессов, и управлять их ресурсами
🔸 capabilities
— позволяет дать некоторые рут привелегии процессам или исполняемым файлам. Например, изменить UID процесса на 0, или дать возможность монтировать файловые системы.
🔸 overlay namespaces
— (overlayFS, overlay2-драйвер) - файловая система, которая умеет работать "слоями". Не сохранять каждый раз новые файлы, а наслаивать один слой на другой, тем самым экономя место на диске и время создания контейнера.А вот докер — это уже штука, которая всеми этими технологиями рулит, удобным для нас образом.
Компоненты докера:
🔻 Docker Daemon
— тот самый Container Engine; запускает контейнеры.🔻 Docker CLI
— утилита по управлению Docker.🔻 Dockerfile
— инструкция по тому, как собирать образ.🔻 Image
— образ, из которого раскатывается контейнер.🔻 Container
🔻 Docker registry
— хранилище образов.На
Docker_host
работает Docker daemon и запускает контейнеры. Client
— передаёт команды: собери образ, скачай образ, запусти контейнер. Docker daemon
ходит в registry и выполняет их. Docker-клиент может обращаться и локально (к юникс-сокету), и по TCP с удалённого хоста.Docker daemon (демон) — это серверная часть, работающая на хост-машине: скачивает образы и запускает из них контейнеры, создаёт сеть между контейнерами, собирает логи. Когда мы говорим «создай образ», этим тоже занимается демон.
Docker CLI — клиентская часть Docker, консольная утилита для работы с демоном. Может работать не только локально, но и по сети.
🔥42👍3❤1
🤔 Очередной #дайджест для DevOps-ов
🔺 CNCF White Paper по observability — инструменты, виды, стратегии и проблемы
🔺 Создание современных асинхронных систем — как создать устойчивую и масштабируемую асинхронную систему для управления сложным рабочим процессом
🔺 Настройка Honeypot в Mikrotik — что это такое, зачем он нужен и как его настраивать и использовать в MikroTik
🔺 Форматирование файловой системы XFS — инженеры Oracle пишут о работе mkfs.xfs и о том, что происходит в процессе форматирования раздела в этой файловой системе
🔺 Sudo без бинарного setuid или SSH через UNIX-сокет — странная, но занятная попытка отказаться от sudo и заменить его соединением по SSH через сокет
🔺 CNCF White Paper по observability — инструменты, виды, стратегии и проблемы
🔺 Создание современных асинхронных систем — как создать устойчивую и масштабируемую асинхронную систему для управления сложным рабочим процессом
🔺 Настройка Honeypot в Mikrotik — что это такое, зачем он нужен и как его настраивать и использовать в MikroTik
🔺 Форматирование файловой системы XFS — инженеры Oracle пишут о работе mkfs.xfs и о том, что происходит в процессе форматирования раздела в этой файловой системе
🔺 Sudo без бинарного setuid или SSH через UNIX-сокет — странная, но занятная попытка отказаться от sudo и заменить его соединением по SSH через сокет
👍8❤6🎉5🔥4🥰4
🔧🔧 Bitwarden в действии: автоматизация смены ключей и паролей для AWS
В мире, где каждая учетная запись требует от нас еще одного пароля, и каждый облачный сервис, такой как AWS, зависит от надежности этих ключей, менеджеры паролей вроде Bitwarden выступают как спасители. Они не просто хранят наши ключи и пароли, но и делают их управление значительно удобнее. Однако, даже с таким мощным инструментом, как Bitwarden, мы сталкиваемся с ограничением: он не способен автоматически обновлять и менять используемые в облачных сервисах ключи и пароли.
Итак, что делать, когда ручное обновление ключей и паролей становится скучной и малоэффективной задачей? В этой статье вы узнаете, как можно объединить удобство использования Bitwarden с эффективными методами автоматизации для управления учетными данными AWS. Представьте себе — больше нет монотонного ввода паролей и обновлений ключей вручную. Но для этого придется немного постараться.
Продолжение здесь
#гайд
В мире, где каждая учетная запись требует от нас еще одного пароля, и каждый облачный сервис, такой как AWS, зависит от надежности этих ключей, менеджеры паролей вроде Bitwarden выступают как спасители. Они не просто хранят наши ключи и пароли, но и делают их управление значительно удобнее. Однако, даже с таким мощным инструментом, как Bitwarden, мы сталкиваемся с ограничением: он не способен автоматически обновлять и менять используемые в облачных сервисах ключи и пароли.
Итак, что делать, когда ручное обновление ключей и паролей становится скучной и малоэффективной задачей? В этой статье вы узнаете, как можно объединить удобство использования Bitwarden с эффективными методами автоматизации для управления учетными данными AWS. Представьте себе — больше нет монотонного ввода паролей и обновлений ключей вручную. Но для этого придется немного постараться.
Продолжение здесь
#гайд
❤27👍4🔥1
Radius
Это облачная опенсорсная платформа, которая позволяет разработчикам определять, развертывать облачные приложения и совместно работать над ними в общедоступных облаках и частной инфраструктуре
Ключевые особенности платформы:
Совместная работа в команде: приложения и среды Radius позволяют разработчикам выполнять операции по определению и доставке приложений.
Рецепты инфраструктуры: заменяемая инфраструктура, соответствующая лучшим практикам организации и политике ИТ по умолчанию.
График приложения: понимание того, как службы и инфраструктура в приложении взаимосвязаны.
Нейтральность к облаку: развертывание в среде разработки, локальных и облачных средах обеспечивает согласованность работы.
Постепенное внедрение: интегрируйте Radius в существующие рабочие процессы и каталоги шаблонов инфраструктуры в виде кода.
Подробнее об инструменте тут
#туториал
Это облачная опенсорсная платформа, которая позволяет разработчикам определять, развертывать облачные приложения и совместно работать над ними в общедоступных облаках и частной инфраструктуре
Ключевые особенности платформы:
Совместная работа в команде: приложения и среды Radius позволяют разработчикам выполнять операции по определению и доставке приложений.
Рецепты инфраструктуры: заменяемая инфраструктура, соответствующая лучшим практикам организации и политике ИТ по умолчанию.
График приложения: понимание того, как службы и инфраструктура в приложении взаимосвязаны.
Нейтральность к облаку: развертывание в среде разработки, локальных и облачных средах обеспечивает согласованность работы.
Постепенное внедрение: интегрируйте Radius в существующие рабочие процессы и каталоги шаблонов инфраструктуры в виде кода.
Подробнее об инструменте тут
#туториал
🎉15❤🔥13❤2🥰1
doas – утилита, которая позволяет обычным пользователям выполнять задачи от имени root, так же как это делает sudo. Она была разработана проектом OpenBSD как минималистичная альтернатива sudo.
Запускайте
Так как doas не входит по умолчанию в коробочные версии linux, утилита требует немного бОльших настроек, в отличие от sudo. Но конфигурация намного проще для понимания чем sudo. Настраивается все это через файл /etc/doas.conf. Если файла нет — создайте.
Сымитируем поведение sudo и позволим пользователю выполнять любые команды от пользователя root. Добавим в конфиг такое:
Теперь пользователь user сможет выполнять команды от root + пользователь получает льготный период, когда не нужно вводить пароль в течение нескольких минут после последовательных команд doas.
Допустим нужно сделать подобное, но для определенной группы, добавляем в конфиг строчку:
Теперь все кто в группе wheel смогут побыть рутом. Также и с белым списком команд, которые можно выдать для запуска без пароля:
Конфиг sudo
Ну и с помощью doas можно запустить root shell такой командой:
Запускайте
apt install doas
.Так как doas не входит по умолчанию в коробочные версии linux, утилита требует немного бОльших настроек, в отличие от sudo. Но конфигурация намного проще для понимания чем sudo. Настраивается все это через файл /etc/doas.conf. Если файла нет — создайте.
Сымитируем поведение sudo и позволим пользователю выполнять любые команды от пользователя root. Добавим в конфиг такое:
permit persist user as root
Теперь пользователь user сможет выполнять команды от root + пользователь получает льготный период, когда не нужно вводить пароль в течение нескольких минут после последовательных команд doas.
Допустим нужно сделать подобное, но для определенной группы, добавляем в конфиг строчку:
permit persist :wheel as root
Теперь все кто в группе wheel смогут побыть рутом. Также и с белым списком команд, которые можно выдать для запуска без пароля:
permit persist user as rootДа, конфиг более читабельный чем у sudo
permit nopass :user as root cmd apt
Конфиг sudo
%wheel ALL=(ALL) NOPASSWD: ALLКонфиг doas
permit nopass :wheel as root
Ну и с помощью doas можно запустить root shell такой командой:
doas -s
❤🔥14👍8❤1🔥1🌚1