Python Glossary English

Python 3.12+tarfileисключение

tarfile.AbsoluteLinkError

исключения

Исключение фильтра 'data': символическая ссылка в архиве указывает на абсолютный путь.

Синтаксис

except tarfile.AbsoluteLinkError:

Ссылка 'conf' → '/etc/passwd' сама ничего не пишет, но следующий член архива с именем 'conf' запишет данные через неё прямо в системный файл. Фильтр 'tar' такую ссылку пропускает, отказывает только 'data'. Отказ действует даже на системах, где символические ссылки не поддерживаются.

Примеры

import tarfile
link = tarfile.TarInfo('conf')
link.type = tarfile.SYMTYPE
link.linkname = '/etc/passwd'
try:
    tarfile.data_filter(link, 'out')
except tarfile.AbsoluteLinkError as e:
    print(e)  # → 'conf' is a link to an absolute path

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности