将 CentOS 安装的“/var”权限恢复为默认权限

将 CentOS 安装的“/var”权限恢复为默认权限

所以我意外地运行了chmod -R 0777 /var,我需要恢复它(更不用说允许 chmod 正确的 ssh 目录,以便我可以重新登录它)。我感觉很麻烦,有人能帮忙吗?越快越好,谢谢。

答案1

变量

drwxr-xr-x 21 root root 4096 2011 年 4 月 6 日 var

以及我的主机(CentOS 6)上的“*var/**”子文件夹

drwxr-xr-x  6 root root 4096 Apr  2  2011 cache
drwxr-xr-x  2 root root 4096 Sep  3  2009 cvs
drwxr-xr-x  2 root root 4096 Jan 26  2010 db
drwxr-xr-x  3 root root 4096 Mar 15  2011 empty
drwxr-xr-x  3 root root 4096 Mar 15  2011 ftp
drwxr-xr-x  2 root root 4096 Jan 26  2010 games
drwxr-xr-x 21 root root 4096 Apr  6  2011 lib
drwxr-xr-x  2 root root 4096 Jan 26  2010 local
drwxrwxr-x  5 root lock 4096 Apr  5 04:02 lock
drwxr-xr-x  6 root root 4096 Apr  5 04:02 log
lrwxrwxrwx  1 root root   10 Mar 15  2011 mail -> spool/mail
drwxr-xr-x  2 root root 4096 Jan 26  2010 nis
drwxr-xr-x  2 root root 4096 Jan 26  2010 opt
drwxr-xr-x  2 root root 4096 Jan 26  2010 preserve
drwxr-xr-x 14 root root 4096 Feb  2 07:39 run
drwxr-xr-x  7 root root 4096 Mar 15  2011 spool
drwxr-xr-x  4 root root 4096 Apr  9  2011 svn
drwxrwxrwt  4 root root 4096 Jan 31 19:58 tmp
drwxr-xr-x  6 root root 4096 Mar 15  2011 www
drwxr-xr-x  2 root root 4096 Jan 26  2010 yp

答案2

现在,所有文件在所有子目录中都可执行。例如,可以通过和来/var解决,但很难知道哪些文件一开始应该是可执行的。findchmod

在我的系统上,下面几个可执行文件/var

  • 以...结尾的

    • .preinst
    • .prerm
    • .postinst
    • .postrm

    /var/lib/dpkg/info

  • /var/lib/apt-xapian-index/update-lock
  • /var/lib/shorewall/.restore
  • /var/lib/shorewall/.restart
  • /var/lib/shorewall/firewall
  • /var/lib/shorewall/.start
  • /var/lib/dkms/nvidia/295.33/build/conftest.sh

如果必须恢复可执行位之后sudo chmod 777 -R /var,我可以这样运行

sudo find /var -type f -exec chmod -x {} +

然后手动设置chmod +x上面列出的文件,你还会遇到恢复之前完全禁止的文件和目录权限的问题任何人(但需要 root 权限)才能阅读,其中涉及更多文件。

持久的问题是安全问题,但主要是如果有人能够以普通用户身份登录计算机。如果是威胁级别较低的单用户系统,您可能可以继续使用,并将其视为一个教训。如果是其他问题,重新安装将是修复所有问题的最简单方法。

权限是 *nix 上文件处理的核心。彻底清除基本目录树上的所有权限是一项极具破坏性的操作;因此恢复起来也相当困难。

相关内容