Как добавить строку в хост: Страница не найдена | REG.RU

PostgreSQL : Документация: 9.6: 20.1. Файл pg_hba.conf : Компания Postgres Professional

RU

EN

RU EN

Аутентификация клиентов управляется конфигурационным файлом, который традиционно называется pg_hba.conf и расположен в каталоге с данными кластера базы данных. (HBA расшифровывается как host-based authentication — аутентификации по имени узла.) Файл pg_hba.conf, со стандартным содержимым, создаётся командой initdb при инициализации каталога с данными. Однако его можно разместить в любом другом месте; см. конфигурационный параметр hba_file.

Обычный формат файла pg_hba.conf представляет собой набор записей, по одной в строке. Пустые строки игнорируются, как и любой текст комментария после знака #. Записи не продолжаются на следующей строке. Записи состоят из некоторого количества полей, разделённых между собой пробелом и/или tabs. В полях могут быть использованы пробелы, если они взяты в кавычки. Если в кавычки берётся какое-либо зарезервированное слово в поле базы данных, пользователя или адресации (например, all или replication), то слово теряет своё особое значение и просто обозначает базу данных, пользователя или сервер с данным именем.

Каждая запись обозначает тип соединения, диапазон IP-адресов клиента (если он соотносится с типом соединения), имя базы данных, имя пользователя, и способ аутентификации, который будет использован для соединения в соответствии с этими параметрами. Первая запись с соответствующим типом соединения, адресом клиента, указанной базой данных и именем пользователя применяется для аутентификации. Процедур «fall-through» или «backup» не предусмотрено: если выбрана запись и аутентификация не прошла, последующие записи не рассматриваются. Если же ни одна из записей не подошла, в доступе будет отказано.

Запись может быть сделана в одном из семи форматов:

local      база  пользователь  метод-аутентификации  [параметры-аутентификации]
host       база  пользователь  адрес  метод-аутентификации  [параметры-аутентификации]
hostssl    база  пользователь  адрес  метод-аутентификации  [параметры-аутентификации]
hostnossl  база  пользователь  адрес  метод-аутентификации  [параметры-аутентификации]
host       база  пользователь  IP-адрес  IP-маска  метод-аутентификации  [параметры-аутентификации]
hostssl    база  пользователь  IP-адрес  IP-маска  метод-аутентификации  [параметры-аутентификации]
hostnossl  база  пользователь  IP-адрес  IP-маска  метод-аутентификации  [параметры-аутентификации]

Значения полей описаны ниже:

local

Управляет подключениями через Unix-сокеты. Без подобной записи подключения через Unix-сокеты невозможны.

host

Управляет подключениями, устанавливаемыми по TCP/IP. Записи host соответствуют подключениям с SSL и без SSL.

Примечание

Удалённое соединение по TCP/IP невозможно, если сервер запущен без определения соответствующих значений для параметра конфигурации listen_addresses, поскольку по умолчанию система принимает подключения по TCP/IP только для локального адреса замыкания localhost.

hostssl

Управляет подключениями, устанавливаемыми по TCP/IP с применением шифрования SSL.

Чтобы использовать эту возможность, сервер изначально должен быть построен с поддержкой SSL. Более того, SSL должен быть включён на момент запуска сервера, для чего необходимо установить параметр конфигурации ssl (подробнее это описано в Разделе 18.9).

hostnossl

Этот тип записей противоположен hostssl, ему соответствуют только подключения по TCP/IP без шифрования SSL.

база

Определяет, каким именам баз данных соответствует эта запись. Значение all определяет, что подходят все базы данных. Значение sameuser определяет, что данная запись соответствует только, если имя запрашиваемой базы данных совпадает с именем запрашиваемого пользователя. Значение samerole определяет, что запрашиваемый пользователь должен быть членом роли с таким же именем, как и у запрашиваемой базы данных. (samegroup — это устаревший, но допустимый вариант значения samerole.) Суперпользователи не становятся членами роли автоматически из-за samerole, а только если они являются явными членами роли, прямо или косвенно, и не только из-за того, что они суперпользователи. Значение replication показывает, что запись соответствует, если запрашивается подключение репликации (имейте в виду, что подключения репликации не определяют какую-то конкретную базу данных). В противном случае это имя определённой базы данных PostgreSQL. Несколько имён баз данных можно указать, разделяя их запятыми. Файл, содержащий имена баз данных, можно указать, поставив знак @ в начале его имени.

