我不小心执行了:
sudo chmod -R 777 /home/
有没有什么办法可以恢复呢?
答案1
通常可以。您可以改回755
(目录)和644
(文件)的默认权限。
但是您需要为某些文件设置权限,例如 或 中.ssh
的.gnupg
文件.local/bin
。
# Set all files to 664, and all directories to 755
sudo find /home -type f -exec chmod 644 {} +
sudo find /home -type d -exec chmod 755 {} +
# Optional, set individual /home/ directories to private
# as it is default for Ubuntu > 21.04
sudo chmod 750 /home/*/
# Restrict .ssh directory
if [ -d ~/.ssh ]; then
chmod 700 ~/.ssh
find ~/.ssh -type f -exec chmod 600 {} +
fi
# Restrict .gnupg directory
if [ -d ~/.gnupg ]; then
chmod 700 ~/.gnupg
find ~/.gnupg -type f -exec chmod 600 {} +
fi
# Restrict access to .Xauthority
[ -f ~/.Xauthority ] && chmod 600 ~/.Xauthority
# Give +x for all files in $PATH
echo "$PATH" | tr : '\0' | grep -z '^/home' | xargs -r -0 -I{} chmod +x {}/*
- 如果您有多个用户,则可以使用
sudo
和/home/*/
而不是 来更改权限~/
。 - 请注意,如果您手动更改了某些文件的权限,则需要再次设置。
- 这可能不完整。