Дозволи Linux для системних адміністраторів та розробників

Дозволи Linux для системних адміністраторів та розробників

Дозволи Linux для системних адміністраторів та розробників

Проблема дозволів у Linux та їх правильне використання за допомогою команди "chmod" є чимось дуже поширеним та обговорюваним у спільнотах SL. досвідченими користувачами, техніками та адміністраторами серверів та систем. Наприклад, у нашому блозі ми маємо 2 дуже хороші публікації про це, а саме: Дозволи та права в Linux (01/12) y Основні дозволи в GNU / Linux з chmod (08/16).

Але багато разів Розробники SW хто створює додатки та системи, більшість із них - системи та веб-сайти, Розробляючи їх, вони, як правило, не замислюються над тим, які правильні дозволи мають бути реалізовані на них, залишаючи завдання майже завжди на стороні серверів та системних адміністраторів. У цій публікації ми спробуємо дати їм невеликі вказівки щодо цього.

Дозволи Linux для DevOps / BDA: Вступ

Введення

Команда "CHMOD»Дуже корисний і важливий для розширеного використання операційних систем на базі Linux. Однак як такий "chmod" не є окремим пакетом, а інтегрований у пакет "coreutils«. Пакет "coreutils" - це пакет, який надає Операційній системі безліч основних інструментів для управління файлами, інтерпретаторів команд та обробки текстів. І загалом він уже встановлений за замовчуванням у більшості дистрибутивів Linux.

Зокрема, цей пакет містить, крім команди "chmod", такі команди: arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false flock fmt fold groups head hostid id install join link ln logname ls md5sum mkdir mkfifo mknod mktemp mh nicem mh nicem mh nicem mh nicem mh nicem від вставити pathchk pinky pr printenv printf ptx pwd readlink realpath rm rmdir runcon sha * sum seq shred сортувати split split stat stty sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unpand uniq unlink users vdir wc whoami who yes.

Підсумовуючи, команда «chmod» дозволяє дуже важливе завдання управління дозволами на файли та папки для всіх користувачів, якими керує Операційна система. Це пов’язано з тим, що Linux як операційна система є багатокористувацькою, а отже, вона повинна забезпечити робоче середовище системою дозволів для контролю набору дозволених операцій над файлами та каталогами, що включає всі системні ресурси та пристрої.

зміст

Дозволи Linux для SW / BD: Зміст 1

Використовуйте для розробників SW

Адміністратор серверів та систем (Sysadmin), вирішуючи, які дозволи надавати Користувачеві рівня X або профілю X-файлу чи папці, повинен точно знати, який тип операцій або процесів він повинен виконувати з ними. У випадку з веб-сервером користувачів можна класифікувати на 2 типи:

  1. Користувачі адміністратора: Хто має обліковий запис користувача на сервері для входу, має певні привілеї і, як правило, здійснює певні зміни (копіює / видаляє / модифікує) в Системі або на веб-сайті, встановлених за допомогою SSH або SFTP, наприклад.
  2. Користувачі, які не є адміністраторами: Що вони не мають облікового запису користувача на сервері, оскільки вони є лише відвідувачами Сайту та Веб-системи. І тому вони не мають дозволу на прямий доступ до файлів і папок, а навпаки, взаємодіють з ними через веб-інтерфейс Сайту або встановлену Веб-систему.

Однак, коли Сисадмін отримує недостатньо або достатньо інформація, документація або підтримка розробниками SW щодо можливостей, функціональних можливостей або структури файлів веб-сайтів та систем, які слід встановити закінчується виконанням надійного максимуму, який у цьому випадку зазвичай становить:

chmod 777 -R /var/www/sistema-web

І багато разів це закінчується:

chown root:root -R /var/www/sistema-web

Дозволи Linux для SW / BD: Зміст 2

попередження

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