пользователь

Указывает, какому имени (или именам) пользователя базы данных соответствует эта запись. Значение all показывает, что это подходит всем пользователям. В противном случае это либо имя конкретного пользователя базы данных, либо имя группы, в начале которого стоит знак +. (Напомним, что в PostgreSQL нет никакой разницы между пользователем и группой; знак + означает « совпадение любых ролей, которые прямо или косвенно являются членами роли», тогда как имя без знака + является подходящим только для этой конкретной роли.) В связи с этим, суперпользователь рассматривается как член роли, только если он явно является членом этой роли, прямо или косвенно, а не только потому, что он является суперпользователем. Несколько имён пользователей можно указать, разделяя их запятыми. Файл, содержащий имена пользователей, можно указать, поставив знак @ в начале его имени.

адрес

Указывает адрес (или адреса) клиентской машины, которым соответствует данная запись. Это поле может содержать или имя компьютера, или диапазон IP-адресов, или одно из нижеупомянутых ключевых слов.

Диапазон IP-адресов указывается в виде начального адреса диапазона, дополненного косой чертой (/) и длиной маски CIDR. Длина маски задаёт количество старших битов клиентского IP-адреса, которые должны совпадать с битами IP-адреса диапазона. Биты, находящиеся правее, в указанном IP-адресе должны быть нулевыми. Между IP-адресом, знаком / и длиной маски CIDR не должно быть пробельных символов.

Типичные примеры диапазонов адресов IPv4, указанных таким образом: 172.20.143.89/32 для одного компьютера, 172.20.143.0/24 для небольшой и 10. 6.0.0/16 для крупной сети. Диапазон адресов IPv6 может выглядеть как ::1/128 для одного компьютера (это адрес замыкания IPv6) или как fe80::7a31:c1ff:0000:0000/96 для небольшой сети. 0.0.0.0/0 представляет все адреса IPv4, а ::0/0 — все адреса IPv6. Чтобы указать один компьютер, используйте длину маски 32 для IPv4 или 128 для IPv6. Опускать замыкающие нули в сетевом адресе нельзя.

Запись, сделанная в формате IPv4, подойдёт только для подключений по IPv4, а запись в формате IPv6 подойдёт только для подключений по IPv6, даже если представленный адрес находится в диапазоне IPv4-в-IPv6. Имейте в виду, что записи в формате IPv6 не будут приниматься, если системная библиотека С не поддерживает адреса IPv6.

Вы также можете прописать значение all, чтобы указать любой IP-адрес, samehost, чтобы указать любые IP-адреса данного сервера, или samenet, чтобы указать любой адрес любой подсети, к которой сервер подключён напрямую.

Если определено имя компьютера (всё, что не является диапазоном IP-адресов или специальным ключевым словом, воспринимается как имя компьютера), то оно сравнивается с результатом обратного преобразования IP-адреса клиента (например, обратного DNS-запроса, если используется DNS). При сравнении имён компьютеров регистр не учитывается. Если имена совпали, выполняется прямое преобразование имени (например, прямой DNS-запрос) для проверки, относится ли клиентский IP-адрес к адресам, соответствующим имени. Если двусторонняя проверка пройдена, запись считается соответствующей компьютеру. (В качестве имени узла в файле pg_hba.conf должно указываться то, что возвращается при преобразовании IP-адреса клиента в имя, иначе строка не будет соответствовать узлу. Некоторые базы данных имён позволяют связать с одним IP-адресом несколько имён узлов, но операционная система при попытке разрешить IP-адрес возвращает только одно имя.)

Указание имени, начинающееся с точки (.), соответствует суффиксу актуального имени узла. Так, .example.com будет соответствовать foo.example.com (а не только example.com).

Когда в pg_hba.conf указываются имена узлов, следует добиться, чтобы разрешение имён выполнялось достаточно быстро. Для этого может быть полезен локальный кеш разрешения имён, например, nscd. Вы также можете включить конфигурационный параметр log_hostname, чтобы видеть в журналах имя компьютера клиента вместо IP-адреса.

Это поле применимо только к записям host, hostssl и hostnossl.

IP-адрес
IP-маска

Эти два поля могут быть использованы как альтернатива записи IP-адрес/длина-маски. Вместо того, чтобы указывать длину маски, в отдельном столбце указывается сама маска. Например, 255.0.0.0 представляет собой маску CIDR для IPv4 длиной 8 бит, а 255. 255.255.255 представляет маску CIDR длиной 32 бита.

Эти поля применимы только к записям host, hostssl и hostnossl.

метод-аутентификации

Указывает метод аутентификации, когда подключение соответствует этой записи. Варианты выбора приводятся ниже; подробности в Разделе 20.3.

trust

Разрешает безусловное подключение. Этот метод позволяет тому, кто может подключиться к серверу с базой данных PostgreSQL, войти под любым желаемым пользователем PostgreSQL без введения пароля и без какой-либо другой аутентификации. За подробностями обратитесь к Подразделу 20.3.1.

reject

Отклоняет подключение безусловно. Эта возможность полезна для «фильтрации» некоторых серверов группы, например, строка reject может отклонить попытку подключения одного компьютера, при этом следующая строка позволяет подключиться остальным компьютерам в той же сети.

md5

Требует от клиента предоставить для аутентификации пароль, дважды хешированный алгоритмом MD5. За подробностями обратитесь к Подразделу 20.3.2.

password

Требует для аутентификации введения клиентом незашифрованного пароля. Поскольку пароль посылается простым текстом через сеть, такой способ не стоит использовать, если сеть не вызывает доверия. За подробностями обратитесь к Подразделу 20.3.2.

gss

Для аутентификации пользователя использует GSSAPI. Этот способ доступен только для подключений по TCP/IP. За подробностями обратитесь к Подразделу 20.3.3.

sspi

Для аутентификации пользователя использует SSPI. Способ доступен только для Windows. За подробностями обратитесь к Подразделу 20.3.4.

ident

Получает имя пользователя операционной системы клиента, связываясь с сервером Ident, и проверяет, соответствует ли оно имени пользователя базы данных. Аутентификация ident может использоваться только для подключений по TCP/IP. Для локальных подключений применяется аутентификация peer. За подробностями обратитесь к Подразделу 20.3.5.

peer

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

ldap

Проводит аутентификацию, используя сервер LDAP. За подробностями обратитесь к Подразделу 20.3.7.

radius

Проводит аутентификацию, используя сервер RADIUS. За подробностями обратитесь к Подразделу 20.3.8

cert

Проводит аутентификацию, используя клиентский сертификат SSL. За подробностями обратитесь к Подразделу 20.3.9

pam

Проводит аутентификацию, используя службу подключаемых модулей аутентификации (PAM), предоставляемую операционной системой. За подробностями обратитесь к Подразделу 20.3.10.

bsd

Проводит аутентификацию, используя службу аутентификации BSD, предоставляемую операционной системой. За подробностями обратитесь к Подразделу 20.3.11.

.

параметры-аутентификации

После поля метод-аутентификации может идти поле (поля) вида имя=значение, определяющее параметры метода аутентификации. Подробнее о параметрах, доступных для различных методов аутентификации, рассказывается ниже.

Помимо описанных далее параметров, относящихся к различным методам, есть один общий параметр аутентификации clientcert, который можно задать в любой записи hostssl. Если он равен 1, клиент должен представить подходящий (доверенный) сертификат SSL, в дополнение к другим требованиям метода проверки подлинности.

