bash – 替换重要的符号链接’安全’
发布时间:2020-12-15 19:15:16 所属栏目:安全 来源:网络整理
导读:我想从bash脚本中更改符号链接的目标。问题是,符号链接是非常重要的(这是/ bin / sh,即),我将以以下方式做到: 新的目标将在删除旧的后立即可用,即不会有事情会注意到它消失, 在中间不会有变更失败,即删除符号链接的用户,也不会有新的。 我想到了两种
我想从bash脚本中更改符号链接的目标。问题是,符号链接是非常重要的(这是/ bin / sh,即),我将以以下方式做到:
>新的目标将在删除旧的后立即可用,即不会有事情会注意到它消失, 我想到了两种方法。使用普通的ln: ln -fs /bin/bash /bin/sh 或使用mv: ln -s /bin/bash /bin/sh.new mv /bin/sh.new /bin/sh 哪一个更适合我的需要?是否有可能其中一个会尝试替换符号链接目标而不是符号链接本身?
重命名(mv)是一个原子操作;创建新的符号链接不是(删除旧的符号链接;创建新的符号链接)。所以你应该使用mv:
$ ln -s new current_tmp && mv -Tf current_tmp current 这是一个blog post讨论这个。另外,如果你担心会发生什么,为什么不先尝试一个非关键的符号链接呢? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |