Помимо использования 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
также не может извлекать файлы в стандартный вывод.
Прямо сейчас весь ваш домашний каталог доступен для чтения и изменения (для записи )для всех на вашем компьютере.
Я предпочитаю ограничивать свои разрешения до минимума :, то есть доступными только для чтения и записи владельцу, которым я являюсь. Это то, что я использую для установки этих разрешений:
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