找回密码
 注册
关于网站域名变更的通知
查看: 190|回复: 1
打印 上一主题 下一主题

来聊聊关于Linux的路径设置吧!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-19 13:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
这次聊聊路径的使用,这里的路径是「命令搜索路径」的简称。
在Linux上执行命令的时候,本来是需要命令的所在位置的绝对路径的,就像「/usr/bin/passwd」这样。
但是,对于经常使用的命令,如果每次都要输入绝对路径的话就非常麻烦了。
! V9 C" B$ v2 h/ W. j4 T
在Linux的Shell中,执行某个命令时,用户不用输入命令的完整路径,直接输入命令后,系统会在特定的目录中查找这个命令,找到后执行。
这时,设置Shell在哪些目录中搜索命令的步骤就被称为「路径设置」,正确的应该是「命令搜索路径的设置」

3 M  `, N. \4 P
为了设置路径,需要修改环境变量「PATH」,每个希望搜索的目录之间用「:」区分开。
设置方法就是用 [[16. 「环境变量」]] 介绍的「export」命令,比如,想把「/usr/sample」这个路径加入到命令搜索路径中去的话,
$ export PATH=$PATH:/usr/sample
' h, g2 j+ C  A2 C3 r; o+ z0 V- R9 t4 z0 {6 ?
在Linux中,当前目录并不在命令搜索路径中,因此,比如想执行当前目录下的「hogehoge.cmd」命令,必须要通过「./hogehoge.cmd」来执行。
虽然有些麻烦,但是把当前目录加入到命令搜索路径中的话,会带来一些安全问题,所以不建议把当前目录加入到「PATH」中。
  E. u8 F6 ^7 i+ L9 N2 J, p% A
首先,安全的大原则就是「不要把多余的目录加到命令搜索目录中」。而且,过多的目录加到命令搜索目录中的话,那么如果有2个目录中都有「ps」这个文件,用户输入「ps」的时候,究竟哪个「ps」会被执行呢?
这就会导致混乱。(实际上,会按PATH中定义的目录的顺序来搜索命令的,这2个目录谁在前面,就执行哪个目录中的「ps」。虽然如此,这种情况还是会给用户带来困扰)
$ B6 D; G. B( W; g" P2 F( W
刚刚说的如果把当前目录加入到 PATH 中会导致什么后果呢?
极端的情况下,几乎所有的目录都有可能变成当前目录(因为用户有可能进入任何一个目录)。这就导致几乎所有的目录都有可能称为命令搜索路径。
这样的情况下,不仅仅会带来混乱,如果某个目录下被放置了恶意程序,由于这个目录有可能在命令搜索路径中(当用户进入这个目录时),所以用户无意中执行这个恶意程序的机会会很高。
通常,一般用户能够进出哪些目录是被限制的,系统会保证这些目录不在 PATH 中,一旦用户可以进出的这些目录被加入到 PATH 中,那么恶意程序执行时所带来的风险也会大大增加。

  C' m) s  C# K) N
命令搜索路径不能为了使用方便而任意指定,首先要确保目录的安全性,然后再考虑是否追加到命令搜索路径中。
$ [; y8 c0 ?* E1 q

该用户从未签到

2#
发表于 2020-8-19 14:56 | 只看该作者
Linux的路径设置
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-27 13:04 , Processed in 0.062500 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表