主目录文件权限搞砸了,我如何“重新开始”?

Ard*_*tes 0 permissions rsync

我使用 rsync 备份了我的整个主目录,并将备份移动到新安装的 Linux。不知何故,我的文件权限完全搞砸了(所有文件都归用户“999”所有,文件权限设置为777)。

我跑了快sudo chown -R username:username ~/固定我与我的声音有一些问题,但现在我所有的纯文本文件(甚至是电影和音乐)被标记为可执行文件,其他用户可以查看我的文件等。

如何将我的文件权限恢复到“正常”状态?从备份恢复是不可能的,因为备份也搞砸了权限。我总是可以重新安装我的操作系统并从备份中清除配置文件,只留下个人文档,然后我可以递归地为其设置权限,但是我应该将权限设置为什么?一个sudo chmod -R 660 ~/Music如让我不能听我的音乐,即使我的主人。

Tig*_*ger 6

以下内容可能有助于快速清理文件和文件夹权限,但不会修复具有不同设置的任何内容。

sudo chown -R <login>:<login> /home/<login>
find /home/<login> -type f -print0 | xargs -0 chmod 664
find /home/<login> -type d -print0 | xargs -0 chmod 775
Run Code Online (Sandbox Code Playgroud)

<login>当然是您的登录名。如果您愿意,请更改为660770

有一些特殊情况需要更严格的权限。无论如何,此列表并不完整,但可以帮助您快速恢复。

更正邮件和 ssh:

find /home/<login>/Mail -type d -print0 | xargs -0 chmod 700
find /home/<login>/.ssh -type d -print0 | xargs -0 chmod 700
find /home/<login>/Mail -type f -print0 | xargs -0 chmod 600
find /home/<login>/.ssh -type f -print0 | xargs -0 chmod 600
Run Code Online (Sandbox Code Playgroud)

注意:其中的某些文件~/Mail可能需要640644. 这将取决于您的邮件客户端。

需要与上述相同权限的其他一些常见文件是:

.gnome, .gnome2_private, .bash_history, .lesshst, .viminfo
Run Code Online (Sandbox Code Playgroud)

编辑:包括.sshUlrich Schwarz 评论中的信息,并扩展为包括一些更常见的目录和权限。还包括chown -R已由 OP 运行的命令以确保完整性。

编辑 2:正如 saurabheights 在评论中指出的那样,您可能需要运行find /home/<login> -type d -print0 | xargs -0 chmod 775多次,直到所有子目录都可以访问。