Рабочий 'chmod 777 *' на корневом каталоге

Я случайно работал chmod 777 * (без -R параметр) на моем корневом каталоге.

Это будет проблема? Затем, как решить его?

4
задан 10 January 2017 в 15:51

1 ответ

Если Вы работали просто chmod 777 * а не зло chmod -R 777 *, Вы действительно не сделали многого плохо к Вашей системе.

В частности, однако каждый файл верхнего уровня и каталог должны будут быть восстановлены их исходным полномочиям. К счастью, это - относительно простая операция. Просто работайте ниже команды:

chmod a=r,u+w,a+X *

Это сделает некоторое необычное волшебство сбросить все полномочия папки назад к 644 для файлов (значение по умолчанию) и 755 для папок (снова, значение по умолчанию). См. этот ответ Переполнения стека для более подробной идеи того, как эта команда работает.

Оттуда, полномочия должны быть сброшены для установки по умолчанию. Вы, возможно, дополнительно должны возвратить некоторые другие полномочия к тому, чем они были прежде, но это должно (самое меньшее) возместить убытки.

В частности, Вы также хотите выполнить эти две команды:

chmod 700 .ssh
chmod 600 .Xauthority

Это предотвратит любые ошибки аутентификации, или касающиеся X11 или SSH из-за несогласованных полномочий. В то время как они не должны иметь значения, лучше быть безопасным, чем извините.


Во всей честности, работая chmod на Вашем корневом каталоге не абсолютная худшая вещь в мире. В то время как это может вызвать проблемы с вещами как SSH и Xauthority, это совсем не "катастрофически", поскольку Вы владеете всеми файлами в своем домашнем dir, и (идеально) только у Вас должен быть доступ к ним.

Учитывая это, совершенно безопасно (но не обязательно лучшая идея) просто быть ленивым здесь и запретить доступа к Вашей всей папке дома пользователям, которые являются или не Вы или не корень. Можно сделать это путем выполнения ниже команды:

chmod 700 ~

Эффективно, это позволит только Вашему пользователю получать доступ к Вашей домашней папке. Другие пользователи (за исключением root - то, которое имеет доступ ко всему так или иначе), не будет иметь никакого пути вообще для доступа к домашней папке, и как таковой, действительно не имеет значения, что все внутри установлено на world-readable/writeable/executable.

Если Вы просто делаете это и прекращаете дело, тем не менее, некоторые системы (снова) как Xauthority и SSH могут жаловаться, поэтому принять во внимание это. Точно так же некоторые сервисы, которые имеют законную потребность получить доступ к Вашей домашней папке под другой учетной записью пользователя, больше не будут также мочь. Можно несколько решить эту проблему через усовершенствованные полномочия-fu и ACLs, но это просто спускается по очень темной и ветреной кроличьей норе.

13
ответ дан 23 November 2019 в 11:39

Другие вопросы по тегам:

Похожие вопросы: