我正在考虑执行“chmod 700 -R ~”。这会很危险吗?会发生什么我意想不到的事情?另外,有没有办法让 $HOME 上的所有文件都保持 -rwx------ 的权限?
答案1
我能想到的主要问题是该命令将设置 eX对所有文件(包括那些不可执行的文件)启用 ecute 位。因此,如果您有一个名为 的文件foo
,有一天您想执行cat foo
或 ,print foo
而您不小心输入了foo
,shell 将尝试执行foo
;即,将其解释为 shell 脚本。这可能只是无害地爆炸,但如果foo
包含任何看起来像 shell 命令的内容,您可能会得到有害的结果。
一个较小的问题是,如果你有一个想要保留的文件,而去年你做了一个chmod 444
保护它免受你自己的攻击,那么chmod 700
将恢复你的 瓦有点,并且使您更容易意外破坏文件。
这两个问题的解决方案是执行chmod go= -R ~
或chmod go-rwx -R ~
,这将关闭组和其他人的所有位,但保留您的访问权限。
答案2
现在有点旧了,但你可以chmod 700
对文件夹和chmod 600
文件这样做,它可以解决在所有常规文件上添加执行位的问题(你需要在文件夹上执行ls
)。
find ~ -type d -print0 | xargs -0 chmod 700
find ~ -type f -print0 | xargs -0 chmod 600