Сценарий оболочки с циклом for и «массивом»

в данном контексте SED = диск с самошифрованием

sedutil— это программный пакет, который должен заставить все работать в linux насколько я могу судить . Поэтому я бы не стал использовать hdparm , кроме как для проверки и диагностики.

The Drive Trust Alliance software (sedutil) is an Open Source (GPLv3) effort to make Self Encrypting Drive technology freely available to everyone. It is a combination of the two known available Open Source code bases today: msed and OpalTool.

После покупки нескольких само-шифрующих SSD-накопителей у хорошо -известного производителя жестких дисков, отправки им по электронной почте и по электронной почте LSI/Avago/Broadcom информации о том, что контроллер sas raid может сделать SED "зашифрованным", а также известным производителем серверных материнских плат, у которого есть TPM, я нахожу это само -шифрование скорее рекламным и маркетинговым ходом, на мой взгляд достойным группового иска меня не удивило бы, если бы люди просто подключали их и думали, потому что они «само-шифруются», что все это просто происходит; Это не!

  • практически отсутствуют инструкции, как заставить это работать -

per your pugetsystem link: Something we discovered when we decided to start offering SED encryption on our systems is that full support for SED is actually very poor. There are plenty of hard drive and SSD models that support SED encryption (although finding those models can be difficult), but full support for SED also requires a compatible motherboard.

  • После отправки по электронной почте материнской платы, RAID-контроллера и производителя жестких дисков можно было подумать, что у меня есть какое-то разумное решение. №

  • Как конечный пользователь я думаю, что потребуется «полная поддержка» со стороны материнской платы, чтобы иметь возможность взаимодействовать с контроллером sata/sas для включения или запуска само-шифрования случаться. это шифрование отличается от «блокировки диска» на уровне контроллера sata/sas (, поскольку данные на диске или на нем не шифруются ).

  • Лучшее, что я нашел, было из документа продукта Seagate по их 1200.2 ssd, ссылающемуся на шифрование диска, однако мне еще предстоит заставить «самошифрование -» работать на моем ssd (s ). Из документации, которую я собрал, это сводится к 2 командам scsi, которые происходят:SECURITY PROTOCOL OUT и SECURITY PROTOCOL IN . Как это происходит, я пока не знаю.
  • Наиболее вероятным решением является пакет sedutil в Linux и каким-то образом использующий интерфейс командной строки sedutil -cli . Насколько я могу судить, все это будет происходить из операционной системы Linux от имени пользователя root.
  • Все мои первоначальные ответы о SED были основаны на Microsoft Windows; определенно кажется, что SED все еще находится в стадии разработки и не готов к использованию в прайм-тайм (нелегко, не нужно использовать команды cli или hdparm на уровнях, описанных в существующих инструкциях ). Однако я не сомневаюсь, что SED действительно способен выполнять шифрование внутри себя, но по умолчанию этого не происходит, и в этом проблема.
0
25.01.2021, 12:12
2 ответа

Вы можете разбить его на более мелкие части.

#!/bin/bash --login

echo "Creating SonarQube Gateway Condition"

curl_cmd=( curl -u "${USERNAME}:${PASSWORD}" -k -X POST )
url="${SONAR_HOST_URL}/api/qualitygates/create_condition"
qg_id=$( jq -r ".id" qualitygate.json )
gateMetrics=(
    coverage,LT,80
    duplicated_lines_density,GT,10
)
query_fmt="gateId=%s&metric=%s&op=%s&error=%s"

for metric in "${gateMetrics[@]}"; do
    IFS=, read -r m o e <<< "$metric"
    printf -v query "$query_fmt" "$qg_id" "$m" "$o" "$e"

    # remove this echo if it looks OK
    echo "${curl_cmd[@]}" "${url}?${query}"
done

Вы также можете прочитать Я пытаюсь поместить команду в переменную, но сложные случаи всегда терпят неудачу!

0
18.03.2021, 22:34

Переменные для USERNAME; PASSWORD и QG _ID добавлены для самозапускающегося примера:

#!/bin/bash --login

USERNAME=foo
PASSWORD=bar
SONAR_HOST_URL="https://sonar.example.com"

echo "Creating SonarQube Gateway Condition"

# QG_ID=$(cat qualitygate.json | jq -r ".id")
QG_ID=123456

Gateway="curl -u ${USERNAME}:${PASSWORD} -k -X POST \"${SONAR_HOST_URL}/api/qualitygates/create_condition?"
declare -a gateMetrics=("gateId=$QG_ID&metric=coverage&op=LT&error=80\"" "gateId=$QG_ID&metric=duplicated_lines_density&op=GT&error=10\"")

for val in "${gateMetrics[@]}"; do
  echo "$Gateway$val"
done

Выход:

Creating SonarQube Gateway Condition
curl -u foo:bar -k -X POST "https://sonar.example.com/api/qualitygates/create_condition?gateId=123456&metric=coverage&op=LT&error=80"
curl -u foo:bar -k -X POST "https://sonar.example.com/api/qualitygates/create_condition?gateId=123456&metric=duplicated_lines_density&op=GT&error=10"
0
18.03.2021, 22:34

Теги

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