Команда дозволу для папки linux 777. Команда chmod - приклади використання. Ви можете дати дозвіл папці та всьому її вмісту, використовуючи опцію -R ie Рекурсивні дозволи

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

Права доступу 777 – що це?

Базовий принцип способу розподілу доступу включає існування обов'язкових атрибутів, таких як імена користувачів системи, а також їх груп. Майже очевидним є той факт, що в Linux у кожного користувача може бути тільки одне ім'я, яке має бути унікальним у рамках цієї системи. За допомогою нікнейму користувач входить до системи, тобто проходить авторизацію. Крім цього, операційна система містить кінцеву кількість груп користувачів. Кожен може входити до складу однієї чи кількох груп. Редагувати властивості, створювати та видаляти групи може суперкористувати - root. Учасники різних груп мають різні права для дій у системі. Так, наприклад, адміністратор має більші права, ніж гість.

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

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

Як змінити права доступу

Команда chmod може змінити режим доступу користувача до файлу. Будь-яка зміна цих прав дозволяється виключно його власнику або суперкористувачу. У Unix-системах код прийнято задавати у вигляді числа у вісімковій формі, або за допомогою спеціальних мнемонічних знаків (літер). Використання кожного способу має свої переваги та недоліки. Так, за допомогою цифрової вказівки прав доступу системний адміністратор зможе швидше налаштувати потрібний тип доступу, а за допомогою мнемонічних кодів він зможе зробити це точніше - наприклад, додати або видалити право на запис або заборонити право на читання.

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

Мнемонічні позначення прав доступу

Доступ до файлів у системі прав має такі варіації:

  • r – доступ до читання файлу;
  • w - право редагування даних (але не видалення);
  • x - можливість запускати файл до виконання.

По відношенню до каталогів діє така система прав:

  • r - користувач може читати будь-які файли директорії;
  • w — із цими правами можна створювати та видаляти файли в папці, навіть якщо деякі з них у каталозі належать іншому користувачеві;
  • x - означає право входу в директорію. Якщо ви маєте права w до вкладеної папки, але не маєте прав на папку рівнем вище, то і до своєї папки ніяк не проб'єтеся.

Усього можливе 8 різних комбінацій, які наведені на малюнку нижче.

Нижче ви зможете зрозуміти, як реалізувати складні варіанти призначення прав, а також як встановити права доступу 777, використовуючи мнемонічні специфікації chmod.

Як встановити права доступу 777 через SSH

Наведемо деякі приклади використання команди chmod:

  • chmod 711 file_name.txt.

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

За використання коду 775 ми надамо власнику та всій його групі повний перелік прав. Інші користувачі не зможуть виконувати зміни у файлі. Потрібно сказати, що для вказівки файлу тільки за власним ім'ям, необхідно перебувати в директорії, де розташований цей файл. В іншому випадку ви можете переміститися в цю директорію командою cd ім'я_директорії/ім'я_вкладеної_директорії або використовувати таку структуру:

  • chmod 775 /var/bin/file_name.txt.

Щоб рекурсивно змінити права до всіх файлів у каталозі та всіх вкладених папок, потрібно додати ключ -R до команди chmod. Отримана команда виглядатиме так:

  • chmod -R 711 file_name.

У результаті, як виставити права доступу 777 для файлу або каталогу, не буде проблемою - просто необхідно залогінитися на вашому веб-сервері через SSH і виконати команду:

  • chmod 777 ім'я_файлу.

Як встановити права доступу 777 у контрольній панелі сервера

Ви також можете реалізувати аналогічну процедуру через візуальний інтерфейс клієнта FTP FileZilla або SFTP клієнта WinSCP. Для цього необхідно буде виконати авторизацію на вашому сервері в одній з цих програм, візуальному інтерфейсі вибрати ваш файл або папку, потім натиснути праву клавішу миші і встановити галочки поруч із потрібними правами.

