我正在研究 Miscellaneous Config 并且正在研究 root PATH
。我被告知应该将.
其::
从路径中删除,因为它是一种安全威胁。我有以下PATH
命令输出示例:
/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java7_64/jre/bin:/usr/java7_64/bin:/opt/IBM/xlC/13.1.3/bin
如果这个输出要包含::
或者.
在上面的路径中看起来会是什么样子,那么我可以了解它的结构,因为我不确定。
非常感谢对此的帮助。
答案1
这PATH
只是一个以冒号分隔的路径列表。如果条目为.
空,则它指的是当前目录。此外,前导和尾随空条目也计数(它们是由前导或尾随冒号创建的)。
因此,如果PATH
is /bin:/usr/bin
,它包含两个条目/bin
和/usr/bin
,因此不引用当前目录。
另一方面/bin::/usr/bin:.:/usr/local/bin:
包含六个条目:/bin
,空的,/usr/bin
,.
,/usr/local/bin
和空的。条目.
和空条目指的是当前路径,这些是您不想要的。
PATH
通过在冒号上拆分字符串并检查结果字符串,解析可能是最简单的。如何做到这一点完全取决于您的编程语言。