Власність та дозволи - це дві різні речі. -p
Прапор зберігає дозволу . У * nix системах звичайні користувачі не можуть змінювати право власності на файл на користувача, який не є самим собою.
Як пояснено тут :
Тільки процеси з ефективним ідентифікатором користувача, рівним ідентифікатору користувача файлу, або з відповідними привілеями, можуть змінити право власності на файл. Якщо _POSIX_CHOWN_RESTRICTED діє для шляху:
Зміна ідентифікатора користувача обмежується процесами з відповідними привілеями.
Зміна групового ідентифікатора дозволено до процесу з ефективним ідентифікатором користувача, рівним ідентифікатору користувача файлу, але без відповідних привілеїв, якщо і лише тоді, коли власник дорівнює ідентифікатору користувача файлу або (uid_t) -1 і група дорівнює або до ефективного ідентифікатора групи виклику, або до одного з додаткових ідентифікаторів групи.
Обґрунтування цього чітко пояснило @Gilles у цій відповіді Unix & Linux:
Причиною цього обмеження є те, що передача файлу іншому користувачеві може призвести до того, що погані речі трапляються в нечастому, але все ж важливому випадку. Наприклад:
- Якщо в системі увімкнено дискові квоти, Аліса могла створити файл, що записується у всьому світі, під каталог, доступний лише їй (щоб ніхто більше не міг отримати доступ до цього каталогу, що записується у світі), а потім запустити chown, щоб зробити цей файл власником іншого користувача Білла . Файл зараховується до дискової квоти Білла, навіть якщо тільки Аліса може використовувати цей файл.
- Якщо Аліса передає файл Біллу, то немає й сліду, щоб Білл не створив цей файл. Це може бути проблемою, якщо файл містить незаконні дані або іншим чином компрометує дані.
- Деякі програми вимагають, щоб їх вхідний файл належав певному користувачеві для автентифікації запиту (наприклад, файл містить деякі інструкції, які програма виконує від імені цього користувача). Зазвичай це не безпечна конструкція, оскільки навіть якщо Білл створив файл, що містить синтаксично правильні інструкції, він, можливо, не мав наміру виконувати їх саме в цей час. Тим не менш, дозволити Алісі створити файл з довільним вмістом і взяти його за вхід з Білла може тільки погіршити ситуацію.
Отже, навіть якщо ви використовуєте --same-owner
прапор смоли , вам все одно потрібно буде витягнути файли, root
щоб зберегти право власності. Цей прапор увімкнено за замовчуванням для root
, тому ви хочете:
sudo tar xpf foo.tgz
tar
, не зможе це зробити також. Скажіть, будь ласка, чи спрацювало це