我递归chmod 777
运行/var/
,无法再通过 SSH 连接。我读到这chmod 600
可以解决这个问题。我这样做之后能够连接,但这不是一个好主意。
有什么方法可以找到文件夹的默认模式/var/
或如何修复此问题?
在 Debian-Squeeze 上运行。
答案1
对于使用缺乏权限概念的操作系统的人来说,这是一个非常常见的错误。许多
sudo chmod -R 777 /
等问题的发布也许是出于好意,但这或多或少也是一个用户错误,让我建议对 *nix 系统“重新安装”。
如果你只是chmod -R 755
,那么你将除其他事项外给予阅读和执行任何人对每个文件的权限。如果只是删除每个文件的执行权限(目录需要可浏览),那么将删除一些文件的执行位,这些文件应该可执行等等。
在这种情况下,它可能不像那么严重-R /
,但在例如,/var/log
有许多文件不是应该对任何人都有读取权限。摘录如下:
-rw-r--r-- alternatives.log
drwxr-x--- apache2
drwxr-xr-x apt
-rw-r--r-- aptitude
-rw-r----- auth.log
-rw-r----- boot
-rw-rw---- btmp
drwxr-xr-x ConsoleKit
drwxr-xr-x cups
-rw-r----- daemon.log
drwxr-xr-x dbconfig-common
-rw-r----- debug
-rw-r----- dmesg
-rw-r--r-- dpkg.log
-rw-r--r-- duplicity-backup.0
drwxr-s--- exim4
-rw-r----- fail2ban.log
-rw-r--r-- faillog
-rw-r--r-- fontconfig.log
drwxr-xr-x fsck
drwxr-xr-x hp
drwxr-xr-x installer
-rw-r----- kern.log
-rw-rw-r-- lastlog
-rw-r--r-- lpr.log
-rw-r--r-- mail.err
-rw-r--r-- mail.info
-rw-r--r-- mail.log
-rw-r--r-- mail.warn
-rw-r----- messages
drwxr-x--- mrtg
drwxr-s--- mysql
-rw-r----- mysql.err
-rw-r----- mysql.log
drwxr-sr-x news
-rw-r--r-- popularity-contest
-rw-r--r-- pycentral.log
-rw-r--r-- rssdler.log
drwxr-xr-x samba
-rw-r----- shorewall-init.log
-rw-r----- syslog
drwxr-xr-x unattended-upgrades
-rw-r----- user.log
-rw-rw-r-- wtmp
-rw-r--r-- Xorg.0.log
恢复起来并不容易。而且那只是一个目录。
总而言之:即使您确实让 SSH 再次工作,您也丢失了一些无法轻易修复的权限信息。如果它涉及一个严格的个人服务器,后果可能不是那么严重,但出于某种原因,权限设置得尽可能严格。例如,在我上面提到的日志文件中,可能存储了敏感信息,现在,利用普通用户权限的漏洞,足以发现这一点,并获取更多信息,进行 root 权限攻击。
我昨天在本地论坛上看到有人给出“做chmod -R 777
!!!”的建议。不要相信互联网!:-)