Іноді, у разі термінової потреби, у вас може бути доступу до Windows-клієнту, тому можна здійснити зміну прав доступу через контрольну панель веб-сервера. Для цього, використовуючи файловий менеджер вашої контрольної панелі, виберіть необхідні файли і натисніть кнопку Change Permissions ("Зміна прав"). Далі необхідно буде також відзначити все галочками, і тепер питання, як встановити права доступу 777 на папку більше не буде для вас складним.

Багато користувачів користувачів ОС Linux часто губляться при призначенні прав доступу за допомогою команди chmod.

У цій пораді, доступно та наочно, я наведу приклади використання команди chmod . Просто використовуйте ці приклади у роботі, підставляючи необхідні файли чи каталоги.


Команда chmodявляє собою зручний інструмент для підвищення безпеки операційної системи та дозволяє призначати права доступудо файлів чи каталогів.

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

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

Призначати права доступуна файли чи каталоги за допомогою команди chmodможна двома способами – за допомогою символьного та абсолютних режимів.

Приклади використання команди chmod у символьному режимі:

(Споконвічне значення прав доступу файлу file - rwxrwxrwx - Повний доступ для всіх)

Скасування дозволу на виконання файлу для всіх користувачів та груп:

$ chmod a-x file(rw-rw-rw-)

Скасування запису у файл групою та іншими користувачами:

$ chmod go-w file(rw-r--r--)

Дозвіл виконання файлу власником:

$ chmod u+x file(rwxr--r--)

Надання групі прав доступу, якими володіє власник файлу:

$ chmod g=u файл(rwxrwxr--)

Скасування читання та запис у файл користувачам групи та іншим користувачам:

$ chmod go-rw file(rwx--x---)

Приклади використання команди chmod в абсолютному режимі:

Дозвіл читання, запису, виконання файлу file всіма користувачами та групами (повний доступ):

$ chmod 777 файл(rwxrwxrwx)

Встановлення дозволів на читання та запис для власника, групи та інших користувачів:

$ chmod 666 файл(rw-rw-rw-)

Установка повного доступу до файлу для власника і лише читання для групи та інших користувачів:

$ chmod 744 файл(rwxr--r--)

Встановлення повного доступу до файлу власнику файлу та заборони доступу до групи та інших користувачів:

$ chmod 700 файл(rwx------)

Установка дозволів на читання та запис для власника файлу і лише читання для групи та інших:

$ chmod 644 файл(rw-r--r--)

Встановлення дозволів на читання та запис власнику файлу та його групі та заборона доступу для інших:

$ chmod 640 файл(rw-r-----)

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

$ chmod 444 файл(r-r-r--)

Права доступу до файлу для читання, запису, виконання власником та читання, виконання групи та іншим:

$ chmod 755 файл(rwxr-xr-x)

Дозвіл доступу до файлу на читання та виконання користувачеві та іншим та заборона доступу для групи:

$ chmod 505 файл(r-x---r-x)

Якщо ви хочете призначити права доступу на всі файли в поточному каталозі, просто поставте після призначених прав доступу знак * (зірочка):

$ chmod 755 *

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

Якщо ви хочете, щоб ваші дії поширилися рекурсивно (включаючи всі підкаталоги), скористайтесь опцією -R:

$ chmod -R 777 *

Результатом виконання вищенаведеної команди буде рекурсивний "обхід" всіх підкаталогів поточного каталогу та призначення повного доступу для всіх користувачів та груп.

У цій статті розглянуто лише деякі приклади застосування команди chmod. Якщо ви хочете дізнатися детальніше про роботу команди chmodі правах доступуу Linux, зверніть увагу на .

Сьогодні я хотів би поговорити про права доступу до файлів та папок (читайте). Це поняття прийшло у світ веб-мастерингу з linux (Unix) подібних систем, на яких працює більшість хостингів.

Та й сама назва Chmod є найменуванням програми в linux, яка дозволяє призначити права доступу до різних об'єктів. Якщо ваш сайт встановлений на сервері під керуванням linux (Unix) тієї чи іншої варіації, то і робота з об'єктами вашого вебсайту буде підпорядкована правилам, встановленим операційними системами linux (Unix).

