Что это делает “ find ” команда делает?

Я так новичок в Linux, и я запускаю следующую команду, пока я нахожусь на /root:

find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \

Я хотел запустить это в определенной папке, но я не заметил что я был на /root.

Это повлияло на каждый файл на машине?

1
задан 21 April 2016 в 23:12

2 ответа

Эта команда находит все каталоги из каталога, в котором вы выполняете команду, и изменяет ее разрешения. Затем он делает то же самое, но с файлами. В этом случае команда изменяет разрешения каталогов, так что у вас есть полный доступ, но у других пользователей не будет доступа. Если вы единственный пользователь системы, то это не имеет значения. Затем команда изменяет разрешения файлов в / root, чтобы разрешить доступ только для чтения и записи, но не разрешать выполнение. Вы можете найти некоторые проблемы с запущенными программами и сценариями, но ничего, что может оказать серьезное влияние. Другие пользователи также не будут иметь доступ к файлам внутри /root.

, если вы найдете скрипт или программу, из которой вы не можете запустить из /root, вы можете просто запустить эту команду в файле:

sudo chmod 775 filename

, где filename заменяется именем файла, который вы пытаетесь запустить

Если есть другие пользователи системы, и вы хотите, чтобы все могли прочитайте из каталогов и файлов, возможно, стоит снова запустить команду, но слегка измените ее на:

find . -type d -exec chmod 775 {} \; && find . -type f -exec chmod 664 {} \;
2
ответ дан 23 May 2018 в 12:00

Эта первая точка после команды является корнем дерева, где find выполняет поиск. Таким образом, это повлияло на файлы папки, в которой вы ее запускали, и все дерево под ним.

0
ответ дан 23 May 2018 в 12:00
  • 1
    Не могли бы вы также объяснить другую часть команды? На самом деле это не полный ответ. – Danibix 21 April 2016 в 12:43

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

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