Как я использую команду tar Unix с неявным filepath?

На BSD полученный unixes (включая Mac OS X) существует названное средство sandbox. В странице справочника говорится

ОПИСАНИЕ
Средство песочницы позволяет приложениям добровольно ограничивать свой доступ к ресурсам операционной системы. Этот механизм безопасности предназначается для ограничения потенциального ущерба, если уязвимость используется. Это не замена для других средств управления доступом операционной системы.

Это является отдельным от chroot средство, которое также доступно.

9
28.04.2013, 17:47
4 ответа

Обычно tar потребности --absolute-names или --absolute-paths опция сохранить корень '/' часть при создании архива. Даже при принуждении его таким образом извлечение пропускает продвижение '/' также.


Однако, если у Вас есть архив с продвижением '/' и Вы смолите, не пропускает его при извлечении, ответ NoahD должен работать в этой форме,

pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar

Я думаю pax не обрабатывает сжатые файлы, таким образом, необходимо было бы передать по каналу после распаковки в pax.
Это пошло бы как это (предположение, что у Вас есть архив gzipped),

gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v

Я нашел эту страницу Wiki на Google сейчас.

2
27.01.2020, 20:07

Различие между использованием канонического (иначе явный) и родственником (что Вы, вероятно, называете неявными) - используете ли Вы a / вначале.

Например, если текущий рабочий каталог /usr/home/bob, следующие команды имеют точно тот же эффект

tar -xvf foo.tar *
tar -xvf ./foo.tar *
tar -xvf ./foo.tar ./*
tar -xvf /usr/home/bob/foo.tar *
tar -xvf /usr/home/bob/foo.tar ./*
tar -xvf /usr/home/bob/foo.tar /usr/home/bob/*

Но я подозреваю, что это не действительно Ваш вопрос. Это больше кажется, что необходимо определить использование диска и определить местоположение каталога, это не полно. Это может быть, покончили df команда.

df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig

И можно использовать mount показать Вам, какие файловые системы смонтированы в какой устройства.

2
27.01.2020, 20:07

Создать файл tar с относительным путем,

cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir

Для распаковки tar в определенный каталог кроме текущего рабочего каталога используйте-C (верхний регистр C) переключатель.

Если Вы хотите к untar файл с абсолютными путями в нем к точке кроме корня, Вы, возможно, должны были бы иметь предосудительные отношения chroot(1).

0
27.01.2020, 20:07

Я полагаю, что мир добьется цели

мир-r-s,/mnt,/gooddir,-f 13.2.tar

Это должно позволить Вам занять место в новом корневом каталоге.

0
27.01.2020, 20:07

Теги

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