У Windows фактично для всіх файлів встановлюються максимальні повноваження, що, власне, і призводить до засилля і наших комп'ютерів, а також, у свою чергу, не дає померти з голоду власникам антивірусних компаній. У linux (Unix) системах справа інакша – все складніше, але водночас і безпечніше. Якщо все налаштувати правильно і зі знанням справи, можна істотно підвищити безпеку свого вебсайту.

Базові поняття прав доступу до файлів та папок

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

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

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

У свою чергу, по відношенню до файлів можливо:

  • r – право на читання даних.
  • w - зміна вмісту (запис – лише зміна вмісту, але з видалення).
  • x - виконання файла.

Зупинимося докладніше на можливості виконання файлу. Справа в тому, що в linux будь-який файл може бути виконаний. Чи є він виконавчим — визначається не з його розширення (поняття розширення відсутнє у файловій системі Unix), а з прав доступу до Chmod. Якщо у будь-якого файлика встановлено право виконання “X”, це означає, що його можна запустити виконання.

По відношенню до директорій можливо:

  1. r - право на читання директорії (можна прочитати вміст директорії, тобто отримати список об'єктів, що знаходяться в ній)
  2. w - на зміну вмісту директорії (можна створювати та видаляти об'єкти в ній, причому, якщо ви маєте право на запис, то видаляти ви зможете навіть ті файли, які вам не належать)
  3. x - на вхід до директорії (воно завжди перевіряється в першу чергу, і навіть якщо ви маєте всі потрібні привілеї на об'єкт, який закопаний глибоко в ланцюжку каталогів, але не маєте атрибут “X” для доступу хоча б до однієї директорії на шляху до цього файліці, то до нього ви так і не проб'єтеся)

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

Привілеї для груп користувачів

Самі привілеї поділяються на три категорії залежно від того, хто звертається до об'єкта:

  • "user" - u (безпосередньо власник файлика)
  • "group" - g (член тієї ж групи, до якої належить власник)
  • «world» - o (всі інші)

Сервер визначає, до якої групи користувачів вас віднести в момент підключення до сервера. Коли ви, наприклад, підключаєтеся до сервера за протоколом FTP, ви входите під своїм ім'ям користувача (і паролем), і тоді сервер відносить вас до групи «user» («u)».

Інші користувачі, які також підключаються FTP до сервера, будуть віднесені до групи «group» («g»), а відвідувач, який приходить до вас на вебсайт, використовуючи свій браузер, потрапляє до групи «world» («o»).

Варіації трьох можливих значень «r», «w» та «x» для трьох категорій «u», «g» та «o» та визначають Chmod до файлів. Якщо не задана якась категорія, вона замінюється знаком дефісом «-». Привілеї вказуються послідовно у заданому порядку:

  1. спочатку права для власника - "u"
  2. потім для групи - "g"
  3. і в кінці - для всіх інших - "o"

Після того, як сервер віднесе відвідувача до певної групи, він надає йому права на дії з об'єктами, після чого відвідувач зможе прочитати, записати або виконати файл (залежно від того, що можна робити з даним об'єктом його групі).

Щоб переглянути вміст каталогу, він повинен мати атрибут читання «r» (для групи, до якої сервер відніс відвідувача). Щоб створити файлик або папку у вже існуючій необхідно, щоб цей каталог мав атрибут на запис «w».

Для наочності давайте розберемо приклад, де власник файлу (user - u) має всі права: на читання, запис в нього і виконання, а всі інші користувачі тільки привілей на читання. Запис таких Chmod буде виглядати так: "rwx r--r--".

Розглянемо її в деталях: "rwx" (цей запис задає права на об'єкт для власника - "u"), "r--" (цей запис задає права на той самий об'єкт, але у випадку, якщо відвідувач віднесений сервером до групи - " g»), «r--» (цей запис визначає привілеї на об'єкт для всіх інших користувачів — «o»).

Чим відрізняються права файлів та папок

Виходить, що існує три групи користувачів та три можливі дії з об'єктами. Ще не заплуталися? Розкладемо все сказане вище по поличках у вигляді табличок. Спочатку наочно подивимося, чим вони відрізняються:

А також табличка, що показує різноманітні комбінації Chmod для різних типів об'єктів:

Нічого не можна робити

Доступ до каталогу та його підкаталогів заборонено

Можна бачити та змінювати вміст

Можна додати, видалити, змінити файл каталогу

Виконати, якщо файлик двійковий

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

Chmod, виражені у цифрах (777, 400, 666, 755, 444)

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

Справді, привілеї так само позначають і цифрами:

  1. r (читати) замінюють на 4
  2. w (запис) замінюють на 2
  3. x (виконання) замінюють на 1
  4. 0 означає - нічого не робити (те, що в буквеному записі позначається дефісом)

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

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

  • 7 (rwx) = 4 + 2 +1 (повні права)
  • 5 (r-x) = 4 + 0 + 1 (читання та виконання)
  • 6 (rw-) = 4 + 2 + 0 (читання та запис)
  • 4 (r--) = 4 + 0 + 0 (тільки читання)
  • і т.д.

У цій таблиці наведено всі можливі комбінації привілеїв, записані в цифровому вигляді:

А тепер давайте розглянемо різні комбінації запису в цифрах, стосовно груп користувачів:

«Власник»

«Група»

«Інші»

виконувати

виконувати

виконувати

Ви самі (крім того випадку, коли отримуєте доступ до сайту по FTP) та всі інші відвідувачі вашого ресурсу, належите до групи “word” (всі інші), тому для роботи з вебсайтом нам потрібно в першу чергу дивитися на останню (третю) цифру цього запису.

Для того, щоб під час роботи користувача з сайтом «запускався файл» скрипта, достатньо буде, щоб на нього були встановлені права, починаючи від «4» (r-- – лише читання) (5,6,7 теж підійдуть, але це буде зайве у плані безпеки).

Для каталогу ж, в якому лежить файлик цього скрипта, потрібно виставити мінімум «5» (r-x - можна зайти в каталог і прочитати його, видаляти або додавати не можна). 7 теж підійде, але теж буде зайвим у плані безпеки.

Якщо потрібно, щоб скрипт не лише читався, а й «записував» якісь дані (наприклад, введені відвідувачем), то мінімальні права на «папку», як і раніше, будуть «5», але для «файлика» вже знадобиться «6» (читати та записувати).

Швидше за все, на сервері, куди ви скопіювали вміст движка вашого сайту, будуть встановлені наступні Chmod до об'єктів:

Якби у вас був ресурс, що складається з одних html сторінок, можна було б все так і залишити. Але сучасні сайти побудовані на двигунах, і там можуть бути об'єкти, в які потрібно робити запис від імені відвідувачів із групи «world» - o (всі інші). Це можуть бути каталоги, які використовуються для кешування сторінок або ті, в які під час роботи з сайтом завантажуватимуться картинки та ін.

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

для всіх директорій, в яких повинні записуватися файли, але не треба їх прати регулярно

для папок, у які повинні записуватися та стиратися файли (наприклад, для кеша)

для простих файлів, що використовуються тільки для читання (.html, .php та ін.)

для файлів, в які може знадобитися запис (наприклад, з базами даних.dat)

Як призначити Chmod за допомогою PHP

Як же це все можна реалізувати на практиці для свого сайту? В принципі все просто. Для призначення прав доступу можна:

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

Вам потрібно буде замінити file_name_x.php і directory_name_x на реальні імена файлів та папок, Чмод до яких ви хочете змінити. Відповідно, для файликів встановиться 666, а для каталогів - 777. Помістіть це PHP код у файлик за допомогою будь-якого текстового блокнота (рекомендую) і дайте йому розширення.php, наприклад, як prava.php.

prava.php скопіюйте FTP в ту директорію, в якій не виходить штатними засобами призначити права доступу. В адресному рядку браузера пропишіть шлях до prava..php) і натисніть "Пуск" або ентер на клавіатурі. Все, тепер привілеї будуть повністю змінені засобами PHP.

Для Joomla, відразу після її встановлення, можна виставити 777 на наступні директорії:

Administrator/backups/ administrator/cache/ administrator/components/ administrator/modules/ administrator/templates/ cache/ components/ images/ images/banners/ images/stories/ language/ language/en-GB/ language/ru-RU/ media/ modules/ plugins/ plugins/content/ plugins/search/ plugins/system/ templates/

Після того, як ви встановите для Джумли всі розширення і зробите остаточні налаштування, Chmod до більшості з наведених вище директорій слід з метою підвищення безпеки сайту повернути до 755. Залишити 777 потрібно буде на каталоги з кешем, з бекапом та з картинками.

Для файлів движка, що знаходяться в корені сайту, крім sitemap.xml, краще встановити 444 (для всіх груп відвідувачів лише читання). На seting.php іноді рекомендують навіть встановити 400.

Такі ж поради можу дати і з приводу встановлення прав доступу на об'єкти в двигунах SMF і WordPress. Бажано, по можливості, залишати на постійній основі для директорій 755(крім обумовлених вище каталогів кеша, картинок, бекапа і може бути ще якихось, при необхідності), а для файликів - 644.

На файли в корені сайту краще встановити 444.

Якщо при роботі з сайтом виникне проблема з неможливістю запису налаштувань в якийсь файлик або неможливістю створити якусь директорію, то можна тимчасово поставити на них великі права (777, наприклад), а потім все повернути назад (від гріха подалі). І в жодному разі не варто залишати(Для простоти роботи з сайтом) необґрунтовано завищені Chmod.

Удачі вам! До швидких зустрічей на сторінках блогу сайт

Вам може бути цікаво

Кодування тексту ASCII (Windows 1251, CP866, KOI8-R) та Юнікод (UTF 8, 16, 32) - як виправити проблему з кракозябрами
OpenServer - сучасний локальний сервер та приклад його використання для встановлення WordPress на комп'ютер
Що таке URL адреси, чим відрізняються абсолютні та відносні посилання для сайту
Пошук Яндекса по сайту та інтернет-магазину
Карта сайту Sitemap у форматі xml для Яндекса та Google - як створити сайтмап у Joomla та WordPress або в онлайн генераторі

Серпень 12

Досить довго плутався у правах, коли тільки почав працювати з лінуксом. Без додаткових пояснень запис у вигляді "rwx rwx r-" виглядає досить незвичайно і незрозуміло для недосвідчених користувачів. Насправді ж, достатньо мати прості таблиці порівнянь, щоб легко розібратися в цьому. Системному адміністратору, і будь-яким фанатам лінукса знати ці значення, Обов'язково!

Отже, права в Linux на будь-який файл або папку завжди призначаються для 3-х груп користувачів:

1. Сам користувач.

2. Група цього користувача(Права будуть дійсні всім користувачів, які входять у цю групу).

3. Всі інші користувачі.

Права можуть бути 3х видів:

r - дозволяє перегляд вмісту w - дозволяє зміну вмісту x - дозволяє запуски виконання

Нижче наведена таблиця, що показує різноманітні комбінації Chmod для різних типів об'єктів:

Таким чином, для кожної групи користувачів може бути обрано один вид доступу.

'Права' 'Файл' 'Папка'
- Нічого не можна робити Доступ до каталогу та його підкаталогів заборонено
r- Можна читати вміст Можна прочитати вміст каталогу
rw- Можна бачити та змінювати вміст Можна додати, видалити, змінити файл каталогу
rwx Читати, змінювати та виконувати файлик Можна читати, видаляти, змінювати файли, зробити каталог поточним, тобто. "увійти" до цього каталогу.
r-x Можна прочитати або виконати Можна зайти до каталогу та прочитати його вміст, видаляти чи додавати файли не можна.
-x Виконати, якщо файлик двійковий Користувач може виконати двійковий файл, про існування якого йому відомо, зайти або прочитати каталог заборонено

Таблиця значень:

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

w (Запис) замінюють на 2

x (Виконання) замінюють на 1

0 означає - нічого не робити (те, що у буквеному записі позначається дефісом)

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

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

7 (rwx) = 4 + 2 +1(Повні права) 5 (r-x) = 4 + 0 + 1 (читання та виконання) 6 (rw-) = 4 + 2 + 0 (читання та запис) 4 (r--) = 4 + 0 + 0(тільки читання)

У таблиці показані можливі комбінації запису в цифрах стосовно груп користувачів:

'Права' 'Власник' ‘Група’ 'Інші'
777 читати
записувати
виконувати
читати
записувати
виконувати
Читати
записувати
виконувати
776 читати
записувати
виконувати
читати
записувати
виконувати
Читати
записувати
775 читати
записувати
виконувати
читати
записувати
виконувати
Читативиконувати
774 читати
записувати
виконувати
читати
записувати
виконувати
Читати
766 читати
записувати
виконувати
читати
записувати
Читати
записувати
655 читати
записувати
читативиконувати Читативиконувати
644 читати
записувати
читати Читати

Сама команда призначення прав виглядає так:

chmod 'числове значення прав' 'папка або файл, на який призначаємо права'

Приклади

chmod 777 script.sh повні права на запис, читання та виконання для всіх груп користувачів для файлу script.sh відповідність: rwxrwxrwx chmod 644 /home/feanor184/script.sh права на читання та запис для власника файлу script.sh, який знаходиться в кореневій домашній директорії користувача feanor184, для інших груп цей файл буде доступний тільки для читання. відповідність: rw-r-r- chmod -R 777 /scripts повні права на папку scripts і на всі вкладені в неї файли для всіх груп користувачів. (ключ -R визначається для призначення прав для вкладених файлів)

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

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

До речі, обов'язково поцікавтеся, перейшовши за наданим посиланням. Але продовжимо. Правила, встановлені в Unix, відрізняються від звичного для багатьох регламенту роботи в операційній системі Windows, де захист у цьому аспекті не такий сильний, що іноді призводить до плачевних наслідків у вигляді зараження системи вірусами.

CHMOD для користувачів та права доступу до файлів та папок (директорій)

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

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

Права доступу відрізняються для різних груп користувачів. При спробі з'єднання сервер визначає, до якої групи зарахувати того чи іншого користувача. Усі користувачі поділяються на три категорії:

  1. "user" - власник файлу
  2. «group» - один із членів групи, до якої належить і власник
  3. "world" - "решта світу", тобто всі інші користувачі

Якщо ви підключаєтеся до сервера і заходите під своїм логіном і паролем, то будете ідентифіковані як "user"(u), якщо хтось інший підключається FTP, то буде визначений як "group"(g), якщо користувач використовує браузер, то потрапляє під категорію "world"(o).

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

  • r (read) – право на читання даних файлу
  • w (wright) - право зміну вмісту (можна зробити лише редагування вмісту - запис, але видаляти не можна)
  • x (eXutive) – право на виконання файлу

Права доступу до папок (директорій):

  • r - право на читання папки (можна отримати вміст директорії, тобто список файлів, що входять до неї)
  • w - право на зміну вмісту (дозвол на створення та видалення об'єктів у директорії, якщо ви маєте право на запис файлів, то можна видаляти навіть ті об'єкти, які вам не належать)
  • x - право доступу в ту чи іншу директорію (особливість тут така, що якщо навіть ви маєте всі необхідні права на файл, що розташований “у глибині” директорій, але не маєте права доступу хоча б до однієї піддиректорії на шляху до цього об'єкта, то не зможете отримати доступ до нього)

Значком дефісу «-» відзначають відсутність будь-яких прав. Усі ці права прописуються адміністратором, який отримує цю можливість у вигляді введення пароля. Якщо ми зможемо встановити максимально можливі обмеження на права доступу CHMOD до тих чи інших файлів ресурсу, зможемо практично виключити небезпеку реалізації своєї “чорної справи” вірусним програмам.

Для наочності розглянемо приклад, коли власник файлу має всі можливі права: на читання, запис і виконання. Користувачі, віднесені до категорії g (group) - лише читання і запис, решта (w) мають лише декларація про читання. Тоді запис CHMOD буде виглядати так: «rwx rw- r- -».

Права доступу до файлів та папок у цифровому виразі: CHMOD (777, 755, 444)

Але найчастіше вебмайстрам у своїй практичній діяльності доводиться призначати ті чи інші права доступу в цифровому виразі:

  • r (читання) - 4
  • w (запис) - 2
  • x (виконання) - 1
  • - (немає прав) - 0

Тепер знову розберемо вищенаведений приклад призначення прав доступу «rwx rw- r- -». Для відображення прав кожного користувача застосовується додавання його прав (r читання + w запис + x виконання). Таким чином частина запису для власника файлу u (user) - "rwx" перетвориться на 7 (4+2+1). Для члена групи g (group) - "rw-" у 6 (4+2+0) та для інших користувачів o (world) - "r- -" у 4 (4+0+0). Як резюме представлю зведену таблицю зі значеннями прав доступу CHMOD, вираженими як у літерах, так і цифрах:


Тепер представлю ще одну таблицю, яка відображає сумарні права CHMOD для всіх груп користувачів у форматі цифр:


Це основні комбінації, які найчастіше використовуються у роботі вебмайстра. Інші формуються за аналогією. Якщо ви є адміністратором сайту або блогу, але працюєте з проектом, не приєднавшись за протоколом FTP, ви також належите до групи “Інші користувачі”. У такому разі при роботі з сайтом у такому режимі потрібно враховувати останню цифру у значенні CHMOD.

Зазвичай на сервері, де знаходяться файли вашого WordPress блогу, на папки виставляються права доступу 755, а на файли, які входять до їх складу, 644. Це справедливо, коли ресурс побудований з використанням HTML-файлів, проте в сучасних умовах для побудови сайту масово використовуються CMS (системи керування контентом), до яких і WordPress. А тут можуть бути об'єкти, в які потрібно робити записи від групи користувачів “world”. Можуть знаходитись папки , в які завантажується контент, у тому числі зображення.

Тому призначення прав CHMOD на ті чи інші файли потрібно диференціювати. Якщо ви входите в управління сайтом по FTP, то можете робити будь-які дії, однак у багатьох випадках ми працюємо зі своїм проектом через , а в цьому випадку можуть виникнути проблеми, якщо права занадто завищені, і, навпаки, якщо права доступу до того чи іншого файлу (папці) занижені, то зростає загроза безпеці. Тому на підставі вищесказаного можна визначити деякі рекомендації щодо практичного застосування CHMOD для блогу WordPress:

777 - для папок, в яких постійно відбувається запис та стирання файлів (для папки кешування)
755 - стосовно папок, в які постійно записуються файли, але не видаляються
666 - для файлів, які потрібно час від часу додавати запис (наприклад, файл.htaccess)
644 - для файлів, які використовуються тільки для читання (.php, .html та ін.)

Як налаштувати права доступу CHMOD за допомогою менеджера FTP FileZilla

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

Тепер докладніше про те, як зробити цю операцію за допомогою . Для цього відкриваємо програму та з'єднуємось за допомогою FTP до сервера хостера. У лівій частині «Видалений сервер»спочатку відзначаємо файли, атрибути яких будуть піддані редагуванню:

І з контекстного меню, викликаного натисканням правої кнопки миші, вибираємо "Права доступу до файлу". Після цього з'явиться діалогове вікно "Змінити атрибути файлу":

Тут надаємо потрібні значення CHMOD для вибраного (або вибраних) файлів. Але це тільки якщо ви вибирали файл або групу файлів. У випадку, якщо ви хочете встановити або змінити значення CHMOD для каталогу (папки) при виборі "Змінити атрибути файлу" з'явиться аналогове вікно, дещо відмінне від розташованого вище, а саме:

Бачите, тут з'явилися додаткові опції. Якщо ви поставите галочку навпроти рядка «Перенаправити у вкладені каталоги»Це означає, що задані права доступу будуть застосовані до вкладених у цю директорію каталогів (папок) або файлів. При зазначеній галочці нижче розташована група налаштувань стане активною і вам потрібно ще вибрати, як потрібно застосовувати налаштування: до всіх файлів і каталогів, тільки до вкладених файлів або тільки до каталогів.