Заполнить существующие разделы

Предположения

  • Вы не с помощью RHEL 7 МКЛ (программные сборники) или резус-mariadb101{,-галера}
  • У вас есть 7 и RHEL / CentOS в 7 серверов с EPEL уже установлен
  • SELinux это необходимо, запуск и исполнение
  • Выполнение firewalld работает и блокирует по умолчанию
  • Ваш 3 узла IP-адреса 1.2.3.4, 1.2.3.5, и 1.2.3.6

Конфигурации Брандмауэра

Порты, необходимые для Галера & MariaDB в функционировать должным образом TCP-порты 4444, 4567, 4568 и и UDP-порт 4567. Версию MariaDB требует TCP порт 3306. В этой конфигурации мы предполагаем, что хозяева 1.2.3.4, 1.2.3.5, и 1.2.3.6 могут быть частью кластера, а также будущего хозяина айпи 1.2.3.7. Эта конфигурация также предполагает, что любой хост может подключиться на порт 3306. Логин и Су - в корень. Выполните следующие команды.

# брандмауэр cmd --зоны=общие-добавить-порт=3306/TCP с
# брандмауэр cmd --зоны=общие-добавить-порт=3306/TCP, с --постоянные
# брандмауэр cmd --зоны=общие-добавить-богатые-правило 'правило семьи="адрес IPv4" адрес источника="1.2.3.4/30" порта Port=4444 протокол=TCP принять
# брандмауэр cmd --зоны=общие-добавить-богатые-правило 'правило семьи="адрес IPv4" адрес источника="1.2.3.4/30" порта Port=4444 протокол=TCP принимать параметры --постоянный
# брандмауэр cmd --зоны=общие-добавить-богатые-правило 'правило семьи="адрес IPv4" адрес источника="1.2.3.4/30" порта=4567 протокол=TCP принять
# брандмауэр cmd --зоны=общие-добавить-богатые-правило 'правило семьи="адрес IPv4" адрес источника="1.2.3.4/30" порта=4567 протокол=TCP принимать параметры --постоянный
# брандмауэр cmd --зоны=общие-добавить-богатые-правило 'правило семьи="адрес IPv4" адрес источника="1.2.3.4/30" порта=4568 протокол=TCP принять
# брандмауэр cmd --зоны=общие-добавить-богатые-правило 'правило семьи="адрес IPv4" адрес источника="1.2.3.4/30" порта=4568 протокол=TCP принимать параметры --постоянный
# брандмауэр cmd --зоны=общие-добавить-богатые-правило 'правило семьи="адрес IPv4" адрес источника="1.2.3.4/30" порта=4567 протокол=UDP в принять
# брандмауэр cmd --зоны=общие-добавить-богатые-правило 'правило семьи="адрес IPv4" адрес источника="1.2.3.4/30" порта=4567 протокол=UDP в принимать параметры --постоянный

SELinux В Подготовке Политики

Логин и Су - в корень. Выполните или выполните следующие действия. Последняя строка необходима только для нестандартное расположение данных. Обратите внимание, что если вы устанавливаете данные о местоположении в течение /дома или в/usr systemd не будет запрещать MariaDB в записи и MariaDB будет выполнена. Чтобы обойти эту проблему, установите ProtectSystem=ложь в блок файл в/lib/systemd в/системы/MariaDB в.обслуживание. Затем выполнить systemctl демон-перезагрузка.

# команды mkdir, как SELinux && CD с поддержкой SELinux
# кошка > галера.Тэ << XYZZY
модуль галера 1.0;

требуется {
 тип unconfined_t с;
 initrc_tmp_t типа;
 rsync_exec_t типа;
 тип init_t;
 mysqld_t типа;
 класса процесс setpgid;
 файл Class { выполнить execute_no_trans функцией getattr, открытые чтения };
 обслуживание включение класса;
}