Файлы, включённые в конструкции, начинающиеся с @, читаются, как список имён, разделённых запятыми или пробелами. Комментарии предваряются знаком #, как и в файле pg_hba.conf, и вложенные @ конструкции допустимы. Если только имя файла, начинающегося с @ не является абсолютным путём.

Поскольку записи файла pg_hba.conf рассматриваются последовательно для каждого подключения, порядок записей имеет большое значение. Обычно более ранние записи определяют чёткие критерии для соответствия параметров подключения, но для методов аутентификации допускают послабления. Напротив, записи более поздние смягчают требования к соответствию параметров подключения, но усиливают их в отношении методов аутентификации. Например, некто желает использовать trust аутентификацию для локального подключения по TCP/IP, но при этом запрашивать пароль для удалённых подключений по TCP/IP. В этом случае запись, устанавливающая аутентификацию trust для подключения адреса 127.0.0.1, должна предшествовать записи, определяющей аутентификацию по паролю для более широкого диапазона клиентских IP-адресов.

Файл pg_hba.conf прочитывается при запуске системы, а также в тот момент, когда основной сервер получает сигнал SIGHUP. Если вы редактируете файл во время работы системы, необходимо послать сигнал процессу postmaster (используя pg_ctl reload, вызвав SQL-функцию pg_reload_conf() или выполнив kill -HUP), чтобы он прочел обновлённый файл.

Подсказка

Чтобы подключиться к конкретной базе данных, пользователь не только должен пройти все проверки файла pg_hba.conf, но должен иметь привилегию CONNECT для подключения к базе данных. Если вы хотите ограничить доступ к базам данных для определённых пользователей, проще предоставить/отозвать привилегию CONNECT, нежели устанавливать правила в записях файла pg_hba.conf.

Примеры записей файла pg_hba.conf показаны в Примере 20.1. Обратитесь к следующему разделу за более подробной информацией по методам аутентификации.

Пример 20.1. Примеры записей pg_hba.conf

# Позволяет любому пользователю локальной системы подключиться
# к любой базе данных, используя любое имя базы данных через 
# Unix-сокеты (по умолчанию для локальных подключений).
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     trust
# То же, но для локальных замкнутых подключений по  TCP/IP.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             127.0.0.1/32            trust
# То же, что и на предыдущей строке, но для подключений с указанием
# сетевой маски в отдельном столбце
#
# TYPE  DATABASE        USER            IP-ADDRESS      IP-MASK             METHOD
host    all             all             127.0.0.1       255.255.255.255     trust
# То же для IPv6.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             ::1/128                 trust
# То же самое, но с использованием имени сервера
# (обычно покрывает и IPv4, и IPv6). 
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             localhost               trust
# Позволяет  любому пользователю любого узла с IP-адресом
#   192.168.93.x  подключаться к базе данных "postgres" 
# как имени пользователя, которое сообщает для подключения ident 
# (как правило, имя пользователя операционной системы ).
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    postgres        all             192.168.93.0/24         ident
#  Позволяет любому пользователю сервера 192.168.12.10 подключиться
#  к базе данных "postgres" если пользователь ввел корректный пароль.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    postgres        all             192.168.12.10/32        md5
# Позволяет пользователям поддоменов example.com подключиться
#к любой базе данных при введении корректного пароля.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             . example.com            md5
#В случае отсутствия предшествующих "host" строчек, эти две строки
# откажут в подключении  192.168.54.1 (поскольку данная запись будет
# сопоставляться первой), но разрешат подключения GSSAPI со всех других 
# адресов.  Нулевая маска позволяет не рассматривать ни одного бита
# из IP-адреса сервера, и поэтому любой адрес сервера будет соответствовать.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.54.1/32         reject
host    all             all             0.0.0.0/0               gss
# Позволяет пользователям с любого сервера 192.168.x.x подключиться 
# к любой базе данных, если они проходят проверку ident.  Если же ident 
# говорит, например, что это пользователь "bryanh" и он запрашивает
#  подключение как  PostgreSQL пользователь "guest1", подключение 
# будет разрешено, если в файле pg_ident.conf есть запись для файла сопоставления 
# "omicron", позволяющая пользователю "bryanh" подключиться как "guest1". 
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             192.168.0.0/16          ident map=omicron
# Если для локальных подключений предусмотрены только эти три строки
# они позволят локальным пользователям подключиться только к своим 
# базам данных (базам данных с такими же именами пользователя, 
# как и имя пользователя их базы данных) кроме администраторов
# или членов роли "support", которые могут подключиться к любой БД.
# Файл $PGDATA/admins включает в себя список имён администраторов.  
# Пароли запрашиваются в любом случае.
#
# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   sameuser        all                                     md5
local   all             @admins                                 md5
local   all             +support                                md5
# Последние две строчки выше могут быть скомбинированы в одну:
local   all             @admins,+support                        md5
# В столбце также могут указываться списки и имена файлов:
local   db1,db2,@demodbs  all                                   md5

