PowerDNS, не разрешая главный компьютер

Если оболочка входа в систему удаленного пользователя (user2 на server2) bash, остерегайтесь этого bash чтения и интерпретируют ~/.bashrc (и возможно /etc/bash.bashrc или эквивалент в удаленной системе) при вызывании ssh, даже когда не интерактивный (как в том, когда это просто интерпретирует это /bin/cat > user2@server2:/......./test.sql.gz то, что Вы даете его).

Удостоверьтесь это вещи в ~/.bashrc не делайте вещей как stty или mesg ( mesg от sysvinit-utils столь найденный во многих дистрибутивах Linux, как известно, производит это точно то же сообщение, как Вы видите путем выполнения : | mesg n), или только сделайте это проверив, что stdin является терминалом [ -t 0 ] и что оболочка является интерактивной (case $- in (*i*) ...;; esac).

Если оболочка входа в систему удаленного пользователя csh или tcsh, посмотрите на .cshrc и .tcshrc и для zsh в ~/.zshenv которые интерпретируются каждой оболочкой включая неинтерактивные независимо от того, вызваны ли они ssh или не (но как таковой, они не будут обычно делать вещей с tty безусловно).

Обратите внимание, что это не заставит Вашу команду перестать работать, просто что побочное сообщение, которое будет отображено.

Что заставило бы команду перестать работать, хотя:

 /bin/cat > user2@server2:/......./test.sql.gz

Когда не имеет большого смысла, если нет названный каталог user2@server2: в корневом каталоге user2 на server2.

Это, вероятно, что вызывает ошибку:

 : No such file or directory

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

То, что Вы хотите, /bin/cat > /path/to/output/file/on/server2/test.sql.gz, и /path/to/output/file/on/server2 каталог должен существовать заранее.

Можно также хотеть удалить -v и ~/.bashrc временно как в данный момент, мы видим сообщения от ssh, от команд, выполненных в Вашем ~/.bashrc, возможно удаленной оболочкой, когда это интерпретирует это cat ... командная строка, cat и mysqldump команда, которая мешает видеть то, что что.

3
07.12.2014, 21:28
1 ответ

musicbox является псевдонимом к ns:

musicbox                IN      CNAME   ns

Однако для ns нет записи A, поэтому musicbox не разрешается. Все остальные имена хостов имеют запись А, поэтому они разрешаются просто отлично.

Вы можете добавить запись А для ns....

ns          IN    A    [ns' IP]

... или запись A для музыкальной шкатулки напрямую:

musicbox    IN    A    [musicbox's IP]

Из того, что я могу сказать из вашего файла, я предполагаю, что ваш ns хост - это 192.168.1.22 (именуемый как @, локальный, в вашем файле зоны). Хотя вы определяете IP-адрес вашего хоста, между вашим хостом (@, локальный) и ns нет никакой связи. Я бы порекомендовал внести следующие изменения:

$ORIGIN local
$TTL 1h
@                       IN      SOA ns.local. hostmaster.local. (
                                1; serial
                                1d; refresh
                                2h; retry
                                4w; expire
                                1h; minimum time-to-live
                        )

                        IN      NS      ns

                        IN      A       192.168.1.22
ns                      IN      A       192.168.1.22

haddock                 IN      A       192.168.1.29
tintin                  IN      A       192.168.1.68
snowy                   IN      A       192.168.1.99
castafiore              IN      A       192.168.1.73
musicbox                IN      CNAME   ns

Этот файл сделает следующие ассоциации:

  • локальными. находится по адресу 192.168.1.22.
  • ns.local. находится по адресу 192.168.1.22.
  • хэддок.местный. по адресу 192.168.1.29.
  • tintin.local. находится в 192.168.1.68
  • снежный.местный. в 192.168.1.99.
  • кастафиоре.местный. находится в 192.168.1.73.
  • musicbox.local. находится в 192.168.1.22 (псевдоним ns.local. ).

(не забудьте о завершении . s всякий раз, когда вы используете полные домены, такие как ns.local. )

0
27.01.2020, 21:42

Теги

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