#============= mysqld_t ==============
позвольте initrc_tmp_t mysqld_t:файл открыть;
позвольте mysqld_t rsync_exec_t:файл { выполнить execute_no_trans функцией getattr, открытые чтения };
позвольте mysqld_t себя:setpgid процесса;

#============= unconfined_t с ==============
позвольте unconfined_t с init_t:служба обеспечения;
XYZZY

# локальной -м -м-галера.Тэ -о галере.мод
semodule_package -м # галера.мод -о-галера.ПП
# политики к semodule -я галера.ПП
# порт-м -т команды semanage mysqld_port_t -п протокол TCP 4567
# порт-м -т команды semanage mysqld_port_t -п УДП 4567
# команды semanage порт-м -т mysqld_port_t -п протокол TCP 4444
# команды semanage порт-м -т mysqld_port_t -п протокол TCP 4568
# команды semanage fcontext -a-Т mysqld_db_t "/чередуются/путь/к/данных/данных MySQL(/.*)?"

MariaDB В Репозитории Того, Установки Пакета, Конфигурация

Скачать https://yum.mariadb.org/RPM-GPG-KEY-MariaDB. Убедитесь, что веб-сервер дает вам этот ключ заслуживает доверия; безопасность своего нового репозитория зависит от этого.

# СР с RPM-GPG-ключа-MariaDB в файле /etc/ИПК/об / мин-Гоб/ ; чмод Уго+р /и т. д./ИПК/об / мин-ооб/об / мин-GPG-ключа-версию MariaDB
# кошка > в /etc/Юм.РЕПО.д/MariaDB в.РЕПО << XYZZY
[MariaDB в]
имя = MariaDB в
к baseURL = http://yum.mariadb.org/10.1/rhel7-amd64
gpgkey = file://до/и/ИПК/мин-ооб/об / мин-GPG-ключа-версию MariaDB
gpgcheck = 1
включено = 1
XYZZY
# чмод Уго+р /и т. д./Юм.РЕПО.д/MariaDB в.РЕПО
# ням установить MariaDB-сервер галера

Как только вы получили установки пакетов, вы должны настроить MariaDB за обычную процедуру перед созданием кластера. Первая линия нужна только если вы хотите использовать разные данные о местоположении по умолчанию.

# mysql_install_db, имел это --User=MySQL с --Группа=с MySQL --ldata=/альтернативного/путь/к/данных/данных MySQL
# systemctl начать MariaDB в
# mysql_secure_installation
# systemctl остановить MariaDB в
# galera_new_cluster

Проверьте, если версию MariaDB + Галера работает. Если это так, вы можете настроить следующие два хозяева. Установите правила SELinux и пакеты программного обеспечения, как и раньше, но сразу же добавить следующие строки в раздел [галеры] в /etc/мой.КНФ.д/сервер.КНФ. Предполагается, что исходный IP-галера сервера 1.2.3.4 и его коллег будет 1.2.3.5 и 1.2.3.6. Установить размер кэша, чтобы что-то подходящее для вашей системы.

[галеры]
wsrep_on=о
wsrep_provider=в/usr/lib64/галера/libgalera_smm.так
wsrep_provider_options="gcache.размер=1024M; gcache.размер_страницы=1024M"
wsrep_cluster_address=gcomm://1.2.3.4,1.2.3.5,1.2.3.6
binlog_format=строке
default_storage_engine=InnoDB в
innodb_autoinc_lock_mode=2

# systemctl начать MariaDB в

На данный момент, журналов, следует указать, что данные реплицированы с первого сервера к текущему серверу. Повторите эти шаги на оставшихся сервер(ы).

Теперь остановить версию MariaDB на исходном сервере и добавить галера конфигурации в файл/etc/мой.КНФ.д/сервер.КНФ. Перезагрузите версию MariaDB на исходном сервере. Убедитесь, что данные синхронизируются между сверстниками.

Включение TLS

