Выполнен chmod -R 777 в домашнем каталоге случайно, исправить?

Помимо использования GNU tarс -Oили --to-stdout, нет хорошего способа сделать это каким-либо переносимым способом:

$ tar -tvzf dates.tgz
-rw-r--r-- kk/wheel         30 2017-09-25 08:41 a
-rw-r--r-- kk/wheel         30 2017-09-25 08:41 b

$ tar -Ov -xzf dates.tgz
a
Mon Sep 25 08:41:51 CEST 2017
b
Mon Sep 25 08:41:53 CEST 2017

Реализация BSD tar(на OpenBSD )не поддерживает флаг -O, и стандартный архиватор paxтакже не может извлекать файлы в стандартный вывод.

0
06.01.2020, 09:57
1 ответ

Прямо сейчас весь ваш домашний каталог доступен для чтения и изменения (для записи )для всех на вашем компьютере.

Я предпочитаю ограничивать свои разрешения до минимума :, то есть доступными только для чтения и записи владельцу, которым я являюсь. Это то, что я использую для установки этих разрешений:

find /home/me -type d -exec chmod 0700 {} \;
find /home/me -type f -exec chmod 0600 {} \;

Перед выполнением проверьте, что делают эти команды.

По моему мнению, первый применяет chmodиз 0700к каждому каталогу в /home/me, тогда как второй применяет 0600к каждому обычному файлу (, а не к каталогу ).

Разница заключается в исполняемом бите, который должен быть установлен, чтобы иметь возможность перемещаться по каталогам.

Имейте в виду, что любые исполняемые файлы (скрипты, например ), не получат установленный исполняемый бит, вам нужно установить их вручную, как здесь:

chmod 0700 /home/me/bin/my_favourite_script 

или, если хотите

chmod u+x /home/me/bin/my_favourite_script
1
28.01.2020, 02:38

Теги

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