Понимание файла SSH known_hosts — General Software

Файл ssh known_hosts — это файл, в котором хранится открытый ключ всех серверов, к которым вы подключились с помощью ssh. Этот файл используется для проверки идентичности серверов в будущем. Ssh может автоматически добавлять ключи в этот файл, но их можно добавить и вручную.

Содержание

  1. Понимание SSH known_hosts
  2. Формат файла known_hosts
  3. Назначение файла known_hosts
  4. Добавление открытого ключа в known_hosts вручную
  5. Как просмотреть файл ssh know_hosts?
  6. Где я должен хранить файл ssh know_hosts?
  7. Каковы некоторые распространенные проблемы с файлом ssh know_hosts?

Понимание SSH known_hosts

В SSH для аутентификации компьютеров и пользователей используется криптография с открытым ключом. Ключи хоста аутентифицируют хосты. Уполномоченные ключи и ключи идентификации аутентифицируют пользователей. В OpenSSH коллекция известных ключей хостов хранится в /etc/ssh/known_hosts и в .ssh/known_hosts в домашнем каталоге каждого пользователя. При первом подключении к хосту ssh обычно добавляет открытый ключ удаленного хоста в файл known_hosts пользователя.

Формат файла known_hosts

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

Известные_хосты Пример

Вот один из примеров ключа хоста с IP:

192.168.0.1 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIPV…

Назначение файла known_hosts

Этот файл является локальным для учетной записи пользователя и содержит известные ключи для удаленных хостов. Как и ключи, хранящиеся в файле ~/.ssh/known_hosts, эти ключи используются для проверки «личности» удаленного узла, защищая его от атак типа «человек посередине».

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

Добавление открытого ключа в known_hosts вручную

Мы можем использовать ssh-keygen с опцией -F для поиска файла known_hosts.

ssh-keygen -F server.example.com .

По умолчанию будет искаться файл ~/.ssh/known_hosts, и ключ будет напечатан, если он будет найден. С помощью опции -f можно искать в другом файле. Если ключ должен быть удален из файла, опция -R работает аналогично поиску по хосту и затем удаляет его, если он найден, даже если имя хоста хэшировано.

ssh-keygen -R serverё.example.com -f ~/.ssh/known_hosts

Когда ключ будет удален, он будет добавлен в файл ~/. ssh/known_hosts.old на случай, если он понадобится позже. Если с помощью -F или -R используется файл не по умолчанию, то имя, включая путь, должно быть указано с помощью -f. Но -f необязателен, если используется файл по умолчанию.

Как просмотреть файл ssh know_hosts?

Чтобы просмотреть файл ssh know_hosts в вашей системе Linux, вы можете использовать следующую команду:

cat ~/.ssh/known_hosts

или

vi ~/.ssh/known_hosts

Чтобы добавить новый хост в файл ssh know_hosts, вы можете использовать следующую команду:

ssh-keyscan -t rsa [remote.server.com] >> ~/.ssh/known_hosts
ssh-keyscan -H remote.server.com >> ~/.ssh/known_hosts

