Які дозволи потрібно виконати 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.