Этот вопрос здесь уже есть ответ:
Я новичок в Ubuntu. Во время работы на своем домашнем компьютере я случайно ввел следующую команду:
sudo chmod -R o+x /home
Я хочу знать, опасно ли открывать доступ для других пользователей и, если да, как я могу отменить его?
Этот вопрос первоначально задавали о
blockquote>sudo chmod o+x /home
, а неsudo chmod -R o+x /home
. Этот ответ относится к этой версии. Затем это было повторно запрошено для рекурсивной (-R
) версии команды . Впоследствии этот вопрос был отредактирован, и были опубликованы дополнительные ответы. Я оставил этот ответ с намерением, чтобы он был полезен для других, кто выполняет не -рекурсивныеchmod
операции над/home
.Команда
chmod o+x /home
дает другим - то есть людям, которые не владеют/home
и не являются его «владельцем группы» - выполнять разрешения для/home
. [тысяча сто двадцать две]Для папки разрешение на выполнение означает нечто особенное - это означает, что вы можете зайти в каталог и попытаться получить доступ к файлам внутри него.
[ 1125] Поэтому вам не о чем беспокоиться. Кроме того, попытка «исправить» это сломает вашу систему. Если бы вы удалили исполняемый бит для «других» в
/home
имеетo+x
по умолчанию. Команда, которую вы запускали, ничего не изменила./home
должен разрешить «другим» доступ к файлам внутри, потому что он содержит домашние каталоги всех пользователей-пользователей машины, и * ни один из этих пользователей не является владельцем/home
или членом владельца его группы!/home
, то ни один пользователь не смог бы получить доступ к своему собственному домашнему каталогу. Система будет выведена из строя. Вам придется войти в режим восстановления или загрузиться с live CD / DVD / USB, чтобы исправить это. (И способ, которым вы бы это исправили, состоял бы в том, чтобы выполнить команду, подобную той, которую вы выполняли раньше. За исключением этого времени, это будет иметь эффект.)
Если вы уже пытались «исправить» это и сломал вашу систему, и вам нужна помощь, чтобы исправить это, я рекомендую опубликовать новый вопрос с просьбой о помощи. В конце концов, это разные вопросы от этого. Sup>
+
добавляет, -
забирает. Попробуйте:
sudo chmod -R o-x /home/*
рекурсивно удалить разрешение x
из других для каждой подпапки (но не самой /home/
).
Если вы используете -X
(или +X
) вместо обычных строчных букв x
, это влияет только на:
x
для любого (то есть для пользователя, группы и / или другого) См. Также ... справочную страницу .
В случае, если вы выполнили команду рекурсивно, как sudo chmod -R o+x /home
, вы позволили каждому пользователю, который не является владельцем и не членом группы, к которой принадлежит файл / папка, «открывать» все каталоги согласно /home
. Это считается угрозой безопасности, поскольку позволяет каждому получить список файлов и папок, который может раскрыть некоторую информацию (или ее существование).
Кроме того, если у вас есть какие-либо скрипты внутри /home
, они становятся исполняемыми другими. Это может быть угрозой безопасности в зависимости от ситуации. Если какой-либо из сценариев установил uid или установил биты gid, то это, безусловно, угроза безопасности, интенсивность которой зависит от содержимого сценария. Это серьезный риск для безопасности, если вы также установили бит setuid и другой бит записи (o + w), поскольку любой пользователь сможет выполнять задачи так же, как вы. (Previlige escalation)
В случае, если у вас нет исполняемых файлов, которые должны быть исполняемыми «другими» в соответствии с /home
(что является обычным случаем, если пользователь не установил что-то дома или не разместил некоторые исполняемые файлы) в противном случае), вы можете отменить это, выполнив sudo chmod -R o-x /home/*
. Запишите /home/*
вместо /home
, поскольку /home
необходимо o + x для правильной работы системы.
Это удалит исполняемый бит для «других» из каждого файла и папки внутри /home
.