Осуществляется ли смена порта службы с одного на другой с помощью оболочек?

expectможет регистрировать транзакцию сеанса и может оставаться без присмотра после некоторого начального взаимодействия. Это позволит вам запустить команду, взаимодействовать с ней, а затем набрать ~., чтобы передать все на expect, пока программа не завершит работу. Между тем, out.1535209800или что-то еще можно проверить.

#!/usr/bin/env expect
log_file out.[clock seconds]
spawn -noecho sh  ;# here be the command to run
interact {
  ~. { return }   ;# type this when done interacting
  ~~ { send "~" } ;# or this to get a literal ~ in the shell
}
if {[catch {
  expect {
    eof { exit }
    match_max { exp_continue }
    timeout { exp_continue }
  }
} oops ]} { puts stderr $oops; exit 1 }
0
27.06.2021, 12:20
2 ответа

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

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

  1. Значение по умолчанию, как (обычно )определяется в документации службы.
  2. Где-то есть специальный файл конфигурации.
  3. Параметр или аргумент командной строки (, который может переопределить любой из вышеперечисленных ).
  4. Некоторые другие средства, такие как веб-интерфейс для его настройки и работы.
0
28.07.2021, 11:21

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

В случае sshэто будет /etc/ssh/sshd_config.

Тем не менее, ничто не мешает вам написать собственный скрипт для внесения таких изменений. sedи awkпредлагают простые средства управления текстовыми файлами из скрипта.

0
28.07.2021, 11:21

Теги

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