Как отменить права доступа к /etc? Вся система перестала работать

Вы используете экранирование кавычек и обратной косой черты -. Использование только цитирования будет работать нормально.

Этого должно быть достаточно:

TEMP_DIR="$HOME/Documents/temp dir/dir with spaces"
COMMAND="rm -r $TEMP_DIR/*"
echo "Command: $COMMAND"
rm -r "$TEMP_DIR"/*

В этом случае и обратная косая черта, и кавычки должны обрабатываться оболочкой, чтобы предотвратить разделение имени каталога. Когда вы используете оба, оболочка сохранила как пробелы , так и обратную косую черту внутри кавычек, поэтому rmфактически получает .../temp\ dir/dir\ with\ spaces/...в аргументах, где вместо этого должно было быть .../temp dir/dir with spaces/....

Когда вы копируете напечатанную команду, оболочка видит обратную косую черту без дополнительных кавычек, поэтому она сохраняет пробелы, защищенные обратной косой чертой, и удаляет обратную косую черту, поэтому rmполучает .../temp dir/dir with spaces/...в аргументах.

0
29.05.2021, 14:32
1 ответ

Если у вас нет записи о том, какие разрешения были до внесения изменений, то вам не повезло. Разрешение на этой папке сложное.

ЕСЛИу вас есть запись разрешений, то вы можете восстановить их файл -по файлу -, если хотите, после перехода на пользователя root, выполнив команду:

su root

Я бы просто переустановил.

0
28.07.2021, 11:28

Теги

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