Які дозволи потрібно виконати chmod, команда chown у папці / елементі?


9

Я завжди виконував команди chmod / chown як користувач sudo. Але сьогодні я замислився, чи не використовую sudo, які дозволи мені потрібні, щоб реально виконувати chmod/chownкоманду в папці / файлі? Я спробував googling the question, але нічого не з'явилося, що би відповіло конкретно на це питання.

Відповіді:


18

У Linux:

chown : "Тільки привілейований процес (Linux: один із CAP_CHOWN можливостями) може змінити власника файлу." (Джерело: chown (2)) Найпростішим способом бути таким процесом є керування root. Зверніться explain_chownза допомогою до з'ясування причини конкретної chownпомилки. Ознайомтеся capabilitiesз способами надання процесам такої можливості, крім запуску як root.

chmod : власник файлу або rootможе змінювати дозволи, а також інші процеси з CAP_FOWNERможливістю. (Джерело)

chgrp : "Власник файлу може змінити групу файлу на будь-яку групу, членом якої є власник. Привілейований процес (Linux: з CAP_CHOWN) може змінити групу довільно." (чун (2))


1
Linux почала впроваджувати можливості близько 2004 року, але відповідна пропозиція POSIX була знята вже в 1997 році. Якщо ви перебуваєте в такій сучасній ОС, як Solaris, вам PRIV_FILE_CHOWNпотрібно подати всі локальні файли та PRIV_FILE_CHOWN_SELFпридушити локальні файли, які належать вам. BTW: ОС, яка дозволяє замовчувати віддалені файли з NFS, може розглядатися як ризик безпеки. У HP-UX будь-який постійний користувач може подавити свої файли, і це сприймається як ризик безпеки.
— schily

PS Пропозиція POSIX для можливостей була відкликана, оскільки вона обробляє лише привілеї між звичайним користувачем та історичним користувачем root. Solaris має вдвічі більше дрібнозернистих привілеїв, ніж Linux, і дозволяє видаляти привілеї, наприклад, fork () та exec ().
— schily

Зауважте, що в Linux, коли chownви не користуєтеся ними , ви можете користуватися файлами, якими ви володієте, але лише gid-частина (до будь-якої групи, до якої ви входите). Я можу робити chown stephane:other-group myfile(або chown :other-group), поки я є членом other-group.
— Стефан Шазелас

Що з chgrpкомандою? Чи можете ви додайте пояснення до цього?
— Макс Корецький

@ StéphaneChazelas, дякую, на основі вашої відповіді я припускаю, що власник може успішно працювати, chgrpне будучи привілейованим користувачем?
— Макс Корецький
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.