- Технічна різниця між зміною прав доступу за допомогою chmod та зміною власності ресурсу за допомогою chown.
- Система представлення дозволів на основі вісімкової та символьної нотації для користувачів, груп та інших.
- Впровадження стратегій безпеки, заснованих на принципі найменших привілеїв, для запобігання вразливостям на серверах.
Якщо ви коли-небудь керували власним VPS-сервером або виділеною машиною, ви, мабуть, усвідомили, що Linux — це система, розроблена з нуля для роботи в мережі. Саме тому безпека є надзвичайно важливою , оскільки контроль над тим, хто може читати, редагувати або виконувати файл, запобігає потраплянню вашої інформації в чужі руки або збою всієї системи шкідливим процесом.
Щоб легко орієнтуватися в цьому середовищі, недостатньо просто знати, як виконувати команди; потрібно розуміти логіку володіння файлами. У Linux кожен ресурс належить користувачеві та групі , і саме тут стають у пригоді інструменти для налаштування цих привілеїв, що дозволяє нам захистити систему, не блокуючи роботу наших програм.
Розуміння анатомії дозволів
Коли ви запускаєте команду ls -l У терміналі ви побачите рядок символів, який виглядає як секретний код, щось на кшталт -rwxr-xr--Не хвилюйтеся, це простіше, ніж здається. Перший персонаж розповідає нам Який тип елемента ми маємо перед собою?Дефіс позначає звичайний файл, «d» – папку (каталог), а «l» – символічне посилання. Також є менш поширені символи, такі як «s» для сокетів або «p» для каналів.
Наведені нижче дев'ять символів поділено на три рівні набори по три символи. Перший набір призначений для власника ( того, хто створив файл), другий для групи власників , а третій для всіх інших користувачів системи. Кожен набір із трьох символів може містити літери «r» (читання), «w» (запис) та «x» (виконання) або дефіс, якщо такий дозвіл не надано.
Що насправді означає кожен дозвіл?
- Читання (r): У файлі це дозволяє вам відкрити його та побачити, що знаходиться всередині. Якщо ми говоримо про папку, це означає, що ви можете перерахувати файли та підкаталоги що містять.
- Письмо (в): Це дає вам можливість змінювати вміст файлу або навіть видаляти його. У випадку каталогів це дозволяє вам створити, видалити або перейменувати елементи всередині нього.
- Виконання (x): Для файлу це те, що дозволяє запускати скрипт або програму. У папках цей дозвіл є життєво важливим, оскільки саме він дозволяє вам... доступ до каталогу за допомогою команди
cd.
Команда chmod: Налаштування доступу
Команда chmod (змінити режим) – це наш інструмент для зміни цих дозволів. Існує два способи його використання: символічний, який є більш інтуїтивно зрозумілим, та вісімковий, якому надають перевагу адміністратори, оскільки він швидший.
В символічний режимМи використовуємо літери, щоб позначити, кого стосується зміна (u для користувача, g для групи, o для інших, a для всіх) та символи, такі як «+», щоб додати або «-» для видалення дозволів. Наприклад, якщо ви хочете, щоб група мала можливість записувати у файл, ви б використовували chmod g+w archivo.txtЦе дуже гнучкий спосіб налаштуйте дозволи за потреби без зміни решти конфігурації.
El вісімковий режим Він використовує числа, засновані на двійковій системі числення. Кожен дозвіл має значення: читання – 4, запис – 2, а виконання – 1. Додавання цих значень дає нам число від 0 до 7. Наприклад, значення 7 (4+2+1) означає повний доступ, тоді як 5 (4+0+1) означає читання та виконання. Таким чином, команда типу chmod 755 carpeta гранти повний контроль для власника і доступ лише для читання/виконання для групи та інших.
Керування власністю за допомогою chown та chgrp
Іноді, навіть якщо дозволи правильні, файл не працюватиме, оскільки власник не є потрібною особою. Саме тут і знадобиться [відповідний інструмент/додаток]. chown (змінити власника). Ця команда дозволяє змінити користувача та групу хто володіє файлом. Найпоширеніший синтаксис такий chown usuario:grupo archivo.
На веб-серверах дуже часто файли належать користувачеві сервера (наприклад, www-data в Apache або Nginx), щоб веб-сайт міг записувати дані до певних папок. Якщо вам потрібно застосувати цю зміну до папки та всього, що знаходиться в ній, ви повинні використовувати рекурсивний параметр -R, наприклад, біг chown -R www-data:www-data /var/www/html.
Адміністрування користувачів та груп у системі
Щоб усе вищесказане мало сенс, нам спочатку потрібно керувати тими користувачами. У Linux такі команди, як useradd o adduser створювати облікові записи та passwd щоб призначити їм ключ. Вся ця інформація зберігається в критично важливих файлах, таких як / etc / passwd (реквізити облікового запису) та / etc / shadow (зашифровані паролі).
Групи важливі, щоб уникнути необхідності призначати дозволи по одному. groupadd ми створили групу і з usermod -aG Ми додаємо до нього користувачів. Таким чином, ми можемо надати колективні дозволи для робочої бригади у певній папці без шкоди для безпеки решти системи.
Пот та підвищені привілеї
Не рекомендується завжди працювати від імені root, оскільки помилка може призвести до повного знищення всієї системи. Для цього ми використовуємо sudoщо дозволяє нам виконувати команди з правами суперкористувача. Конфігурація того, хто що може робити, знаходиться у файлі / etc / sudoersяку завжди потрібно редагувати за допомогою команди visudo пункт усунення помилок sudo в Linux та уникати синтаксичних помилок, які можуть вивести нас із системи.
Безпека та найкращі практики на серверах
Поширеною помилкою багатьох новачків є призначення дозволів 777 для папки, коли щось не працює. Це широко відкриває двері для будь-якого зловмисника. В ідеалі слід дотримуватися принципу найменших привілеїв : надавати лише мінімальний доступ, необхідний для виконання завдання.
Як правило, файли повинні мати дозволи 644 (власник записує, всі інші можуть лише читати), а папки – 755. Для надзвичайно конфіденційних файлів, таких як ключі SSH або файли конфігурації, захищені паролем (.env), правильним налаштуванням є дозвіл 600, який гарантує, що ніхто, крім власника, не зможе навіть прочитати вміст.
Якщо ви зіткнулися з жахливою помилкою 403 Forbidden на своєму веб-сайті, найімовірніше, це пов’язано з проблемою власності або дозволів. Перш ніж вносити будь-які кардинальні зміни, перевірте, чи веб-сервер володіє файлами, а каталоги мають біт виконання, що дозволяє навігацію.
Правильне керування користувачами, групами та дозволами за допомогою таких інструментів, як chmod та chown, є першою лінією захисту будь-якого сервера Linux. Від використання маски umask для визначення дозволів за замовчуванням до рекурсивного керування каталогами та суворого контролю sudoers, кожне налаштування сприяє створенню стабільного та стійкого середовища до потенційних вторгнень, гарантуючи, що системні процеси та користувачі-люди можуть співіснувати без шкоди для цілісності даних.
Пристрасний письменник про світ байтів і технологій загалом. Я люблю ділитися своїми знаннями, пишучи, і саме це я буду робити в цьому блозі, показуватиму вам все найцікавіше про гаджети, програмне забезпечення, апаратне забезпечення, технологічні тренди тощо. Моя мета — допомогти вам орієнтуватися в цифровому світі в простий і цікавий спосіб.