Чтобы удалить хост из файла know hosts, вы можете использовать следующую команду:

ssh-keygen -R [remote.server.com]
ssh-keygen -r [remote.server.com]

Где я должен хранить файл ssh know_hosts?

Файл ssh know_hosts должен храниться в каталоге ~/.ssh. Например, полный путь к файлу ssh know_hosts следующий: ~/. ssh/known_hosts.

Каковы некоторые распространенные проблемы с файлом ssh know_hosts?

Файл ssh know_hosts — это файл, в котором хранится информация о хостах, к которым вы подключились с помощью ssh. Этот файл может помочь предотвратить атаки типа «человек посередине», проверяя ключ хоста перед подключением.

Частая проблема с файлом ssh know_hosts — это когда вы пытаетесь подключиться к хосту и получаете сообщение об ошибке: «WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!». Обычно это происходит, если вы поменяли оборудование на сервере, к которому подключаетесь, или если на удаленном сервере изменились настройки.

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

ssh-keygen -R [remote.server.com]
ssh-keyscan -t rsa [remote.server.com] >> ~/.ssh/known_hosts
ssh-keyscan -H remote.server.com >> ~/.ssh/known_hosts

Другая распространенная проблема с файлом ssh know_hosts — это когда вы пытаетесь подключиться к хосту и получаете сообщение об ошибке: «WARNING: POSSIBLE DNS SPOOFING DETECTED!». Обычно это происходит, когда вы пытаетесь подключиться к несуществующему узлу.

Если вы получили это сообщение об ошибке, проверьте файл /etc/hosts и убедитесь, что имя удаленного сервера там есть и ему присвоен действительный IP-адрес.

Read-Host (Microsoft.PowerShell.Utility) — PowerShell | Microsoft Узнайте

Редактировать

Твиттер

LinkedIn

Фейсбук

Электронная почта

  • Артикул
Модуль:
Microsoft.PowerShell.Утилита

Считывает строку ввода с консоли.

Синтаксис

 Чтение-хост
    [[-Подсказка] <Объект>]
    [-MaskInput]
    [] 
 Чтение-хост
    [[-Подсказка] <Объект>]
    [-AsSecureString]
    [<Общие параметры>] 

Описание

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

Примечание

Read-Host имеет ограничение в 1022 символа, которые он может принять в качестве ввода от пользователя.

Примеры

Пример 1: Сохранение ввода с консоли в переменную

В этом примере отображается строка «Пожалуйста, введите ваш возраст:» в качестве подсказки. Когда значение введено и
нажата клавиша Enter, значение сохраняется в Переменная $Age .

 $Age = Read-Host "Пожалуйста, введите свой возраст" 

Пример 2. Сохранение ввода с консоли в виде защищенной строки

В этом примере отображается строка «Введите пароль:» в качестве подсказки. По мере ввода значения
звездочки ( * ) появляются в консоли вместо ввода. При нажатии клавиши Enter появляется
значение сохраняется как объект SecureString в переменной $pwd_secure_string .

 $pwd_secure_string = Read-Host "Введите пароль" -AsSecureString 

Пример 3: Ввод маски и в виде строки открытого текста

В этом примере отображается строка «Введите пароль:» в качестве подсказки. По мере ввода значения
звездочки ( * ) появляются в консоли вместо ввода. При нажатии клавиши Enter появляется
значение хранится в виде открытого текста String объекта в переменной $pwd_string .

 $pwd_string = Read-Host "Введите пароль" -MaskInput 

Пример 4: Нормализация ввода

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

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

 $ подсказка = @(
    «Перечислите города, для которых вам нужна информация о погоде».
    'При указании нескольких городов разделяйте их точкой с запятой, например:'
    «Нью-Йорк, Осан, Кофоридуа»
) -присоединиться ' '
$cities = Read-Host $prompt
"Введите строку городов: `n`t'$cities'"
$splitCities = $cities -split ';'
"Разделить массив городов:"
$splitГорода | ForEach-Object -Process { "`t'$_'" }
$normalizedCities = $splitCities | ForEach-Object -Process {$_.Trim()}
"Нормализованный массив разделенных городов:"
$normalizedГорода | ForEach-Object -Process { "`t'$_'" }
Введите строку городов:
        '    Нью-Йорк; Осан Кофоридуа
