2014-09-25 20:44:44 yangchunhe09 阅读数 86
linux bash报重大漏洞,存在漏洞的版本包括如下。

bash-4.2.45-5.el7_0.2
bash-4.1.2-15.el6_5.1
bash-4.1.2-15.el6_5.1.sjis.1
bash-4.1.2-9.el6_2.1
bash-4.1.2-15.el6_4.1
bash-3.2-33.el5.1Linux
bash-3.2-33.el5_11.1.sjis.1
bash-3.2-24.el5_6.1
bash-3.2-32.el5_9.2
bash-3.0-27.el4.2


查看命令如下:
env x='() { :;}; echo vulnerable'  bash -c "echo this is a test"



如果输出:

vulnerable
this is a test


则系统存在风险


修复方式:
yum -y update bash



修复后输出如下:

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test
2017-07-22 12:04:46 Linux_Daemon 阅读数 3713

今天突然发现root登录的CRT的终端提示符显示的是-bash-4.1# 而不是root@主机名 + 路径的显示方式。搞了半天也不知道为什么出现这种情况。网上查了之后发现原来是root在/root下面的几个配置文件丢失,丢失文件如下:

**1、.bash_profile **
2、.bashrc

以上这些文件是每个用户都必备的文件。
使用以下命令从主默认文件重新拷贝一份配置信息到/root目录下
cp /etc/skel/.bashrc /root/
cp /etc/skel/.bash_profile /root/
注销root,重新登录就可以恢复正常。

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.

英文描述为:

# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases Go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

所以如果你有对**/etc/profile**有修改的话必须得重启你的修改才会生效,此修改对每个用户都生效。
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

英文描述为:

#/etc/bashrc
# System wide functions and aliases
# Environment stuff goes in /etc/profile
# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

如果你想对所有的使用bash的用户修改某个配置并在以后打开的bash都生效的话可以修改这个文件,修改这个文件不用重启,重新打开一个bash即可生效。
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.

此文件类似于**/etc/profile**,也是需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。

~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.(每个用户都有一个**.bashrc**文件,在用户目录下)

此文件类似于**/etc/bashrc**,不需要重启生效,重新打开一个bash即可生效, /etc/bashrc对所有用户新打开的bash都生效,但**~/.bashrc只对当前用户新打开的bash**生效。

~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.

另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而**~/.bashrc等中设定的变量(局部)只能继承/etc/profile**中的变量,他们是"父子"关系.

~/.bash_profile 是交互式、login 方式进入bash 运行的;
~/.bashrc 是交互式 non-login 方式进入bash 运行的;
通常二者设置大致相同,所以通常前者会调用后者。

2019-11-20 08:59:01 qq_41556318 阅读数 77

问题描述

登录用户之后,Linux命令提示符显示 bash-4.1#

问题原因

出现这个问题的原因是由于某些误操作导致用户家目录下的 .bash_profile 和 .bashrc 这两个文件被删除 。

问题解决

将/etc/skel 文件中的 .bash_profile 和.bashrc 这两个文件拷贝到当前用户主目录下重启即可。注意,首先需要切换到出问题的用户下,切换的指令是: su - 用户名。

上述命令的cp指令也可以使用通配,一起复制两个文件:cp  /etc/skel/.bash*  ~  

执行完成后,重启即可。

 

2019-04-15 15:07:40 ma_mxr 阅读数 412

1.为什么会出现这种现象

通常出现-bash-4.2#是因为root/.bashrc 和 root/.bash_profile两个文件的丢失

2.解决

-bash-4.2# cp /etc/skel/.bashrc /root/
-bash-4.2# cp /etc/skel/.bash_profile /root/
将linux中备份的.bashrc 和.bash_profile两个文件cp到root下。退出当前shell重新登录即可解决问题

加油!方法总比问题多!!!

2019-10-10 15:52:24 zwp15133551208 阅读数 11

1.4 BASH中的默认组合键、通配符与特殊符号

1.4.1 默认组合键

组合按键 执行结果
Ctrl+C 终止目前的命令
Ctrl+D 输入结束(EOF)
Ctrl+M 等于Enter
Ctrl+S 暂停屏幕输出
Ctrl+Q 恢复屏幕输出
Ctrl+U 在提示字符下,将整列命令删除
Ctrl+Z 暂停目前的命令

1.4.2 通配符(wildcard)

符号 意义
* 代表“0到无穷多个”任意字符
代表“一定存在”任意字符(EOF)
[ ] 代表“一定存在一个在括号内”的字符(非任意)
[-] 括号内有减号,表示“在编码顺序内的所有字符”,例[0-9]
[^] 若括号内的第一个字符为^,则表示“反向选择”.例[^123]表示一定有一个字符,是非a,b,c

1.4.3 特殊符号

符号 内容
# 注释符号
\ 跳脱符号,将“特殊字符或通配符”还原成一般字符
| 管线(pipe),分隔两个管线命令的界定
; 连续指令下达分隔符
~ 用户的家目录
$ 取用变数前导符,即变量之前要加的变量取代值
& 工作控制,将指令变成背景下工作
! 逻辑运算符 非
/ 目录符号,路径分隔符
>,>> 数据流重导向,输出导向,分别是取代与累加
<,<< 数据流重导向,输入导向
' ' 单引号,不具有变量置换的功能
" " 双引号,具有变量置换的功能
( ) 在中间则为子shell的起始与结束
{ } 命令区块组合

本节内容就这些了, 欢迎关注我的微信公众号与我联系。
在这里插入图片描述

没有更多推荐了,返回首页