Chmod як на файли поставити права 0644, а на директорії 0755

Що таке Chmod

Навіщо використовувати Chmod

В UNIX-системах - FreeBSD, Ubuntu, Debian, Centos - у кожного файлу і папки (каталогу) є свої власник і група. до яких вони належать. Зроблено це з метою розмежування прав доступу на читання (r, read), запис (w, write) і виконання (x, execute) для різних користувачів: власників (u), користувачів, що входять в групу власника (g) та інших (o ).
Наприклад, якщо ви користуєтеся хостингом, то повинні знати, що ваш сайт фізично знаходиться на одному сервері поруч з безліччю інших сайтів таких же, як ви, користувачів зі своїми сайтами. Щоб ви не змогли перешкодити один одному, у кожної директорії з сайтами свій власник і група користувачів, до яких вони належать.
На shared хостингу про вас подбають професійні системні адміністратори. А якщо ви маєте свій сервер VDS / VPS, то просто зобов'язані стежити за прописаними правами на доступ до файлів. Наприклад, якщо раптом за допомогою вразливості на сайті зловмисник зможе записати backdoor в директорію для завантаження файлів, то з правильно прописаними правами доступу він не зможе завдати великої шкоди файлової системи. Звичайно, в директорії для завантаження файлів має бути примусово відключено виконання скриптів, але це тема вже для іншої розмови.

синтаксис Chmod

У частині [Правила доступу] можуть бути або числові, або символьні значення.
[Файл / Файли / Каталог файлів] - шлях до файлу, файлів або до каталогу файлів, абсолютний або відносний

Ключі -R, -v, -f

  • -R
    Рекурсивне зміна прав доступу для каталогу і вкладених файлів і підкаталогів
  • -v
    Детальний опис застосування зміни прав доступу або неможливості цього дії
  • -f
    Чи не видавати повідомлення про помилку для тих файлів і каталогів, для яких неможливо змінити права доступу

Правила доступу Chmod

Як ви вже знаєте, права доступу визначаються тим, як користувач може взаємодіяти з файлами і каталогами, а саме r - read (читання), w - write (запис), x - execute (виконання).
А також, ви знаєте, що ці права повинні бути прописані для трьох груп користувачів:

  1. Власник файлу або каталогу
  2. Користувачі, що входять в групу власника
  3. решта

Тепер подивимося в таблицю визначення прав

Chmod як на файли поставити права 0644, а на директорії 0755

Три варіанти записи прав користувачів

Тобто, для того, щоб записати правило для власника дати доступ на читання і запис, іншим дати права тільки на читання. ми повинні дати права (rw-r - r--)

Тепер зверніть увагу на стовпець Символьна і Вісімкова. Там візуально показано, що те, що виглядає символьно як (rw-r - r--), в вісімковому вигляді виглядає як (644). Цей вислів і будемо використовувати як числову запис в команді.

Тепер залишилося зібрати все воєдино в один запис. Для прикладу, змінимо права на доступ «всім дати права на читання, власнику право змінювати вміст» для файлу index.php:

Як перевірити права Chmod

де index.php - файл або каталог, який потрібно перевірити

Приклад правильного використання Chmod

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

Нижче приклад того, як в каталозі /var/www/sheensay.ru на всі файли рекурсивно поставити права 0644. а на все каталоги і підкаталоги 0755

Першою командою переходимо в потрібну директорію, далі за допомогою команди find шукаємо потрібний тип: файли -f (files) і каталоги -d (directories) - і запускаємо chmod з потрібними правами.

Після використання Chmod з'явилися помилки

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