Разделить массив городов:
        '    Нью-Йорк'
        'Осан'
        'Кофоридуа'
Массив нормализованных разделенных городов:
        'Нью-Йорк'
        'Осан'
        'Кофоридуа' 

В примере используется оператор -split для преобразования входной строки в массив строк. Каждый
строка в массиве включает название другого города. Однако разделенные строки включают дополнительные
пространства. Метод Trim() удаляет начальные и конечные пробелы из каждой строки.

Параметры

-AsSecureString

-MaskInput

-Prompt

Входы

Нет

возражает против этого командлета.

Выходные данные

Строка

По умолчанию этот командлет возвращает строку.

SecureString

При использовании параметра AsSecureString этот командлет возвращает SecureString .

Примечания

Этот командлет читает только из потока stdin хост-процесса. Обычно поток stdin
подключен к клавиатуре хост-консоли.

  • Чистый хост
  • Get-Host
  • Хост записи
  • ConvertFrom-SecureString

Обратная связь

Просмотреть все отзывы о странице

Тип ресурса: хост

ПРИМЕЧАНИЕ. Эта страница была создана на основе исходного кода Puppet 28 августа 2018 г. 06:48:02 -0700
хозяин
—–

  • Атрибуты
  • Провайдеры

Описание

IP-адрес хоста, IPv4 или IPv6.

Устанавливает записи узлов и управляет ими. Для большинства систем эти
записи будут просто в /etc/hosts , но некоторые системы (особенно OS X)
будут иметь разные решения.

Атрибуты

 хост { 'название ресурса':
  name =>  #  (namevar)  Хост... 
  обеспечить =>  # Основное свойство, которым должен быть ресурс... 
  comment =>  # Комментарий, который будет прикреплен к строке с 
  host_aliases =>  # Любые псевдонимы, которые могут быть у хоста. Несколько... 
  ip =>  # IP-адрес хоста, IPv4 или... 
  provider =>  # Конкретный бэкэнд, который будет использоваться для этого хоста... 
  target =>  # Файл, в котором будет храниться служебная информация.  
  # ...плюс любые применимые метапараметры.
} 
имя

( Namevar: Если опущено, значение этого атрибута по умолчанию равно названию ресурса.)

Имя хоста.

(↑ Назад к атрибутам хоста)

обеспечить

( Свойство: Этот атрибут представляет конкретное состояние целевой системы.)

Основное свойство, в котором должен находиться ресурс.

По умолчанию: присутствует

Допустимые значения:

  • присутствует
  • отсутствует

(↑ Назад к атрибутам хоста)

( Свойство: Этот атрибут представляет конкретное состояние целевой системы.)

Комментарий, который будет прикреплен к строке с помощью символа #.

(↑ Назад к атрибутам хоста)

host_aliases

( Свойство: Этот атрибут представляет конкретное состояние целевой системы. )

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

(↑ Назад к атрибутам хоста)

ип

( Свойство: Этот атрибут представляет конкретное состояние целевой системы.)

IP-адрес хоста, IPv4 или IPv6.

(↑ Назад к атрибутам хоста)

провайдер

Конкретный бэкэнд для использования на этом хосте
ресурс. Вам редко нужно указывать это — Puppet обычно
найдите подходящего провайдера для вашей платформы.

Доступные провайдеры:

  • проанализировано

(↑ Назад к атрибутам хоста)

цель

( Свойство: Этот атрибут представляет конкретное состояние целевой системы.)

Файл для хранения служебной информации. Используется только
те провайдеры, которые пишут на диск. В большинстве систем по умолчанию это /etc/hosts .

Читайте также: