
我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 再次工作,您也會遇到一些不可修復的權限資訊遺失。如果它涉及嚴格的個人伺服器,後果可能不會那麼可怕,但出於某種原因,權限設定得盡可能嚴格。例如,在我上面提到的日誌檔案中,可能會儲存敏感信息,現在,只要賦予常規用戶權限,就足以讓攻擊者發現這一點並獲得更多有關根權限攻擊的信息。
我上次看到有人發出“Do chmod -R 777
!!!”昨天在當地論壇上提示。不要相信網路! :-)