/var 文件夹的默认组权限

/var 文件夹的默认组权限

我意外地运行了sudo chmod -R g+rw /var而不是sudo chmod -R g+rw /var/www。这意味着对于每个文件,组所有者现在具有明确的读写访问权限。

我已经看到了一个例子尝试修复chown -R www-data:www-data /var但这是一个稍微严重一点的问题,实际上并不适用于此。此外,给出的帮助并没有真正帮助我将组权限设置恢复为/var

有没有简单的方法可以将组权限恢复为默认值?您建议我现在做什么?如果可能的话,我真的想避免重新安装。

// 编辑:我重新安装了 Ubuntu。感谢您的帮助。

答案1

/var被各种进程用来写入锁文件、缓存、pid 文件、日志文件等。某些文件/子目录需要一种权限/所有权,有些则需要不同的权限/所有权。

我不敢告诉你你不能只用一个命令来解决你的问题/var(除非您拥有保留所有权限和所有权的备份)。

为了帮助您理解这一挑战,以下是我的打印件/var

drwxr-xr-x  2 root   root      4096 mar 15 21:36 backups
drwxr-xr-x 29 root   root      4096 mar  4 10:53 cache
drwxrwsrwt  2 root   whoopsie  4096 fév  6 20:21 crash
drwxr-xr-x  2 root   root     12288 oct 27 10:48 games
drwxr-xr-x 98 root   root      4096 mar  4 11:40 lib
drwxrwsr-x  2 root   staff     4096 oct 20  2009 local
lrwxrwxrwx  1 root   root         9 mai 31  2012 lock -> /run/lock
drwxr-xr-x 27 root   root     12288 mar 20 07:44 log
drwxrwsrwt  2 root   mail      4096 jan 29  2013 mail
drwxrwsrwt  2 root   whoopsie  4096 mai 12  2013 metrics
drwxr-xr-x  3 root   root      4096 oct 11  2011 opt
lrwxrwxrwx  1 root   root         4 oct 26 22:52 run -> /run
drwxr-xr-x 11 root   root      4096 mai 12  2013 spool
drwxrwxrwt  5 root   root      4096 mar 20 07:52 tmp
drwx------  3 root   bin       4096 mar  9 12:13 webmin
drwxr-xr-x  6 benoit root      4096 oct 31 21:22 www

您会注意到其中一些目录需要setuid(权限中的 s 标志 - sudo chmod g+s /var/metrics)。 tmp将带有粘滞位(sudo chmod 1777 /var/tmp

你仍然需要进入每个目录

顺便说一句,将整个目录的所有权设置/var为组具有读写权限不是一个好主意。这意味着,如果 Web 服务器配置不当,黑客就有可能读写整个/var目录。请记住,/var/lib如果您使用它,您将在下面找到 MySQL、Postgres 等的数据文件。

如果您想在不重新安装系统的情况下修复权限和所有权,您必须在其他地方第二次安装 Ubuntu/var并检查(ls -lR /var)的具体权限和所有权

相关内容