sudo tar змінює власність вилучених файлів на невідомого користувача


10

Я виконую цю команду:

$ sudo tar xvzf nexus-latest-bundle.tar.gz

Витягнуті файли належать невідомому (1001) користувачеві:

drwxr-xr-x 8     1001     1001      4096 Dec 16 18:37 nexus-2.12.0-01
drwxr-xr-x 3     1001     1001      4096 Dec 16 18:47 sonatype-work

Чи не повинен він викорінювати власника в нормальній конфігурації?

Я працюю над установкою Linux, копією якої є AWS AMI.

Відповіді:


15

При вилученні файлів як root, tar використовуватиме оригінальне право власності. Ви можете змінити це за допомогою --no-same-ownerпараметра (як варіант -o).

Ваш файл tar націлив на користувача / групу, які не існують у системі, де ви його витягли.

Якщо ви витягуєте файли як самостійно (непривілейований користувач), ви можете створювати лише власні файли.

Посібник з дьогтю GNU говорить:

--same-owner
Під час вилучення архіву, tar намагатиметься зберегти власника, вказаного в архіві tar, при наявності цієї опції. Це поведінка за замовчуванням для суперпользователя; ця опція діє лише для звичайних користувачів. Див. Розділ Обробка атрибутів файлів .


1
Добре, це трапляється лише під час використання root, тому що якщо я запускаю команду без sudo: 'tar xzvf nexus-latest-bundle.tar.gz', то право власності встановлено моєму поточному користувачеві, це очікувана поведінка?
raspacorp

2
@raspacorp: Як некористувальний користувач, ви не маєте права створювати файли з будь-яким іншим правом власності, крім вашого власного. Тож за необхідності файли створюються разом із вами як власником.
Нейт Елдредж

1

Особа, яка створила файл tar, мала ефективний ідентифікатор користувача та ідентифікатор групи (UID: GID) 1001: 1001. Оскільки tarза замовчуванням зберігаються права власності та дозволи, коли ви розширюєте їх, ви успадковуєте ці значення. Якщо у вас у вашій системі є користувач з UID: GID 1001: 1001, ці файли були б у власності цього користувача.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.