/bin/bash를 실행한 후 기본 로그인 셸로 돌아갑니다.

/bin/bash를 실행한 후 기본 로그인 셸로 돌아갑니다.

로그인 시 프롬프트가 /bin/bash 실행 후 프롬프트와 다릅니다.

-bash-4.2$ exec bash
bash-4.2$

-Bash에서 앞쪽에서 뒤쪽을 어떻게 얻을 수 있습니까 ? 일부 명령(예: tcp dump)은 원래 버전에서만 작동합니다.

-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)

@ctrl-alt-delor의 업데이트

-bash-4.2$ groups
nuage
-bash-4.2$ exec bash
bash-4.2$ groups
nuage

@Mikel의 업데이트

bash-4.2$ exec bash -l
bash-4.2$

@Mark Plotnick의 업데이트

-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
[root@host nuage]# cat /etc/sudoers | grep nuage
[root@host nuage]# exit
bash-4.2$ group
bash-4.2$ groups
nuage
bash-4.2$ whoami
nuage

답변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-delor의 설명 참조).

관련 정보