Вернитесь к оболочке входа в систему по умолчанию после запуска / Bin / Bash

Это обратный прокси-сервер, и директива, которой вы являетесь ищу proxy_pass . Экземпляр хоста nginx будет иметь несколько контейнеров server , например:

server {
  listen 80;
  server_name d1.example.com;
  location / {
    proxy_pass       http://10.0.3.100;
    proxy_set_header Host              $host;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Accept-Encoding   "";
  }
}

См. Документацию по модулю прокси и документацию WebSocket (если применимый).

1
11.07.2018, 20:47
1 ответ

Проблема:После выполнения exec bashпсевдонимы, представленные в приглашении входа по умолчанию, теряются, что приводит к тому, что некоторые команды не работают должным образом, например, tcpdump в следующем примере

-bash-4.2$ tcpdump -i port1 -w /home/user/$HOSTNAME-port1.pcap -c10000 -G300
tcpdump: WARNING: port1: no IPv4 address assigned
tcpdump: listening on port1, link-type EN10MB (Ethernet), capture size 65535 bytes
0 packets captured
0 packets received by filter
0 packets dropped by kernel
-bash-4.2$ exec bash
bash-4.2$ tcpdump -i port1 -w /home/user/$HOSTNAME-port1.pcap -c10000 -G300
tcpdump: port1: You don't have permission to capture on that device
(socket: Operation not permitted)

Исправление:Вы можете сделать то же, что и я, и выяснить, как меняются псевдонимы между различными подсказками

-bash-4.2$ type tcpdump
tcpdump is aliased to 'sudo /usr/sbin/tcpdump'
-bash-4.2$ exec bash
bash-4.2$ type tcpdump
tcpdump is /usr/sbin/tcpdump

, а затем измените сценарий, чтобы использовать эти sudo tcpdumpвместо простого tcpdump.

Или, в качестве альтернативы, вы можете восстановить все псевдонимы, присутствующие в исходной подсказке, запустив exec -a -bash bash(, что явно не рекомендуется, см. @ctrl -alt -комментарий Делора)

1
27.01.2020, 23:43

Теги

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