Даючи можливість будь-якому користувачу Сайту або Веб-системи в Інтернеті змінювати або видаляти будь-які файли в структурі файлів Сайту або Веб-системи на Веб-сервері або поза ним, без серйозних перешкод. Оскільки слід пам’ятати, що саме Веб-сервер діє від імені відвідуючих користувачів і що він може змінювати ті самі файли, що виконуються.

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

Дозволи Linux для SW / BD: Зміст 3

Рекомендації

Щоб уникнути таких видів заходів, будь-який Sysadmin або розробник SW повинні забезпечити, щоб папки та файли різних систем або веб-сайтів мали правильні та необхідні дозволи та користувачів щоб уникнути майбутніх проблем безпеки та конфіденційності.

На рівні дозволу можна виконати наступні 3 команди, щоб відновити дозволи та користувачів встановленої системи або веб-сайту до нормального стану.Тобто встановіть значення 755 для всіх каталогів і 644 для файлів.

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

Дозволи Linux для SW / BD: Зміст 4

Дозволи, застосовані до папок (каталогів)

Приклади

Дозволи на каталоги та файли

find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

y

chmod 777 -R .

o

chmod 777 -R /var/www/sistema-web

У разі перебування поза папкою (каталогом) Системи або Веб-сайту.

Користувачі системи або веб-сайту

chown www-data:www-data -R .

o

chown www-data:www-data -R /var/www/sistema-web

У разі перебування поза папкою (каталогом) Системи або Веб-сайту. І користувальницькі www-дані використовуються лише як приклад, оскільки вони є найбільш використовуваними або доречними щодо використання Apache2.

Дозволи Linux для SW / BD: Зміст 5

Дозволи, застосовані до файлів (Файли)

Після внесення змін до дозволу ми можемо продовжувати змінювати дозволи каталогів та файлів, для яких ми хочемо мати різні дозволи вручну. А якщо потрібно також змінити власника користувачами необхідних. Отже, на цьому етапі як Sysadmin, так і розробники SW повинні узгодити, якими повинні бути необхідні дозволи для кожної папки та файлу в системі або структурі веб-сайту.

Дозволи Linux для SW / BD: Висновок

Висновок

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

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


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   polg28 - сказав він

    Добрий ранок як твої справи?
    Я займаюся Linux, у мене є програма, яка може імпортувати файли з неї, користувач завантажує .zip, що містить папку з файлами xml, після розпакування файлів, які вони вставляються в базу даних. У Windows у мене не виникає проблем, при передачі програми в Linux я б втратив деякі дозволи, в принципі, щоб перевірити все, що я добре зробив, про що вони говорять у цій статті, і цього робити не слід ха-ха (але я один раз Я можу перевірити всі функціональні можливості).
    Справа в тому, що файли розпаковуються, але я бачу, що вони завантажуються лише з дозволами на читання та запис для власника, для читання для групи власників та без дозволів для інших. Коли файли належать користувачеві, який використовує додаток. Я розумію, що, не маючи дозволів на виконання, він не може стежити за нормальним потоком процесу та продовжувати вставляти xml у базу даних. На що виникає моє запитання, як я можу надати дозволи файлам, яких у мене ще немає в системі? У папці, яка завантажується (tmp), вона має всі дозволи, вони застосовуються повторно курсивом, але кожен раз, коли файли завантажуються в цій папці, вони мають лише зазначені дозволи. Чи є спосіб, що файли, які з’являються в цій папці, також можуть мати дозволи на виконання?
    Сподіваюся, я зрозумів, заздалегідь велике спасибі та чудовий блог

  2.   Установка Linux Post - сказав він

    Я припускаю, що папка / tmp або ... / tmp має 755 дозволів, але навіть незважаючи на це, коли користувач, який є власником програми, депонує їх, він залишає їм інші дозволи. Я не розробник, але я припускаю, що мовою програми або іншою могло б вказати їй підпрограму, яка виконує команду команди (bash) необхідних дозволів (chmod) та власника файлів (chown). В іншому випадку ви можете запускати сценарій щохвилини, коли він запускається.