Я случайно набрал sudo chmod -R 777 в /var вместо /var/www
я случайно набралsudo chmod -R 777к/varвместо/var/wwwпоэтому теперь я не могу открыть некоторые приложения, такие как Skype или Ubuntu Software. Есть ли способ исправить это?
4 ответа
если бы ты сделалchmod -r /varничего не изменилось.
-
-rне годный вариант -
/var/является корневым каталогом, поэтому будет отображаться «отказано в доступе».
Содержимое /var/ должно быть:
drwxr-xr-x 2 root root 4096 dec 11 00:00 backups
drwxr-xr-x 20 root root 4096 okt 23 03:04 cache
drwxrwsrwt 2 root whoopsie 4096 dec 15 18:19 crash
drwxr-xr-x 73 root root 4096 okt 22 09:13 lib
drwxrwsr-x 2 root staff 4096 mrt 23 2022 local
lrwxrwxrwx 1 root root 9 apr 3 2022 lock -> /run/lock
drwxrwxr-x 15 root syslog 4096 dec 15 18:19 log
drwxrwsr-x 2 root mail 4096 mrt 30 2022 mail
drwxrwsrwt 2 root whoopsie 4096 mrt 30 2022 metrics
drwxr-xr-x 3 root root 4096 dec 7 17:18 opt
lrwxrwxrwx 1 root root 4 apr 3 2022 run -> /run
drwxr-xr-x 13 root root 4096 apr 18 2022 snap
drwxr-xr-x 7 root root 4096 mrt 30 2022 spool
drwxrwxrwt 12 root root 4096 dec 15 18:42 tmp
Сравните свой с этим и внесите соответствующие коррективы.
drwxr-xr-x = chmod 755
lrwxrwxrwx = chmod 777
drwxrwsrwt = chmod 2777 and then chmod o+t (with (s) setuid/setgid permissions (t) and sticky bit)
drwxrwxrwt = chmod 777 and then chmod o+t ((t) and sticky bit)
- все нужно
sudo.
Если/var/wwwсодержит веб-сайт, которым вы владеете, вы можете сделать это:
cd /var/www/
find . -type d -exec chmod 0755 {} \;
find . -type f -exec chmod 0644 {} \;
Это, как правило, устраняет 99% проблем с разрешениями для веб-сайтов. Возможно, вам придется настроить пару файлов вручную.
Что касается команды: chmod 777 почти никогда не является правильным решением. Он используется только для символических ссылок и специальных каталогов (например, /tmp, у которого есть липкий бит).
С точки зрения безопасности строгий режим будет для каталогов 750 (только пользователь может выполнять, другие не могут ничего делать) и 640 для файлов, которые не требуют выполнения. Таким образом, когда вы настраиваете веб-сервер и получаете ошибки, вы знаете, что у вас есть проблема с конфигурацией, которая, вероятно, связана с неправильной настройкой пользователя/группы.
Если вы действительно бежалиchmod -r 777 /varты должен быть в порядке, потому что-rнедопустимый вариант, и он не рекурсивно обновил бы какие-либо разрешения.
Вы наносили рекурсивный урон, только если бежалиchmod -R 777 ...и особенно если он запущен от имени пользователя root или с помощью sudo.
папки должны быть 755 кроме tmp, crash, metrics и симлинков (обычно 777)