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