Этот необязательный раздел предполагает, что вы уже создали сертификат X. 509v3 и соответствующий закрытый ключ. Оба сертификата и ключа должны храниться в незашифрованном формате PEM. В этом примере имена принимается сервером.ЭЛТ и сервер.ключ соответственно.

# СР сервере.ЭЛТ /и т. д./ИПК/СС/сертификаты/ ; Уго команду chmod+р /и т. д./ИПК/ТЛС/сертификаты/сервер.ЭЛТ ; СР сервере.ключ /и т. д./ИПК/ТЛС/частная/сервер.ключ ; команду chmod 640 /и т. д./ИПК/ТЛС/частная/сервер.ключ ; команда chgrp MySQL в файле /etc/ИПК/ТЛС/частная/сервер.ключ

Добавьте следующие строки в файл/etc/мой.КНФ.д/сервер.КНФ в [тузды]раздел: ssl_cert=/и т. д./ИПК/ТЛС/сертификаты/сервер.ЭЛТ ssl_key=/и т. д./ИПК/ТЛС/частная/сервер.ключ

Создать файл/etc/systemd в/системы/MariaDB в.обслуживание.д/ТЛС.конф со следующим содержанием:

[услуги]
Среды=”MYSQLD_OPTS=--протокол SSL”

Systemd это как systemd не делает, так что выполнить systemctl демон-перезагрузки снова, чтобы прочитать новую конфигурацию.

Перезапустите сервер необходим для того, для MariaDB в принять TLS соединения. Обратите внимание на то, что TLS доступна, но на этом этапе не требуется конфигурации.

Проверить логи, чтобы убедиться, что MariaDB в загруженной с TLS включено: journalctl _SYSTEMD_UNIT=версию MariaDB.обслуживание. Неудачный запуск TLS-это только регистрируется как [предупреждение] :^(

Это мой первый проход на этом. Я буду счастлив, чтобы включить улучшение :^)

+163
teemofay 1 апр. 2021 г., 12:24:34
17 ответов

Похоже, это не возможно в соответствии с Яблока страницу: https://support.apple.com/en-us/HT207023

+958
lianzzz 03 февр. '09 в 4:24

у нас есть следующие JSON-файл:

больше файл.в JSON

