Linux serverlarda fayl ruxsatlari saytning xavfsizligi va ishlashida muhim rol o'ynaydi. Noto'g'ri sozlangan ruxsatlar saytni hujumlarga ochiq qiladi yoki, aksincha, saytning normal ishlashini buzadi. Veb-developer va sayt egasi sifatida chmod buyrug'ini va asosiy ruxsat kombinatsiyalarini bilish kerak. Sayt.uz texnik xizmati har kuni mijozlardan ruxsatlar bilan bog'liq savollarni oladi va bu maqola eng ko'p uchraydigan holatlarni qamrab oladi.
Linux ruxsatlari qanday ishlaydi
Har bir fayl yoki papkada uchta foydalanuvchi guruhi uchun ruxsatlar belgilanadi: owner (egasi), group (guruh), others (boshqalar). Har bir guruh uchun uchta amaliyot turi bor: read (o'qish), write (yozish), execute (ishga tushirish). Ruxsatlar raqamli shaklda ifodalanadi: read = 4, write = 2, execute = 1. Bu raqamlar yig'iladi: 7 = 4+2+1 (to'liq ruxsat), 6 = 4+2 (o'qish va yozish), 5 = 4+1 (o'qish va ishga tushirish), 4 = 4 (faqat o'qish). Uch raqam ketma-ket yoziladi, masalan 755 — owner uchun 7, group uchun 5, others uchun 5.
644 — fayllar uchun standart ruxsat
Veb-saytdagi oddiy fayllar (HTML, CSS, JS, PHP, rasmlar) uchun standart ruxsat 644 hisoblanadi. Bu egasiga o'qish va yozish (6) huquqini, guruh va boshqalar uchun esa faqat o'qish (4) huquqini beradi. Bu kombinatsiya tashrif buyuruvchilarga saytni ko'rish imkonini beradi, lekin ular fayllarni o'zgartira olmaydi. Faqat sayt egasi (FTP foydalanuvchi) fayllarni tahrirlash imkoniga ega. Bu eng xavfsiz va standart variant, deyarli barcha veb-fayllar uchun mos keladi. WordPress ham aynan shu ruxsatni tavsiya qiladi.
755 — papkalar va bajariladigan fayllar uchun
Papkalar uchun standart ruxsat 755 bo'lib, egasiga to'liq huquq (7 = o'qish, yozish, ichiga kirish), guruh va boshqalarga esa o'qish va ichiga kirish (5) huquqini beradi. Papkalarda "execute" ruxsati papkaga kirish imkonini beradi, oddiy fayllar uchun esa bu skriptni ishga tushirish degani. Bash scriptlar yoki CGI fayllar uchun ham 755 ishlatiladi. WordPress'da public_html va uning ichidagi barcha papkalar 755 ruxsatga ega bo'lishi kerak. Buni rekursiv ravishda sozlash uchun: find /path/to/site -type d -exec chmod 755 {} \;
777 — xavfli, ishlatish tavsiya etilmaydi
777 ruxsati — barcha foydalanuvchilarga (owner, group, others) to'liq huquq beradi. Bu hech qachon ishlatilmasligi kerak, chunki har qanday foydalanuvchi (jumladan zararli kod) faylni o'zgartirishi mumkin. Ko'pchilik yangi boshlovchilar "saytim ishlamayapti" muammosini hal qilish uchun barcha fayllarni 777 qiladi, bu juda xato. Agar sayt ishlash uchun ko'proq ruxsat kerak bo'lsa, 755 yoki 775 yetarli. 777 ko'pincha hosting kompaniyalari tomonidan tezda zararlanish manbai sifatida belgilanadi va hosting akkaunt to'xtatilishi mumkin.
Maxsus fayllar uchun cheklangan ruxsatlar
Maxfiy ma'lumotlarni saqlovchi fayllar uchun yanada qattiq ruxsatlar kerak. wp-config.php fayli WordPress'da ma'lumotlar bazasi parolini saqlaydi, shuning uchun unga 600 yoki hatto 400 ruxsat berish maqsadga muvofiq. 600 — faqat egasiga o'qish va yozish, boshqalarga hech qanday huquq yo'q. .env, .htpasswd kabi konfiguratsiya fayllari ham xuddi shunday himoyalanishi kerak. Bunday cheklov tashqi tomondan bu fayllarni ko'rib bo'lmasligini ta'minlaydi va xavfsizlikni keskin oshiradi.
Sayt.uz amaliyot
Sayt.uz hosting mijozlari uchun fayl ruxsatlari avtomatik to'g'ri sozlanadi. Mijoz kabinetida "Fayl menejer" bo'limidan har bir fayl yoki papkaning ruxsatini ko'rish va o'zgartirish mumkin. Agar siz tasodifan barcha fayllarni 777 qilib qo'ygan bo'lsangiz, kabinetdagi "Ruxsatlarni tiklash" tugmasi barcha fayllarni 644'ga va papkalarni 755'ga avtomatik qaytaradi. Bu funksiya WordPress, Joomla va boshqa CMS uchun ham to'g'ri ishlaydi. Texnik qo'llab-quvvatlash xizmatimiz har qanday murakkab vaziyatda yordam beradi.
Ruxsatlarni tekshirish va o'zgartirish buyruqlari
SSH orqali ruxsatlarni tekshirish uchun "ls -la" buyrug'i ishlatiladi, bu har bir fayl yoki papkaning ruxsatini ko'rsatadi. Birinchi raqam fayl turini (d = papka, - = oddiy fayl), keyingilari ruxsatlarni anglatadi. Massiv o'zgartirish uchun find buyrug'i juda foydali: barcha fayllarni 644 qilish uchun "find . -type f -exec chmod 644 {} \;" va barcha papkalarni 755 qilish uchun "find . -type d -exec chmod 755 {} \;". Bu ikki buyruq saytni boshqa harakatlarsiz tezda standart ruxsatlarga keltiradi.