Linux - 导入“.”或根路径中的“::”

Linux - 导入“.”或根路径中的“::”

我正在研究 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只是一个以冒号分隔的路径列表。如果条目为.空,则它指的是当前目录。此外,前导和尾随空条目也计数(它们是由前导或尾随冒号创建的)。

因此,如果PATHis /bin:/usr/bin,它包含两个条目/bin/usr/bin,因此不引用当前目录。

另一方面/bin::/usr/bin:.:/usr/local/bin:包含六个条目:/bin,空的/usr/bin./usr/local/bin空的。条目.和空条目指的是当前路径,这些是您不想要的。

PATH通过在冒号上拆分字符串并检查结果字符串,解析可能是最简单的。如何做到这一点完全取决于您的编程语言。

相关内容