确保用户PATH变量被严格定义
在Linux系统中,PATH变量定义了当前用户上下文中可执行文件查找路径。例如,用户在任意目录下使用ls命令,系统会在PATH变量指定的目录下查找该命令,找到后执行。所有用户上下文中的PATH变量不能包含当前目录(即“.”)。PATH指导的目录必须是文件系统中真实存在的路径,并符合系统的设计期望。正确的PATH值,可以有效防止系统命令被恶意的指令替代,从而保障系统命令能够安全执行。
openEuler系统默认的PATH变量为:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin,可根据实际场景对PATH进行修改,但务必确保其正确性。
操作步骤
- 通过echo命令可以查看当前用户上下文中PATH的值,检查其设置是否正确。
- openEuler root用户上下文中PATH值如下:
echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
- openEuler普通用户上下文中PATH值如下(以test用户为例):
echo $PATH
/usr/local/bin:/usr/bin
- openEuler root用户上下文中PATH值如下:
- 如需修改PATH变量值,可通过以下方式操作。
PATH环境变量分为两部分:一部分在“/etc/profile”文件中设置,影响所有用户;一部分在用户目录下.bashrc或.bash_profile文件中设置,仅影响当前用户。可以通过修改这两个文件中PATH相关的配置,即可永久修改系统PATH变量值,例如:
- 方式一:修改配置文件,以“/etc/profile”为例。
- 打开配置文件。
vim /etc/profile
- 按“i”进入编辑模式,修改PATH变量值。
export PATH=$PATH:<attach new path>
- 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 打开配置文件。
- 方式二:临时修改当前会话的PATH值,会话关闭后自动失效。
export PATH=$PATH:<attach new path>
或
export PATH=<the whole of new path>
- 方式一:修改配置文件,以“/etc/profile”为例。
父主题: 文件系统