Навіщо використовувати команди chown та chgrp?


4

Я розумію , що команди chownі chgrpтим не менш , не розумію , чому ви хотіли б використовувати їх окремо від присвоєння власності або іншого користувача або групи? Це з безпеки чи з якоїсь іншої причини?


Команда chown може бути використана для зміни як власника користувача, так і групи, тоді як команду chgrp можна використовувати лише для зміни власності групи dba-oracle.com/linux/chown_chgrp_command_tips.htm
TryHarder

Відповіді:


12

Linux або інші системи у стилі Unix побудовані як багатокористувацькі системи.

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

Наприклад: Є сенс створити спеціального користувача для сервісу apache, якщо ви хочете запустити веб-сервер. Таким чином, apache не може пошкоджувати файли, на які він не має дозволу, здебільшого через те, що вони не є власниками файлів безпосередньо, а також не є жодною з груп, в яких знаходиться користувач.

В основному ви розділяєте доступ до файлів, призначаючи користувачам кілька груп, ви можете конкретно визначити, хто і як може отримати доступ до певних файлів.

Btw chown :group /path/fileробить те саме chgrp, що відзначається двокрапка перед іменем групи, використовуючи chown user:group /path/fileви можете зробити і те, і інше.

Додам, що дозволи на встановлення файлів мають бути встановлені відповідно. Використовуючи chmodви можете встановити прапори дозволів (читання, запис, виконання) на файли для користувачів, груп та світу.


Дякую. Я не знав, що можу виконати команду chownяк chown :groupname filename. Я думав, що я повинен включати ім’я користувача. За винятком імені користувача, я вважаю, що ви вже згадали, це матиме такий самий результат, як і chgrp groupname. Це так?
АрахісМонкі

Так, це майже те, як я весь час змінюю групи під Linux. Таким чином, я не маю уявлення, чи chownнасправді відсутня функціональність, яка chgrpможе мати. Для мене це працює :)
Baarn

1

Ви точно зрозуміли: ви використовуєте chownдля зміни власності або групи файлів, щоб передати право власності комусь іншому. Ви використовуєте chmodдля зміни дозволів, пов’язаних з одним із власників.

Немає глибшої потреби, яку ви пропустили, просто загальний набір дрібних потреб, виражений цими операціями. Мільйони причин, чому якийсь інший користувач повинен володіти файлом, але жодна з них не є глибшою, ніж "тому що ми робимо це таким чином".


Спробуйте придушити файл іншому користувачеві, якщо ви не користуєтесь root.
Даніель Бек

@DanielBeck - вибачте, ваш погляд уникнув мене тут.
Даніель Піттман

@Daniel Beck - я знаю, що ви не можете змінити право власності на файл чи каталог, не будучи користувачем root або особою чи обліковим записом, який створив файл чи каталог.
АрахісМонкі

1

Якщо у вас на купі файлів, збережених на флеш-накопичувачі USB, створених на одній ОС, вам потрібно використовувати деякі з цих файлів або їх усі в іншій (Linux) ОС, можливо, вам доведеться запустити команду find і в одному екземплярі пройти вниз дерево каталогів, щоб придушити всі файли, а потім у іншій команді знайти, виконайте команду chgrp, використовуючи функцію -exec команди find, щоб використовувати файли (імовірно, з різними ідентифікаторами користувачів та груп), щоб файли могли використовувати на обох різних ОС Linux.


1

Це пов'язано з однією простою річчю, що називається філософією Unix .

Пишіть програми, які роблять одне і роблять це добре . Напишіть програми для спільної роботи. Напишіть програми для обробки текстових потоків, оскільки це універсальний інтерфейс.

Принаймні, це я припускаю :)

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