Способы выполнить команду оболочки как корень?

Я получил начальное объяснение об этом тестовом сценарии от Stefan Seyfried, который написал работу, от которой был взят этот пример. Проблема здесь состоит в том, что части планировщика ЦП cgroups всегда имеют целью заставлять любой доступный ЦП напряженно трудиться; это никогда не осуществляет жесткий предел, если все будет соответствовать сразу.

В случае, где два процесса (высоко и низко здесь) работают> =2 ядра, это просто собирается поддержать на высоком уровне на одном ядре и низко на другом. Оба будут затем работать все время, в близко к 100%-му использованию, потому что они могут сделать так, не поражая ситуацию, где планировщик не дает им достаточно времени на ЦП. планирование cpu.share только происходит, если существует дефицит.

Во втором случае оба процесса прикрепляются к тому же ЦП. Затем логика совместного использования ЦП должна сделать что-то полезное с относительными cpu.shares числами для балансирования их, и это делает это, как надеялся.

Жесткие пределы использования ЦП, вероятно, не появятся до окончания хитов патча Управления пропускной способностью CFS. В той точке может быть возможно получить что-то больше как то, на что я надеялся.

3
11.07.2011, 21:00
3 ответа

Существует несколько подобных sudo инструментов (calife, op, супер, …) — видят, Как я выполняю команду как системный администратор (корень) — но Вы могли провести свою жизнь в системах Unix, не встречаясь с ними (они были все перемещены sudo). На практике, если необходимо назвать сценарии как корень, или принять меры, чтобы все машины имели sudo без пароля или позволили логины ssh как корень. Нет большой части различия в безопасности между двумя: так или иначе сценарий должен иметь все учетные данные, необходимые для достижения корневой учетной записи.

Если Вы только хотите, чтобы Ваши сценарии смогли выполнить определенные команды, используйте определенные записи для этих команд в /etc/sudoers, или определенные ключи с a command= строка в ~root/.ssh/authorized_keys.

3
27.01.2020, 21:17
  • Файловые системы POSIX обычно реализуют setuid/setgid биты. Это никогда не рекомендуется, потому что это может едва быть сделано безопасным, но это действительно работает:

.

  cp /usr/bin/id /tmp/rootid
  sudo chown root /tmp/rootid
  sudo chmod u+s /tmp/rootid
  /tmp/rootid

наблюдайте тесно за euid полем

  • sudo и работа su; остерегайтесь sudo -E, или su - взаимодействия со средами. Возможно, лучше explicitely переносить все Ваши вызовы su iwth env -i быть изолированным от вреда

  • Солярису использовали RBAC allthough OpenSolaris, чтобы иметь sudo пакет для совместимости

1
27.01.2020, 21:17

При попытке выполнить команду из сценария, передайте -t опция к ssh:

ssh -i file.pem -t myhost “sudo -n myscript”

-n опция к sudo будет препятствовать тому, чтобы sudo запросил пароль; если команда потребует пароля, то Вы получите ошибку.

Это работало на доступ к экземплярам EC2.

1
27.01.2020, 21:17

Теги

Похожие вопросы