gpt4 book ai didi

linux - bash 中的安全递归删除

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:05 25 4
gpt4 key购买 nike

有没有办法检查用户输入或某些 self 检测机制提供的路径是否可以安全地在 bash 脚本中删除?

例如:

rm -rf $SOMELOCATION

显然我不希望 SOMELOCATION 是//var/etc/home/usr/opt/root 或一些重要目录中的任何一个。

有没有一种方法可以防止 bash 中发生此类事件,而无需迭代上面的所有目录(可能还有更重要的目录)?

有类似 isSystemDirectory 函数返回 true 或 false 的东西吗? :-)

最佳答案

没有;在将 SOMELOCATION 用作 rm 的参数之前,您需要检查它的值。

case $SOMELOCATION of
/|/var|/etc|/home|/usr|/opt|/root) echo "Will not delete $SOMELOCATION" ;;
*) rm -rf "$SOMELOCATION ;;
esac

权限允许 rm 失败,但由于 root 本质上拥有执行任何操作的权限,因此您在以 root 身份运行任何命令时需要采取适当的措施。 (或者至少,有一个最新的备份可以从错误中恢复。)

关于linux - bash 中的安全递归删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40493434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com