加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

006_设置执行命令提示和unset shell function

发布时间:2020-12-15 23:02:27 所属栏目:安全 来源:网络整理
导读:一、unset不能unset只读变量 问题: [[email?protected] ~]# source ~/.bash_profilebash: PROMPT_COMMAND: readonly variable[[email?protected] ~]# tail ~/.bash_profilePATH=$PATH:$HOME/binexport PATHhhhh=`pwd`[[email?protected] ~]# echo $hhhh #从

一、unset不能unset只读变量

问题:

[[email?protected] ~]# source ~/.bash_profile
bash: PROMPT_COMMAND: readonly variable
[[email?protected] ~]# tail ~/.bash_profile
PATH=$PATH:$HOME/bin
export PATH
hhhh=`pwd`
[[email?protected] ~]# echo $hhhh      #从这个输出看是不影响source命令执行的,但是不知道在哪设置的PROMPT_COMMAND为只读变量,declare -r 变量是可以设置为只读变量,declare -x可以设置为可以执行的
/root

?

[[email?protected] ~]# unset -f PROMPT_COMMAND
[[email?protected] ~]# source ~/.bash_profile
bash: PROMPT_COMMAND: readonly variable
[[email?protected] ~]# echo $PROMPT_COMMAND
{ msg=$(history 1 | { read x y; echo $y; });logger -p local0.notice "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }
[[email?protected] ~]# unset -fv PROMPT_COMMAND
bash: unset: cannot simultaneously unset a function and a variable

解决方案待查

二、

同事在线上执行了"tcpdump -i eth0 tcp port 80 -XX"命令触发了以下的bug,所以提示大家正确的使用姿势应该为指定绑定网卡的接口执行抓包

tcpdump 命令只有将自定设备设置为混杂模式才能抓包,在 bond 模式下不能单独设置其中一块 slave 网卡为混杂模式,否则会引起 bond 故障。这个和内核参数没有任何关系。tcpdump -i eth0 敲完回车 bond0 一定故障。

notice:

不是所有bond0设备都会出问题,我印象中是intel i40系列的网卡会有问题,其他网卡也有概率会出锅。

?

/root/../etc/profile.d/tcpdump.sh

#!/bin/bash
TCPDUMP_WARN="
使用tcpdump会导致网卡进入混杂模式(promiscuous mode),在有bond设备的物理机上使用 -i eth0 或着其它 slave 设备会导致 bond 设备异常,请在执行前确认你指定的设备是否正确。

请先使用 ip a 命令查看本地设备,如果存在 bond0 或其他 bond 设备,请使用 -i bond0 参数指定抓包设备。

当你仔细查看过以上警告后,需要使用 tcpdump 命令,请使用全路径执行 /usr/sbin/tcpdump
"

tcpdump()
{
       echo -ne "33[34;31m$TCPDUMP_WARNn33[34;00m"
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读