{
 "Солар" : "http://master02:8080/api/v1/clusters/HDP/configurations?type=kafka-env&tag=version1527250007610",
 "элементы" : [
{
 "Солар" : "http://master02:8080/api/v1/clusters/HDP/configurations?type=kafka-env&tag=version1527250007610",
 "пятнашки" : "version1527250007610",
 "тип" : "Кафка-ОКР",
 "версия" : 8,
 "Конфигурация" : {
 "кластер" : "ПДН",
 "stack_id" : "УБТ-2.6"
},
 "свойства" : {
 "содержание" : "\Н#!/бин/Баш\н\н# набор Кафка определенные переменные среды здесь.\н\н# реализация Java использовать.\nexport переменной JAVA_HOME={{java64_home}}\nexport пути=пути$Path:$переменной JAVA_HOME/bin в\nexport PID_DIR={{kafka_pid_dir}}\nexport LOG_DIR={{kafka_log_dir}}\nexport KAFKA_KERBEROS_PARAMS={{kafka_kerberos_params}}\nexport JMX_PORT=9997\Н# добавить Кафка раковина в classpath и обзоры depenencies\песли [ -е \"/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar\" ]; затем\N экспорт из classpath=$classpath, который:в /usr/lib в/ambari-метрики-Кафка-раковина/ambari-метрики-Кафка-раковина.фляга\N экспорт из classpath=$classpath в: в/usr/lib в/ambari-метрики-Кафка-раковина/Либ/*\НФИ\N\песли [ -Ф /etc/kafka/conf/kafka-ranger-env.sh ]; тогда\Н. в /etc/Кафка/конф/Кафка-следопыт-ОКР.ш\НФИ",
 "is_supported_kafka_ranger" : "правда",
 "kafka_log_dir" : "в/var/журнал/Кафка",
 "kafka_pid_dir" : "в/var/работа/Кафка",
 "kafka_user" : "Кафка",
 "kafka_user_nofile_limit" : "128000",
 "kafka_user_nproc_limit" : "65536"
}
}
]

мы строим следующий синтаксис jq в целях печати свойства из файла.в JSON

jq не -р '.предметы[].свойства | to_entries[]
 | "\"\(.ключ)\" : \"\(.значение | gsub("\п";"\п\"))\"," "файл".в JSON


"содержание" : "\Н#!/бин/Баш\н\н# набор Кафка определенные переменные среды здесь.\н\н# реализация Java использовать.\nexport переменной JAVA_HOME={{java64_home}}\nexport пути=пути$Path:$переменной JAVA_HOME/bin в\nexport PID_DIR={{kafka_pid_dir}}\nexport LOG_DIR={{kafka_log_dir}}\nexport KAFKA_KERBEROS_PARAMS={{kafka_kerberos_params}}\nexport JMX_PORT=9997\Н# добавить Кафка раковина в classpath и обзоры depenencies\песли [ -е "/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar" ]; затем\N экспорт из classpath=$classpath, который:в /usr/lib в/ambari-метрики-Кафка-раковина/ambari-метрики-Кафка-раковина.фляга\N экспорт из classpath=$classpath в: в/usr/lib в/ambari-метрики-Кафка-раковина/Либ/*\НФИ\N\песли [ -Ф /etc/kafka/conf/kafka-ranger-env.sh ]; тогда\Н. в /etc/Кафка/конф/Кафка-следопыт-ОКР.ш\НФИ",
"is_supported_kafka_ranger" : "правда",
"kafka_log_dir" : "в/var/журнал/Кафка",
"kafka_pid_dir" : "в/var/работа/Кафка",
"kafka_user" : "Кафка",
"kafka_user_nofile_limit" : "128000",
"kafka_user_nproc_limit" : "65536",

но проблема в том, что выход без обратного слеша перед двойной квоты

пример

вместо того, чтобы получить на выходе следующую строку

 [ -е \"/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar\" ]

мы получаем на выходе: ( без необходимости обратной косой черты )

 [ -е "/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar" ]

прошу совета, как исправить синтаксис jq не соответственно

. . .

пример ожидаемых результатов:

ожидаемые результаты

 "содержание" : "\Н#!/бин/Баш\н\н# набор Кафка определенные переменные среды здесь.\н\н# реализация Java использовать.\nexport переменной JAVA_HOME={{java64_home}}\nexport пути=пути$Path:$переменной JAVA_HOME/bin в\nexport PID_DIR={{kafka_pid_dir}}\nexport LOG_DIR={{kafka_log_dir}}\nexport KAFKA_KERBEROS_PARAMS={{kafka_kerberos_params}}\nexport JMX_PORT=9997\Н# добавить Кафка раковина в classpath и обзоры depenencies\песли [ -е \"/usr/lib/ambari-metrics-kafka-sink/ambari-metrics-kafka-sink.jar\" ]; затем\N экспорт из classpath=$classpath, который:в /usr/lib в/ambari-метрики-Кафка-раковина/ambari-метрики-Кафка-раковина.фляга\N экспорт из classpath=$classpath в: в/usr/lib в/ambari-метрики-Кафка-раковина/Либ/*\НФИ\N\песли [ -Ф /etc/kafka/conf/kafka-ranger-env.sh ]; тогда\Н. в /etc/Кафка/конф/Кафка-следопыт-ОКР.ш\НФИ",
 "is_supported_kafka_ranger" : "правда",
 "kafka_log_dir" : "в/var/журнал/Кафка",
 "kafka_pid_dir" : "в/var/работа/Кафка",
 "kafka_user" : "Кафка",
 "kafka_user_nofile_limit" : "128000",
 "kafka_user_nproc_limit" : "65536"
+935
idjuradj 14 сент. 2016 г., 09:05:43
Другие ответы

Связанные вопросы


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

Большинство хороших ответов коснулись упражнения (и повторов) вам нужно построить мышцы и сила.

Это, как говорится, ни один из ответов затронули такие: вес тела упражнения .

  • Подтягивания и подбородок UPS: у 20 из них ежедневно в течение одного месяца, вы должны заметно выпячивается на боковые мышцы (верхняя часть V-образной формы).
  • Ногу: у 20 из них ежедневно и через месяц вы увидите уменьшение вашей талии.
  • Стоя хрустит: у 40 из них ежедневно в течение 2 месяцев и вы должны начать чувствовать свои мышцы таза (с низким уровнем жира, вы должны начать видеть V-образную форму, на нижний пресс).
  • Теса: 1 минута планка в день будет способствовать укреплению вашей основной и облегчить вашу боль.

Добавить их предложения, приведенные выше, и вы заметите, что ваши мышцы выпирают за сравнительно короткое время.

+906
vigneshwran karthicason 31 июл. 2012 г., 08:23:23

Так что я получил это работает с помощью моста вместо "по умолчанию" виртуальная сеть, которая применяется при установке КВМ оценки.

Основной КВМ оценки в CentOS использует виртуальную сеть (названный 'по умолчанию'), который осуществляет преобразование сетевых адресов из локальной сети через виртуальные машины через виртуальный хост, так что вы получаете разную подсеть для виртуальных машин по сравнению с остальной частью сети.

Если вы закроете свой гость(S) и отключить виртуальную сеть, вы можете создать мост (обычно на Br1') в вирт-менеджером и дать ему статический IP и шлюз. Я использовал свой маршрутизатор в качестве шлюза (192.168.1.1) и дал статический IP-адрес 192.168.1.129.

Когда я загрузил гость у меня была небольшая проблема, потому что я забыл, что я его уже дал статический IP, так что я редактировал файл /etc/sysconfig/сети-скрипты/файл ifcfg - и восстановил мои ВМ гостевой DHCP и автоматический IP.

Когда я перезагрузил оценки у меня локальный IP-адрес, данный ему именно DCHP, который был в той же подсети, как и остальные из моей локальной сети. Тогда я просто направила соответствующие порты для emby/DLNA и я теперь может передавать видео по локальной сети из виртуальной оценки.

Завтра я постараюсь давать мой сервер emby статический IP и сделать некоторые дополнительные настройки.

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

+835
Wim Coenen 4 мар. 2010 г., 16:37:43

Я лично направил мои исследования, или, точнее, "текущее исследование" (текст или работа также подойдет). Это можно избежать, используя первое лицо. Примеры:

  • цель настоящего исследования состояла в том, чтобы...
  • Смит и соавт показали, что.... что согласуется с результатами настоящего исследования
  • Результаты данного исследования оспорить тот факт, что...
+762
straw hat pirates 25 мар. 2017 г., 03:19:52

Мой рейс был отменен из-за технических причин (якобы воздушных пробок) так что мое компенсации было отказано. Я подозреваю, что они просто пытаются избежать выплаты компенсации, заявив о не техническая проблема (пассажиры в ЕС имеют право на компенсацию, если самолеты не вылетают из-за технической неисправности, а некритические это может быть). Есть ли надежный источник, там где я могу узнать истинную причину отмены рейса и использовать его в качестве доказательства?

+590
war head 27 мар. 2010 г., 07:53:33

Установка установить отключить-завершения в /etc/inputrc (или ~/.inputrc) будет отключить автозаполнение отладки по. Что бы вызвать клавишу Tab, чтобы просто вкладка.

Возможно, имеющий оболочку кроме Баш может вызвать автозаполнение не работает.

+587
alireza niksejel 5 окт. 2023 г., 04:14:38

В конвейере, все команды выполняются в подоболочку. раз сообщает Время, затраченное оболочки и подоболочки, а не его оболочку.

Вы можете вместо этого попробовать процесс замещения:

раз > >( руководитель -Н1 )
раз > >( читай пользователя sys ; Эхо $пользователей )
+575
Philip Maya 26 апр. 2018 г., 05:38:08

Что я сделал:

СШ-х VPNuser@сервер
в Firefox

Затем перейдем на веб-сайт для DNS-испытание на герметичность.

+460
jonbaer 15 июн. 2019 г., 14:35:21

Я нашел ответ:

Общее название: Дерево счастья / научное название: гарцинии Subelliptica.

Судя по всему, NParks Сингапура этот сказочный сайт, где все растения и деревья, которые растут в регионе, перечислены >>

https://florafaunaweb.nparks.gov.sg/Special-Pages/Record-List.aspx?OptionId=441&DataSourceIDNo=1&CatN=Plant+Characteristics+&+Uses&CatO=Roadside+Tree+%2f+Palm

+446
Naushad Qamar 7 сент. 2016 г., 21:33:52

Я думаю, что это будет отличная идея: ваши ссылки должны отстаивать вашу способность выполнять работы программы, верно? Ну, кто бы знал лучше, чем люди с запущенной программой?

Если один из преподавателей программы получает спрашивал о тебе за чашкой кофе утром, и они говорят: "о, AS2045? Да, он был в моей студенческой аудитории, и я думаю, что он будет отлично подходит для нашей программы, принести кучу хороших грантов", - тогда есть шанс, что вы собираетесь делать и там.

+424
Liftu 3 июн. 2010 г., 18:45:24

Котировки должны быть включены дословно, так что не изменить. Вместо этого, вставлять или изменять слова, используя квадратные скобки. Е. Г., "Я задаюсь вопросом, является ли это [так] оставлять цитаты как..." кроме того, заменять прямые кавычки с резюме сказанного. В конце концов, использовать "[НИЦ]" осторожно: использование зю "может быть оборонительным, но его чрезмерное наступление" и "[в] поистине дело десятое, это обычно лучше [тихо] правильный оригинал" (источник: Коламбия руководство по стандартному американскому варианту английского языка).

+418
sergeyne 16 июл. 2015 г., 23:07:55

Несколько дней назад я разместил некоторые сомнения по поводу моего Винча (видимо Catharansus розовая), потому что он начал плохо выглядеть. После заботиться о нем, как сказали, стало хуже. То же самое произошло с другим горшечных цветочных растений у меня. Я обратилась за помощью в местные теплицы, и держала инструкцию, но лучше не становится.

Это были мои цветы:

enter image description here

И они теперь бедненькие:

enter image description here

Я не Overwater с ними. Я распыления воды в листьях иногда (это засушливое лето), но не на лепестках, и я беру воду из тарелки подальше, чтобы корни не гнили. Я храню их в прямом солнечном свете в течение примерно получаса в день, а намного дольше в косвенной солнечного света.

Температура здесь была более 34º с (93 ° по Фаренгейту) и не очень влажно, в общем, и это становится немного холоднее сейчас, но не слишком много, 30-31º с (87º Ф).

Я очень беспокоюсь и не знаю, что делать. Остальные мои растения хорошо, и они не имеют цветов. Может ли быть плохие более чувствительны?

+350
Federica Alfano 17 мар. 2011 г., 20:11:58

Туи можно обрезать довольно жесткий и вернется. В моем районе оленей люблю кедры и жевать их до смерти. Если деревья, возможно, они возвращаются к жизни.

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

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

Первый телефонный звонок поступает в отдел местной работы. "Будете ли вы так любезны прислать кого-нибудь посмотреть на повреждения моей изгороди?" Второй звонок идет в местный пейзаж подрядчика (не специалист газон) "не могли бы вы взглянуть на некоторые повреждения изгородь нуждается в ремонте и приведите мне цитату?"

Пусть отдел работает знаю, что цитата говорит. Дать им выбор, платить за это или имеющие их собственные экипажи сделать подобное задание. Но только если свою часть сделки является правильным, то есть, что хедж-полностью на вашей стороне вашего участка линии. Удачи.

+299
HideAndSeek 5 сент. 2019 г., 05:38:05

Теории больше, чем просто имена идеи?

Нет, они просто имена для идей.

Может любой человек, монета новая теория, или есть какой-то процесс, посредством которого теория получает признание и поддержку, прежде чем она считается “теория”?

Каждый желающий может отчеканить новую теорию, и термин “теория” не подразумевает никакого особого статуса. Например, теория плоской Земли-это теория, просто теория не хороша. Как правило, люди не тратят много времени на разговоры о теории, если только они не являются ценными или спорным. Если ты придумываешь новую теорию без какой-либо реальной проницательности, наверное, все будет просто игнорировать его. Но это не значит, что это не теория - это не просто полезные или интересные теории.

Я могу привести теорий, чтобы добавить поддержку в моих бумагах?

Часть точка ссылаясь на эти теории-показать, как ваша работа вписывается в поле. Вы с ней взаимодействуют и реагируют на определенные идеи, уточняя или расширяя некоторые из них, а также исправление или опровергая другие. Важно, чтобы описать эти идеи в узнаваемый образ, чтобы читатели увидят контекст для вашей работы и может лучше понять, что вы имеете в виду. Иногда лучший способ сделать это предполагает ссылаясь на названные теории. Если вы можете объяснить, как эти теории помогают обосновать ваши выводы, то, что будет добавлена поддержка для ваших идей. (Ты пользуясь тем, что многие эксперты уже понимают и соглашаются с этими теориями.)

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

При написании различных выпускных работ, мои преподаватели часто просят меня привести различные названных теорий в поддержку моих аргументов.

Я настоятельно рекомендую обсуждать это с ними. Люди в интернете могут предложить общие замечания, но только ваши преподаватели вам сказать точно, что они ищут и почему.

+293
mmtootmm 25 сент. 2023 г., 03:28:57

Мне нравится, как в Debian дает различные записи. Например, для большинства пакетов это

  • changelog.gz, файлов changelog вдаваясь в подробности различий между двумя версиями, а порой даже точки-версий. В настоящее время, как правило, отгоняют от $ в Git shortlog или как эквивалентную команду в любой СКВ используется.

  • changelog.Debian.gz, список изменений/улучшений в пакет. Некоторые общие изменения включают изменения в упаковке, команда, изменения в стандарты версий, обновление сборки-зависит от того, какие патчи, которые исправить некоторые проблемы в Debian, который не был принят ни вверх, ни изменений в Debian/правил или в Debian/управления , которые могут быть заметными и нужно отметить.

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

+119
fqxp 26 нояб. 2015 г., 07:46:54

Давайте разберем его:

содержание=$(кошка)

Так же, как и содержание=$(кошка). Это используя команду подстановки которой в Баш использует трубы. На одном конце трубы, Кот пишет, что он читает из стандартного ввода. И баш на другой конец чтения, что хранить в $содержание.

Однако, прежде чем сделать это, он переносит конечные символы новой строки и подавился символ Nul. Чтобы иметь возможность хранить произвольные данные в переменной, вы не можете использовать Баш; вы должны были бы использовать ЗШ , а сделать что-то вроде:

содержание=$(кошка; Эхо .); содержание=${содержание%.}

чтобы обойти эту строку зачистки вопрос.

Обратите внимание, что данные будут храниться в $содержание подается через стандартный ввод скрипта. Которые будут доступны (на Linux), а в/proc/PID для вашего сценария/ФД/0 которая так же, как в/proc/пид-о-кошки/ФД/0. И поскольку кошка копирует его к трубе на баш, это также в файле/proc/пид-о-кошки/ФД/1 и в/proc/пид-о-скрипт/ФД/ФД-к-другой-конец-труба.

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


пропуск=$1

Вот, ты говоришь, что сам секретный ключ берется из первого аргумента скрипта.

Невозможно передать секретные данные как аргументы командной строки. Аргументы командной строки Не секрет. Они показывают, на выходе из ПС-efwww. На Linux, в/proc/пид/командной строки , которая содержит их читаемыми (по умолчанию; на Linux, доступ к в/proc/ПИД может быть административно ограничены процессами с euid так же, хотя это редко делается как то влияет на поведение или ПС между прочим).

В некоторых системах они могут быть даже войти с помощью механизма бухгалтерского учета/аудита.


Эхо $контент - это неправильно по нескольким причинам:

  • эхо не может быть использован для произвольных данных. Он не работает должным образом с аргументами как , -neneneene... и в зависимости от среды вещей, которые содержать обратную косую черту.
  • Неупомянутую $содержание означает, вызывая раскол+Глоб оператора, который вас не хочет и может вызвать проблемы, если $контент содержит символы $МФС или подстановочные знаки.
  • это добавляет дополнительный символ новой строки.

Вы хотите:

Е %С "$содержание"

И убедиться, что конечные строки не был лишен раньше.

Так что Е является частью трубопровода, он будет работать в дочерний процесс, чей поток stdout будет труба. На Linux, в/proc/пид-из-этого-ребенка-процесс/ФД/1 даст доступ к этому контенту. Так будет в/proc/пид-из-ccript/0.


В

ccrypt выступает -Ф-К <(Эхо-N $перевал)

Опять проблема эхо и неупомянутой $пройти.

Эхо (опять же работает в дочерний процесс) напишу пароль к трубе. Другой конец трубы будет размещена на ФД н к ccrypt выступает и <(...) будет расширяться, то вроде как/dev/ФД/П или в/proc/самоуправления/ФД/Н. ccrypt выступает откроет этот файл (таким образом, на новом ФО), которая опять же (на Linux) будет доступен как в/proc/пид-из-ccrypt выступает/ФД/что-ФД в дополнение к в/proc/пид-из-ccrypt выступает/ФД/Н И в/proc/пид-о-Эхо/ФД/1


Так вот, основная проблема в вашем коде-это не процесс замещения или какой-либо из других труб, но тот факт, что пароль будет передаваться в качестве аргумента командной строке команды (вот, ваш сценарий).

Процесс замещения предполагает нормальную трубу, как и в случае с $(...) подстановка команд и |. /разработки/ФД/х на большинстве систем, кроме Linux имеет смысл только в соответствующий процесс, поэтому не может просочиться на другие процессы. Но другие процессы, запущенные как же euid-ом (или как root) можно читать в любом случае память о тех процессах (например, отладчики) и восстановить пароль (или, скорее всего, из одного источника в любом случае).

В Linux как/dev/ФД - это симлинк на /proc и/самоуправления/ФД и текстовый динамической символической ссылкой на файл/proc/с-ПИД. в/proc/пид/ФД по умолчанию для чтения процессов с euid так же (хотя там могут быть дополнительные ограничения, добавил, те же самые, что ограничения, которые могут присоединить отладчик к процессу).

Для соб, которые указывают на трубы, в/proc/пид/ФД/что-ФД работает как именованный канал. Так что еще один процесс (опять-таки работает так-же euid так или корня) могут украсть содержимое трубы. Но в любом случае, если они могут сделать это, они могут также напрямую прочитать содержимое памяти процессы поэтому нет смысла пытаться бороться с этим.


Вместо того чтобы передавать пароль в командной строке, вы можете передать ее через переменную среды. Окружающую среду гораздо больше, чем список аргументов. На Linux, в/proc/пид/окру - только для чтения, процессов с euid так же (или корень).

Так что ваш скрипт может быть:

#! /Бен/ш -
ccrypt выступает в exec-е -е пароль

И назвать его как

Пароль=секрет-фраза-сценарий < данные до шифрования 
+31
Oxidator 1 авг. 2014 г., 10:25:06

Показать вопросы с тегом