Через проблеми з правами на файли та папки можут не працювати скрипти, не видалятися папки, виникати помилка 403 та помилка 500. У цій статті розберемося, які бувають права та як їх змінити.
З проблемою неправильних прав ви можете зіткнутися при переїзді від іншого хостера. Наприклад, ви вирішили купити домен та хостинг у хостинг-провайдера з Windows OS. А потім побачили, що є спеціалізований хостинг для CMS — як раз те, що вам потрібно. І ви вирішили перебратися на хостинг для сайтів Joomla з Linux OS. Ось тут і починаються проблеми. Але не впадайте у відчай, ця стаття допоможе вам у всьому розібратися.
Рядові користувачі Windows не зіткаються з такими нюансами, хоча поняття рівнів доступу існує і в цій ОС, проте використовується рідко. Тому, якщо ви хочете купити виділений сервер з Windows, можете сміливо пропустити цю статтю.
У випадку з Linux справа інакша. UNIX-подібні системи припускають різні рівні доступу та різні права на дані. Файли і папки розраховані на роботу трьох категорій користувачів:
- власника (user);
- групи (group), до якої входять інші користувачі й може входити власник файлу;
- інших (others) – наприклад, відвідувачів сайту, які повинні мати права переглядати контент.
Права доступу користувачів Linux можуть бути такими:
read (4) — читання — право переглянути вміст файлу;
write (2) — редагування — право створювати, зміняти, видаляти файли або директорії;
execute (1) – виконання – право виконувати файли і входити до директорії (перевіряється в першу чергу).
Таким чином, права користувачів можуть розподілятися наступним чином:
Owner | Group | Other |
---|---|---|
r w x | r w x | r w x |
4 2 1 | 4 2 1 | 4 2 1 |
Далі вони підсумовуються, і ми отримуємо число у вже знайомому вигляді 777:
4+2+1 | 4+2+1 | 4+2+1 | |
---|---|---|---|
= | 7 | 7 | 7 |
Права 777 надають всі привілеї користувачеві, групі й іншим користувачам системи.
Зміст
- 1 Які права для файлів і каталогiв використовувати в cPanel
- 2 Як змінити права на файли і каталоги в cPanel
- 3 Як змінювати права на файли і каталоги по FTP
- 4 Як замінити права на файли і каталоги по SSH
Які права для файлів і папок використовувати в cPanel
Стандартні права доступу, актуальні і для нашого віртуального хостингу:
Файли – 644
Папки – 755.
Вони передбачають такі привілеї:
644 = rw- r– r– | |
---|---|
Owner | читання і редагування |
Group | тільки читання |
Others | тільки читання |
755 = rwx r-x r-x | |
---|---|
Owner | читання, редагування та вхід |
Group | тільки читання і вхід |
Others | тільки читання і вхід |
Чому саме 755 і 644
Такі права дозволяють власнику вільно працювати з даними у віртуальному обліковома записі, і при цьому заходи безпеки дотримані, адже редагування і виконання файлів недоступне іншим користувачам сервера, на якому розміщений хостинг.
Робота сайту в більшості випадків пов’язана з використанням різних скриптів, які додають йому інтерактивності. Для запуску скриптів на наших серверах віртуального хостингу реалізований suPHP, який запускає PHP як cgi і виконує скрипт від імені його власника. Тому не потрібно надавати права на запис цілому веб-серверу Apache (777), як це буває на деяких хостингах з mod_PHP. Адже якщо дати максимальні права на системні файли і папки, є ризик, що відкритим доступом скористаються зловмисники.
Робота зі скриптами через suPHP й, відповідно, настройка прав 755 і 644 рекомендується розробниками багатьох cms, наприклад, WordPress і Joomla.
Як змінити права на файли і папки в cPanel
Іноді при зміні хостінгового провайдера і перенесення даних на новий сервер, на даних залишаються старі права. Щоб змінити їх, потрібно:
1. Зайти в cPanel від імені користувача
2. У розділі «Файли» вибрати «Диспетчер файлів» (в WHM недоступний, тільки через сPanel)
3. Перейти в каталог, в якому необхідно змінити права для файлів/папок. Наприклад, в каталог public_html.
4. Змінити права для файлу/каталогу можна двома способами.
Перший спосіб зміни прав з меню Диспетчер Файлів:
1) Виділити потрібну теку/файл і клацнути на права (безпосередньо на цифри, наприклад, 0755):
2) Вписати потрібні права і натиснути Save:
Другий спосіб зміни прав з меню Диспетчер Файлів:
1) Виділити потрібну папку або файл і натиснути на іконку Дозволи (функція доступна також при натисканні правої кнопки миші по файлу/теці).
2) У новому вікні виставити потрібні права і натиснути Change Permissions.
Як змінювати права на файли і каталоги по FTP
Для цієї мети зручно використовувати FTP-клієнт, наприклад FileZilla. При підключенні до хостингового облікового запису відкриється коренева директорія, де після натискання правої кнопки миші з’явиться функція зміни прав доступу. Перевагою даного способу є можливість змінити права рекурсивно — таким чином, зміни застосовуються і для всіх піддиректорій обраної папки.
1. Потрібно підключитися до хостингового облікового запису по FTP;
2. Клацнути по файлу або каталогу правою кнопкою миші і вибрати «Права доступу до файлу»:
3. У новому вікні виставити права. У разі директорії, змінити права можна рекурсивно, вибравши опцію «Перенаправити у вкладені каталоги»:
Як замінити права на файли і папки по SSH
Власники ВПС можуть змінити права у терміналі за допомоги команди «chmod».
- Наприклад, налаштувати права 755 для папки media можно у такий спосіб:
chmod 755 media
Зверніть увагу: зміна відбувається у тій директорії, в якій ви зараз перебуваєте.
- Для зміни прав для всіх файлів поточної директорії використовується символ «зірочка»
chmod 644 *
- Якщо потрібно змінити права на файли у всіх підкаталогах певної теки, допоможе рекурсивна зміна, яку можна виконати за допомоги ключа -R і зірочки:
chmod -R 644 *
Щоби встановити прав на кілька файлів треба перелічити їх назви:
chmod 644 file1.txt file2.txt file3.txt
Цікавитесь, скільки коштує хостинг для сайту? Бажаєте, щоб хостинг і реєстрація доменів дешево обходилися? Наші пропозиції вам не просто сподобаються! Ви зможете суттєво заощадити, вибравши будь-який з наших пакетів послуг.
Читайте також:
- Що таке База даних
- Різниця між HTTP та HTTPS
- Що таке логи сервера