Установка LS окрашивает с человекочитаемым сценарием в tcsh

Сертификат содержит открытый ключ и подписи этого открытого ключа. Это не конфиденциальная информация; иногда Вы не могли бы хотеть показывать его для конфиденциальности, но это не достаточно общая озабоченность, что был бы определенный формат шифрования сертификата. Если Вы хотите зашифровать сертификат, используйте свой любимый инструмент шифрования, например, PGP/GPG.

Ваша озабоченность то, что Вы изменили ключ? Если так, Вы смущены относительно того, что ключ и сертификат представляют, и так как это - довольно важный вопрос, я советую читать больше по теме.

  • Если Вы только поместили пароль на файл ключей, это - что-то, что Вы сделали к файлу ключей, т.е. к носителю, в котором Вы сохранили ключ. Шифрование файла секретных ключей является независимой операцией, не непосредственно связанной с тем, что файл содержит закрытый ключ. Но потому что защита закрытого ключа для конфиденциальности является очень общим требованием, существует стандартный формат и openssl команда для того, чтобы сделать это. Ключ является тем же, но эта конкретная копия ключа теперь требует, чтобы пароль был считан.
  • Если Вы на самом деле изменили закрытый ключ (который из Вашего описания Вы не имеете!), необходимо было бы повторно создать сертификат с нуля. То, что открытый ключ только соответствует одному конкретному закрытому ключу, фундаментально в криптографии с открытым ключом: открытый ключ представляет Ваши идентификационные данные, и (знание), закрытый ключ является способом, которым Вы удостоверяете свою личность.
3
19.05.2019, 14:27
2 ответа

Это не работает по нескольким причинам:

Для запущения скрипта как исполняемого файла, первая строка должна сказать оболочку, какая программа (т.е. которые окружают) должна запустить скрипт, таким образом, необходимо запустить:

#!/bin/bash

или какой бы ни оболочка Вы хотите (но см. примечание ниже).

Во-вторых, Вы не можете выполнить это в tcsh, потому что он использует другой синтаксис. Вы не делаете export переменные среды, Вы используете setenv без равняется знаку. Кроме того, $ (команда) ничего не значит для tcsh.

Другая проблема, хотя то, что, если Вы запускаете этот скрипт от другой оболочки, набор переменных в ней не будет принесен, когда она завершится: когда Вы работаете . ./script.sh это запускает скрипт через в настоящее время рабочую оболочку.

Ваше лучшее решение состоит в том, чтобы иметь две версии, один в этом формате и том, который работает с tcsh, и помещать их в Ваши сценарии запуска, т.е. ~/.bashrc или ~/.tcshrc.

2
27.01.2020, 21:17

Синтаксис tcsh является несовместимым с синтаксисом sh.

Если Ваша оболочка входа в систему является sh, и Вы только используете tcsh в интерактивном режиме, устанавливаете LS_COLORS в Вашем ~/.profile.

Если Вы имеете (t) csh как Ваша оболочка входа в систему, можно запустить скрипт, распечатать значение LS_COLORS и набор это внутри csh (по-видимому, в Вашем ~/.login).

setenv LS_COLORS `sh -c '. ~/path/to/file.sh; echo "$LS_COLORS"'`
3
27.01.2020, 21:17

Теги

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