Як Chown працює в Linux?

Файли та папки в Linux належать користувачу та групі, це може вплинути на те, які користувачі зможуть отримати доступ до файлів, і може бути важливою частиною безпеки. Команда зміни права власності на файл творчо називається «chown», скорочення від «змінити власника».

Коли обліковий запис створюється, йому надається основна група. За замовчуванням нова група створюється з тим же ім’ям, що й користувач, хоча можна вручну встановити її до наявної групи. Потім кожен обліковий запис можна додати до кількох вторинних груп. Коли користувач створює документ, він належить йому та його основній групі. Дозволи на доступ до файлів і папок можна встановити для власника, групи та глобально.

Якщо ви хочете налаштувати, хто має доступ до файлу або папки, вам може знадобитися змінити власника та/або групу власників. Команда chown дозволяє змінити власника або групу власників або обидва одночасно.

Структура команди «chown».

Команда chown має вигляд «chown [f ags] [User][:[Group]] File[s]». Прапорці позначають прапорці команд, які змінюють поведінку команди і є абсолютно необов'язковими. Необхідно вказати принаймні ім’я користувача або групи, хоча можуть бути обидва. Потрібно назвати один або кілька файлів і папок.

Як правило, вам не потрібно буде використовувати жодні прапорці, але є кілька, які іноді можуть стати в нагоді. Прапор «-R» рекурсивно діє над файлами та папками. Прапор “–from=[current owner][:[current group]” використовується для застосування команди лише до файлів і папок, які наразі належать вказаному користувачу або групі. Прапорець «–help» друкує сторінку довідки.

Якщо вказано лише ім’я користувача, власник файлу змінюється на цього користувача. Якщо після імені користувача також вказано двокрапку «:», можна також вказати назву групи. Якщо назву групи залишити порожнім, то група власників файлу змінюється на основну групу вказаного користувача; якщо вказано назву групи, то право власності на групу змінюється на цю групу, навіть якщо вказаний користувач не є частиною цієї групи. Якщо ім’я користувача опущено і вказано двокрапку та назву групи, тоді група-власник змінюється, а користувач-власник залишається тим самим.

Примітка. Користувачів і груп-власників можна вказати іменами користувачів і груп, або пов’язаними ідентифікаторами.

Наприклад, право власності файлу file.txt можна змінити на user2, а групу — на group2 за допомогою команди «chown user2:group2 filt.txt». Якщо нового власника або групу було опущено, це налаштування залишиться незмінним. Найпростіший спосіб побачити користувача-власника та групу файлів – це скористатися командою “ls -l”, яка показує довгий список каталогу, включаючи ім'я власника та назву групи власників.

Чому важливо володіти файлами та папками

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

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

Порада: такі служби, як веб-сервери та бази даних, мають власні облікові записи користувачів і їм можна призначити право власності на файли та папки.