chown рекурсивно изменил разрешения

Я выполнил команду chown в каталоге:

chown -R user:user {.,}*

{.,}* используется с mv и cp для включения как скрытых, так и перечисленных файлов. Теперь эта команда прошла и изменила эти два файла в моем каталоге, но мне пришлось разбить его, чтобы остановить, так как он продолжался. Теперь я боюсь, что это пошло и изменило разрешения для других файлов и папок, так как это не прекращалось.

34
задан 24 July 2014 в 19:46

1 ответ

При помощи {.,}*, Вы включали обоих ./ и ../. Наряду с -R опция, Ваш chown вызов собирался просмотреть Вашу всю файловую систему (и другие, возможно смонтированные), проходя ../. С другими командами эта небольшая ошибка может быть довольно смертельной, но верить мне, Вы не являетесь первыми, и Вы не будете последними...

Так как эта операция довольно тяжела, Ваш chown назовите повешенными некоторое время, поскольку это имело много файлов для обработки. Я предложил бы, чтобы Вы вернулись к каталогу, где Вы выполнили вызов, и возвращайтесь прогрессивно к / видеть то, какие изменения были внесены. Вы смогли применять быстрое исправление, делающее:

chown root:root /* # Set ownership to root for all directories in /.
chown you:yourgroup /home/you -R # Take your home back.

На Ubuntu, /home каталог дан первому (admin/sudo) пользователю, зарегистрированному в системе. Если Вы - единственный пользователь, Вы могли бы хотеть сделать:

chown you:yourgroup /home -R

Однако простое chmod 755 на /home достаточно, даже если это принадлежит корню.

Наличие беглого взгляда непосредственно на / (включая сами корневые полномочия, ls -ld /) также было бы хорошее место для запуска. Я предлагаю, чтобы Вы удостоверились это / принадлежит корню, с 755 наборами полномочий.

Если Вы использовали chown для установки очень определенного владения (пользователь кроме Вас или корня, редкой группы...), можно хотеть использовать find искать chown- файлы редактора.

find / -user {username}
find / -group {groupname}

К сожалению, нет такой вещи как undo поскольку, что Ваш сделал. Linux естественно не отслеживает эти "случайные" операции.

Для получения дополнительной информации о том, чего Вы пытались достигнуть, взгляните на этот вопрос о SuperUser.

46
ответ дан 24 July 2014 в 19:46

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

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