Я получил начальное объяснение об этом тестовом сценарии от Stefan Seyfried, который написал работу, от которой был взят этот пример. Проблема здесь состоит в том, что части планировщика ЦП cgroups всегда имеют целью заставлять любой доступный ЦП напряженно трудиться; это никогда не осуществляет жесткий предел, если все будет соответствовать сразу.
В случае, где два процесса (высоко и низко здесь) работают> =2 ядра, это просто собирается поддержать на высоком уровне на одном ядре и низко на другом. Оба будут затем работать все время, в близко к 100%-му использованию, потому что они могут сделать так, не поражая ситуацию, где планировщик не дает им достаточно времени на ЦП. планирование cpu.share только происходит, если существует дефицит.
Во втором случае оба процесса прикрепляются к тому же ЦП. Затем логика совместного использования ЦП должна сделать что-то полезное с относительными cpu.shares числами для балансирования их, и это делает это, как надеялся.
Жесткие пределы использования ЦП, вероятно, не появятся до окончания хитов патча Управления пропускной способностью CFS. В той точке может быть возможно получить что-то больше как то, на что я надеялся.
Существует несколько подобных sudo инструментов (calife, op, супер, …) — видят, Как я выполняю команду как системный администратор (корень) — но Вы могли провести свою жизнь в системах Unix, не встречаясь с ними (они были все перемещены sudo). На практике, если необходимо назвать сценарии как корень, или принять меры, чтобы все машины имели sudo без пароля или позволили логины ssh как корень. Нет большой части различия в безопасности между двумя: так или иначе сценарий должен иметь все учетные данные, необходимые для достижения корневой учетной записи.
Если Вы только хотите, чтобы Ваши сценарии смогли выполнить определенные команды, используйте определенные записи для этих команд в /etc/sudoers
, или определенные ключи с a command=
строка в ~root/.ssh/authorized_keys
.
.
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 пакет для совместимости
nosuid
то, которое сделает setuid, укусило, не имеют никакого эффекта.
– a CVn
12.07.2011, 00:06
При попытке выполнить команду из сценария, передайте -t
опция к ssh:
ssh -i file.pem -t myhost “sudo -n myscript”
-n
опция к sudo будет препятствовать тому, чтобы sudo запросил пароль; если команда потребует пароля, то Вы получите ошибку.
Это работало на доступ к экземплярам EC2.