Linux buyruqlari: CHMOD. chmod buyrug'i - ruxsatlarni o'zgartirish Chmod sintaksisi

Fayl ruxsatlarini o'zgartiring

Sintaksis:

chmod[-fv] [-R [-H | -L | -P]] rejim fayli ... chmod[-fv] [-R [-H | -L | -P]] [-a | +a | =a] ACE fayli ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Option] fayl ...

Variantlar:

-R Rekursiya. Papkalar uchun ishlatiladi. Huquqlarni faqat belgilangan ob'ekt uchun emas, balki barcha o'rnatilgan ob'ektlar uchun o'zgartiradi
-R -H Ramziy havolalarga rioya qiling buyruq qatori. Odatiy bo'lib, ramziy havolalar qayta ishlanmaydi
-R -L Barcha ramziy havolalar qayta ishlanadi
-R -P Havola daraxti qayta ishlanmaydi. Standart sozlama.
-v Batafsil. O'zgartirilgan barcha fayllarni ko'rsatadi
-v -v juda batafsil rejim. Eski va yangi ruxsatlar sakkizlik (raqamli) va alifbo tartibida ko'rsatiladi
-f fayl ruxsatlarini o'zgartirishning iloji bo'lmasa, diagnostika xabarlarini ko'rsatmang
ACL_Option(ACL - foydalanuvchilar guruhlari uchun kirishni boshqarish ro'yxatlari) ACL_manipulyatsiya_opsiyalari

Kirish huquqlari:

Kirish huquqlari alifbo kodida yoki sakkizlik sanoq tizimiga asoslangan raqamli ko'rinishda ko'rsatilishi mumkin

Raqamli avtorizatsiya orqali boshqarish:

Huquqlarni boshqarish uchun uchta bit ishlatiladi

  • birinchisi - o'qish huquqi
  • ikkinchisi - yozish huquqi
  • uchinchidan - ijro etish huquqi
asta-sekin Raqam Harf kodi huquqning tavsifi
000 0 huquqlari yo'q
001 1 faqat ijro etish huquqi
010 2 faqat yozing
011 3 yozib olish va ijro etish huquqi
100 4 faqat o'qish
101 5 o'qish va bajarish huquqiga ega
110 6 ijrosiz o'qish va yozish huquqi
111 7 barcha huquqlar

Bunday fayl huquqlari uchta kirish turi uchun belgilanadi:

  • egasi uchun
  • bir guruh uchun
  • boshqalar uchun

Natijada buyruq quyidagicha ko'rinadi:

$ chmod 444 fayl - hamma uchun faqat o'qish uchun ruxsat

$ chmod 755 fayl - egasi barcha huquqlarga ega (7), boshqa foydalanuvchilar faqat o'qish va ishga tushirish (5)

$ chmod 066 fayl - egasining faylga huquqi yo'q (0), qolganlarning hammasi ijrosiz o'qish va yozish huquqlariga ega

Alfavit kirish huquqlaridan foydalangan holda boshqaruv:

Ramziy kod yordamida huquqlarni belgilash formati

[kim...][[+-=][huquqlar...]...][,...]

JSSV belgilar birikmasidir "ugoa" ga ishora qiladi foydalanuvchilar fayl yoki papkaga kirish huquqi o'zgartiriladi

  • u foydalanuvchi egasi hisoblanadi
  • g foydalanuvchi guruhi
  • o boshqa foydalanuvchilar
  • a (barchasi) hamma uchun, ugoga o'xshash

Salomatlik, aziz blog o'quvchilari! Biz hammamiz yoki hosting serverida joylashgan va saytga tegishli bo'lgan papka ruxsatsiz kirishdan imkon qadar himoyalangan bo'lishini xohlaymiz.

Ushbu himoya hosterlarning 90 foizi Unix-ga o'xshash operatsion tizimlardan foydalanishi tufayli ta'minlanadi, unda barcha fayllar va kataloglarga kirish huquqlarini tartibga solish mumkin. Mening bir nechta loyihalarim joylashgan hosting provayderimning serveri bundan mustasno emas.

Aytgancha, taqdim etilgan havolaga o'tish orqali qiziqishni unutmang. Ammo davom etaylik. Unix-da o'rnatilgan qoidalar ko'pchilik o'rganib qolgan operatsiya xonasida ishlash qoidalaridan farq qiladi. Windows tizimi, bu jihatdan himoya unchalik kuchli emas, bu ba'zan tizimning virus infektsiyasi shaklida halokatli oqibatlarga olib keladi.

Foydalanuvchilar uchun CHMOD va fayl va papkalarga (kataloglarga) kirish huquqlari

Unix tomonidan boshqariladigan tizimlarda vaziyat boshqacha va uzoq vaqt davomida mashaqqatli mehnatingiz natijalaridan foydalanishga harakat qiladigan yomon odamlarning hayotini jiddiy ravishda murakkablashtirish imkoniyati mavjud. Ya'ni, CHMOD kirish huquqlarini to'g'ri sozlang. Bizning vazifamiz fayl va papkalarga kirish uchun minimal huquqlarni berishdir, bu esa saytning to'g'ri ishlashiga xalaqit bermaydi.

Qabul qiling, jiddiy mustahkamlash imkoniyatidan foydalanmaslik gunohdir. Albatta, bu holda, ba'zi fayllarni tahrirlash biroz ko'proq vaqt talab etadi, lekin bu erda siz tanlashingiz kerak: yoki tizim xavfsizligini optimallashtirish, yoki... Quyida men CHMOD (kirish huquqlari) haqidagi ma'lumotlarni tizimlashtirishga harakat qilaman, chunki u erda Webmaster bilishi kerak bo'lgan bir nechta nuanslar. Shunday ekan, boshlaylik.

Kirish huquqlari turli foydalanuvchilar guruhlari uchun farq qiladi. Ulanishga urinilganda, server ma'lum bir foydalanuvchini qaysi guruhga tayinlashni aniqlaydi. Barcha foydalanuvchilar uch toifaga bo'lingan:

  1. "foydalanuvchi" - fayl egasi
  2. "guruh" - egasi tegishli bo'lgan guruh a'zolaridan biri
  3. "dunyo" - "dunyoning qolgan qismi", ya'ni boshqa barcha foydalanuvchilar

Agar siz serverga foydalanuvchi nomi va parolingizdan foydalanib ulansangiz va tizimga kirsangiz, siz sifatida aniqlanasiz "foydalanuvchi"(u) agar kimdir FTP orqali ulansa, u sifatida aniqlanadi "guruh"(g), agar foydalanuvchi brauzerdan foydalansa, u toifaga kiradi "dunyo"(o).

Endi fayllar va kataloglarga CMOD kirish huquqlari haqida. Aslida, ular bir oz farq qiladi, garchi belgilar bir xil bo'lsa ham. Fayl ruxsatlari:

  • r (o'qish) - fayl ma'lumotlarini o'qish huquqi
  • w (rayt) - tarkibni o'zgartirish huquqi (siz faqat tarkibni tahrirlashingiz mumkin - yozish, lekin o'chira olmaysiz)
  • x (eXutive) - faylni bajarish huquqi

Papkalarga (kataloglarga) kirish huquqlari:

  • r - papkani o'qish huquqi (siz katalog tarkibini, ya'ni unga kiritilgan fayllar ro'yxatini olishingiz mumkin)
  • w - tarkibni o'zgartirish huquqi (katalogda ob'ektlarni yaratish va o'chirish uchun ruxsat; agar siz fayllarni yozish huquqiga ega bo'lsangiz, u holda siz hatto sizga tegishli bo'lmagan ob'ektlarni ham o'chirishingiz mumkin)
  • x - ma'lum bir katalogga kirish huquqi (bu erda o'ziga xoslik shundaki, siz kataloglarda "chuqur" joylashgan faylga barcha kerakli huquqlarga ega bo'lsangiz ham, lekin yo'lda kamida bitta kichik katalogga kirish huquqiga ega bo'lmasangiz ham. bu ob'ektga kirsangiz, unga kira olmaysiz)

Defis "-" hech qanday huquqlarning yo'qligini bildiradi. Bu huquqlarning barchasi administrator tomonidan tayinlanadi, u parolni kiritish orqali ushbu imkoniyatni qo'lga kiritadi. Agar biz CHMOD-ning ma'lum resurs fayllariga kirish huquqiga maksimal mumkin bo'lgan cheklovlarni o'rnata olsak, virus dasturlari o'zlarining "iflos ishlarini" amalga oshirish xavfini amalda yo'q qilishimiz mumkin.

Aniqlik uchun u faylining egasi barcha mumkin bo'lgan huquqlarga ega bo'lgan misolni ko'rib chiqaylik: o'qish, yozish va bajarish. g (guruh) toifasiga tayinlangan foydalanuvchilar faqat o'qish va yozish huquqiga ega, qolganlari (w) faqat o'qish huquqiga ega. Keyin CHMOD yozuvi quyidagicha ko'rinadi: “rwx rw- r- -”.

Raqamli shaklda fayl va papkalarga kirish huquqlari: CHMOD (777, 755, 444)

Ammo ko'pincha veb-ustalar o'zlarining amaliy faoliyatida raqamli shartlarda ma'lum kirish huquqlarini belgilashlari kerak:

  • r (o'qish) - 4
  • w (rekord) - 2
  • x (ishlash) - 1
  • - (huquqlar yo'q) - 0

Endi "rwx rw- r- -" kirish huquqlarini belgilash uchun yuqoridagi misolni yana bir bor ko'rib chiqamiz. Har bir foydalanuvchining huquqlarini ko'rsatish uchun uning huquqlarini qo'shish ishlatiladi (r o'qish + w yozish + x bajarish). Shunday qilib, u (foydalanuvchi) fayl egasi uchun yozuvning bir qismi - “rwx” 7 (4+2+1) ga aylanadi. G guruhi a'zosi uchun (guruh) - 6 da (4+2+0) "rw-" va boshqa foydalanuvchilar uchun o (dunyo) - "r- -" 4 (4+0+0). Xulosa sifatida, bu erda harflar va raqamlar bilan ifodalangan CHMOD kirish huquqlari qiymatlari bilan umumiy jadval mavjud:


Endi men barcha foydalanuvchilar guruhlari uchun umumiy CHMOD huquqlarini raqamli formatda aks ettiruvchi yana bir jadvalni taqdim etaman:


Bular vebmaster ishida eng ko'p ishlatiladigan asosiy kombinatsiyalar. Qolganlari analogiya orqali tuzilgan. Agar siz sayt yoki blog ma'muri bo'lsangiz, lekin loyiha bilan FTP protokoli orqali ulanmasdan ishlayotgan bo'lsangiz, siz "Boshqa foydalanuvchilar" guruhiga ham tegishlisiz. Bunday holda, ushbu rejimda sayt bilan ishlashda siz CHMOD qiymatidagi oxirgi raqamni hisobga olishingiz kerak.

Odatda fayllaringiz joylashgan serverda WordPress blogi, papkalar 755 kirish huquqiga ega va ularning bir qismi bo'lgan fayllar 644 ga o'rnatiladi. Bu resurs HTML-fayllar yordamida qurilganda to'g'ri bo'ladi, ammo zamonaviy sharoitlarda CMS (kontentni boshqarish tizimlari) ni yaratish uchun keng qo'llaniladi. veb-sayt, jumladan WordPress. Va bu erda "dunyo" foydalanuvchi guruhi tomonidan yozilishi kerak bo'lgan ob'ektlar bo'lishi mumkin. Tarkib, jumladan, tasvirlar yuklab olinadigan papkalar bo'lishi mumkin.

Shuning uchun ma'lum fayllarga CHMOD huquqlarini tayinlash farqlanishi kerak. Agar siz FTP orqali sayt boshqaruviga kirsangiz, har qanday harakatlarni amalga oshirishingiz mumkin, ammo ko'p hollarda biz loyihamiz bilan ishlaymiz va bu holda huquqlar juda yuqori bo'lsa va aksincha, bittasiga kirish huquqi bo'lsa, muammolar paydo bo'lishi mumkin. yoki boshqa fayl (papka) kam baholansa, xavfsizlik tahdidi kuchayadi. Shuning uchun, yuqoridagilarga asoslanib, biz uchun ba'zi tavsiyalarni aniqlashimiz mumkin amaliy qo'llash WordPress blogi uchun CHMOD:

777 - fayllar doimiy ravishda yoziladigan va o'chiriladigan papkalar uchun (keshlash papkasi uchun)
755 - fayllar doimiy ravishda yoziladigan, ammo o'chirilmaydigan papkalarga nisbatan
666 - vaqti-vaqti bilan yozuv qo'shishingiz kerak bo'lgan fayllar uchun (masalan, .htaccess fayli)
644 - faqat o'qish uchun mo'ljallangan fayllar uchun (.php, .html va boshqalar)

FileZilla FTP menejeri yordamida CHMOD ruxsatlarini qanday sozlash mumkin

Agar resurs bilan ishlashda ba'zi o'zgarishlar qilish kerak bo'lsa, lekin tahrirlash taqiqlanganligi sababli buni amalga oshirish mumkin bo'lmasa, siz FTP orqali hosting serveriga ulanishingiz va kirish huquqlarini 777 ga o'zgartirishingiz kerak. Biroq, faylga o'zgartirishlar kiritilgandan so'ng. , avvalgi CHMOD ni qayta o'rnatish tavsiya etiladi.

Keling, ushbu operatsiyani qanday bajarish haqida ko'proq bilib olaylik. Buning uchun dasturni oching va FTP orqali hosting serveriga ulaning. Chap tomonda « Masofaviy server» Birinchidan, atributlari tahrirlanadigan fayllarni belgilaymiz:

Va sichqonchaning o'ng tugmachasini bosish natijasida paydo bo'lgan kontekst menyusidan tanlang "Fayl ruxsatlari". Shundan so'ng dialog oynasi paydo bo'ladi "Fayl atributlarini o'zgartirish":

Bu erda biz tanlangan (yoki tanlangan) fayllar uchun kerakli CHMOD qiymatlarini tayinlaymiz. Ammo bu faqat fayl yoki fayllar guruhini tanlagan bo'lsangiz. Agar siz katalog (papka) uchun CHMOD qiymatlarini o'rnatmoqchi yoki o'zgartirmoqchi bo'lsangiz, "Fayl atributlarini o'zgartirish" ni tanlaganingizda, yuqorida joylashganidan biroz farq qiladigan analog oyna paydo bo'ladi, xususan:

Qarang, ular shu erda paydo bo'ldi qo'shimcha sozlamalar. Agar siz chiziq yonidagi katakchani belgilasangiz "Subkataloglarga yo'naltirish", bu belgilangan kirish huquqlari ushbu katalogga joylashtirilgan kataloglar (papkalar) yoki fayllarga qo'llanilishini anglatadi. Quyidagi katakcha belgilansa, joylashgan sozlamalar guruhi faollashadi va siz sozlamalar qanday qo'llanilishini ham tanlashingiz kerak bo'ladi: barcha fayllar va kataloglarga, faqat biriktirilgan fayllarga yoki faqat kataloglarga.

Bugun men fayllar va papkalarga kirish huquqlari haqida gapirmoqchiman (o'qing). Ushbu kontseptsiya veb-mastering dunyosiga Linux (Unix) dan kelgan. o'xshash tizimlar, qaysi hosting saytlarining aksariyati ishlaydi.

Va Chmod nomining o'zi Linuxda turli xil ob'ektlarga kirish huquqlarini belgilash imkonini beruvchi dasturning nomi. Sizning veb-saytingiz u yoki bu o'zgaruvchan Linux (Unix) bilan ishlaydigan serverda o'rnatilganligi sababli, veb-saytingiz ob'ektlari bilan ishlash Linux (Unix) operatsion tizimlari tomonidan o'rnatilgan qoidalarga bo'ysunadi.

Windows-da deyarli barcha fayllar maksimal ruxsatlarga o'rnatiladi, bu aslida bizning kompyuterlarimizda ustunlikka olib keladi, shuningdek, o'z navbatida antivirus kompaniyalari egalarini ochlikdan o'lishdan saqlaydi. Linux (Unix) tizimlarida vaziyat boshqacha - hamma narsa murakkabroq, lekin ayni paytda xavfsizroq. Agar siz hamma narsani to'g'ri va malakali tarzda sozlasangiz, veb-saytingiz xavfsizligini sezilarli darajada oshirishingiz mumkin.

Fayl va papkalarga kirish huquqlarining asosiy tushunchalari

Agar siz hamma narsani tasodifga qoldirib, kerakli imtiyozlarni o'rnatish bilan ovora bo'lmasangiz, sizning resursingiz buzilgan yoki zararli kodni yuqtirish ehtimoli juda yuqori bo'ladi. Agar siz barcha ma'lumotlaringizni bajargan bo'lsangiz yaxshi, lekin bo'lmasa nima bo'ladi ?!

Shuning uchun, kechiktirmasdan, darhol yaxshiroqdir uzun quti, Chmod-ni minimalizm printsipi asosida dvigatelingizning barcha muhim ob'ektlari uchun sozlang va o'zgartiring. Bular. ob'ektlarga veb-saytning to'g'ri ishlashi uchun zarur bo'lgan minimal huquqlarni berish.

Biz aynan nimani va qanday qilib o'rnatayotganimizni tushunish uchun avvalo masalaning mohiyatini tushunib olaylik. Shunday qilib, keling, boshlaylik. Kirish huquqlari fayllar va kataloglar uchun ajratilgan. Ular bir xil tarzda belgilanadi, lekin bir oz boshqacha narsalarni anglatadi.

O'z navbatida, fayllarga nisbatan quyidagilar mumkin:

  • r - ma'lumotlarni o'qish huquqi.
  • w - tarkibni o'zgartirish uchun (yozish - faqat tarkibni o'zgartirish, lekin o'chirish emas).
  • x - faylni bajarish uchun.

Keling, faylni bajarish imkoniyatlarini batafsil ko'rib chiqaylik. Gap shundaki, Linuxda har qanday faylni bajarish mumkin. Uning ijro etuvchi bo'lishi uning kengayishi bilan belgilanmaydi (kengaytma tushunchasi mavjud emas fayl tizimi Unix) va kirish huquqi bilan Chmod. Agar faylda "X" ijro huquqi o'rnatilgan bo'lsa, bu uning bajarilishi mumkinligini anglatadi.

Kataloglarga nisbatan quyidagilar mumkin:

  1. r - katalogni o'qish huquqi (siz katalog tarkibini o'qishingiz mumkin, ya'ni unda joylashgan ob'ektlar ro'yxatini olishingiz mumkin)
  2. w - katalog tarkibini o'zgartirish (siz undagi ob'ektlarni yaratishingiz va o'chirishingiz mumkin, agar siz yozishga ruxsatingiz bo'lsa, hatto sizga tegishli bo'lmagan fayllarni ham o'chirishingiz mumkin)
  3. x - katalogga kirish uchun (u har doim birinchi bo'lib tekshiriladi va siz kataloglar zanjirida chuqur joylashgan ob'ektda barcha kerakli imtiyozlarga ega bo'lsangiz ham, lekin kamida bitta katalogga kirish uchun "X" atributiga ega bo'lmasangiz ham. faylga olib boradigan yo'l, keyin siz unga hech qachon erisha olmaysiz)

Linux tizimlarida bularning barchasi kompyuterning asosiy administratori tomonidan taqsimlanadi, u parolni kiritish orqali unga kirish huquqiga ega. Va agar ko'pchilik ob'ektlar faqat o'qish huquqiga ega bo'lsa, unda viruslar bunday kompyuterda deyarli hech narsa qila olmaydi, chunki ular o'zlarini u erda yoza olmaydilar va keyin bajarilmaydilar. Aynan shu natijaga bizning saytimiz ob'ektlariga kerakli Chmodni o'rnatish orqali erishishimiz kerak.

Foydalanuvchi guruhlari uchun imtiyozlar

Imtiyozlarning o'zi ob'ektga kim kirishiga qarab uch toifaga bo'linadi:

  • "foydalanuvchi" - u (to'g'ridan-to'g'ri fayl egasi)
  • "guruh" - g (egasi bilan bir guruh a'zosi)
  • "dunyo" - o (boshqa barcha)

Serverga ulanganingizda sizni qaysi foydalanuvchi guruhiga tayinlash kerakligini server belgilaydi. Masalan, siz FTP orqali serverga ulansangiz, foydalanuvchi nomingiz (va parolingiz) bilan tizimga kirasiz va keyin server sizni “foydalanuvchi” (“u)” guruhiga tayinlaydi.

FTP orqali serverga ulangan boshqa foydalanuvchilar esa “guruh” (“g”) guruhiga, o‘z brauzeri orqali veb-saytingizga kelgan mehmon esa “world” (“o”) guruhiga tayinlanadi. .

Uchta "u", "g" va "o" toifalari uchun uchta mumkin bo'lgan "r", "w" va "x" qiymatlarining o'zgarishi va Chmodni fayllarga aniqlang. Agar toifa ko'rsatilmagan bo'lsa, u defis "-" bilan almashtiriladi. Imtiyozlar berilgan tartibda ketma-ket belgilanadi:

  1. birinchi navbatda egasi uchun huquqlar - "u"
  2. keyin guruh uchun - "g"
  3. va oxirida - hamma uchun - "o"

Server tashrif buyuruvchini ma'lum bir guruhga tayinlagandan so'ng, u unga ob'ektlarda harakat qilish huquqini beradi, shundan so'ng tashrif buyuruvchi faylni o'qishi, yozishi yoki bajarishi mumkin bo'ladi (uning guruhi ushbu ob'ekt bilan nima qilishga ruxsat berilganiga qarab) .

Katalog tarkibini ko'rish uchun u "r" o'qish atributiga ega bo'lishi kerak (server tashrif buyuruvchini tayinlagan guruh uchun). Mavjud faylda fayl yoki jild yaratish uchun sizga bu kerak mavjud katalog"w" yozuvi uchun atributga ega edi.

Aniqlik uchun fayl egasi ("foydalanuvchi" - "u") barcha huquqlarga ega bo'lgan misolni ko'rib chiqaylik: o'qish, unga yozish va bajarish, qolgan barcha foydalanuvchilar esa faqat o'qish huquqiga ega. Bunday Chmod uchun yozuv quyidagicha ko'rinadi: "rwx r-- r--".

Keling, uni batafsil ko'rib chiqaylik: "rwx" (bu yozuv egasi uchun ob'ektga bo'lgan huquqlarni belgilaydi - "u"), "r--" (bu yozuv bir xil ob'ektga bo'lgan huquqlarni belgilaydi, lekin agar tashrif buyuruvchi tayinlangan bo'lsa. server tomonidan bir guruhga - "g"), "r--" (bu yozuv boshqa barcha foydalanuvchilar uchun ob'ektga imtiyozlarni o'rnatadi - "o").

Fayl va papka ruxsatlari o'rtasidagi farq nima?

Ma'lum bo'lishicha, uchta foydalanuvchi guruhi va uchtasi mavjud mumkin bo'lgan harakatlar ob'ektlar bilan. Hali adashyapsizmi? Keling, yuqorida aytilganlarning barchasini planshetlar shaklida javonlarga qo'yamiz. Birinchidan, ularning bir-biridan qanday farq qilishini ko'rib chiqaylik:

Shuningdek, turli xil Chmod kombinatsiyalarini ko'rsatadigan belgi turli xil turlari ob'ektlar:

Hech narsa qilib bo'lmaydi

Katalogga va uning pastki kataloglariga kirish taqiqlangan

Kontentni ko'rish va o'zgartirish mumkin

Siz katalog faylini qo'shishingiz, o'chirishingiz, o'zgartirishingiz mumkin

Agar fayl ikkilik bo'lsa, bajaring

Foydalanuvchi qila oladi ikkilik fayl mavjudligi haqida o'zi bilgan, katalogga kirish yoki o'qish taqiqlanadi

Chmod raqamlar bilan ifodalangan (777, 400, 666, 755, 444)

Ko'rishingiz mumkinki, biz kirish huquqlarini tavsiflash uchun lotin harflari va tirelardan foydalangan holda yozuvlardan foydalanamiz, lekin siz allaqachon shunday faktga duch kelgansiz. Chmod odatda raqamli tarzda belgilanadi, masalan, taniqli kombinatsiya: 777, bu hamma narsaga imkon beradi.

Darhaqiqat, imtiyozlar raqamlar bilan ham ko'rsatilgan:

  1. r (o'qish) 4 bilan almashtiriladi
  2. w (rekord) 2 bilan almashtirildi
  3. x (bajarish) 1 bilan almashtiriladi
  4. 0 hech narsa qilmaslikni anglatadi (alifbo yozuvida tire bilan belgilanadi)

Keling, biroz oldinroq bergan yozuv misoliga qaytaylik: rwx r-- r-- . Agar biz yuqorida tavsiflangan qoidaga muvofiq harflar va defislarni undagi raqamlar bilan almashtirsak va bir vaqtning o'zida har bir uchlikdagi raqamlarni qo'shsak, biz ushbu yozuvning raqamli shaklini olamiz: 744.

Bular. Ma'lum bo'lishicha, bu raqamlar yig'indisi fayllar yoki papkaga nisbatan Chmodni ko'rsatadi. Masalan:

  • 7 (rwx) = 4 + 2 +1 (to'liq huquqlar)
  • 5 (r-x) = 4 + 0 + 1 (o'qish va bajarish)
  • 6 (rw-) = 4 + 2 + 0 (o'qish va yozish)
  • 4 (r--) =4 + 0 + 0 (faqat o'qish)
  • va hokazo.

Ushbu jadvalda raqamli ravishda qayd etilgan barcha mumkin bo'lgan imtiyozlar kombinatsiyasi ko'rsatilgan:

Keling, foydalanuvchilar guruhlariga nisbatan raqamlardagi belgilarning turli kombinatsiyalarini ko'rib chiqaylik:

"Egasi"

"Guruh"

"Dam olish"

bajarish

bajarish

bajarish

Siz o'zingiz (saytga FTP orqali kirganingizdan tashqari) va sizning resursingizga tashrif buyuruvchilarning barchasi "so'z" guruhiga tegishlisiz (boshqalar), shuning uchun veb-sayt bilan ishlash uchun biz birinchi navbatda oxirgi (uchinchi) ga qarashimiz kerak. ) ushbu yozuvning raqami.

Foydalanuvchi sayt bilan ishlaganda skript fayli “ishga tushirilishi” uchun unga bo‘lgan huquqlar “4” (r-- – faqat o‘qish) dan boshlab o‘rnatilgan bo‘lsa kifoya (5,6,7). ham qiladi, lekin bu xavfsizlik nuqtai nazaridan ortiqcha bo'ladi).

Ushbu skript fayli joylashgan katalog uchun siz minimal qiymatni "5" ga qo'yishingiz kerak (r-x - siz katalogga borib, uning mazmunini o'qishingiz mumkin, siz o'chira olmaysiz yoki qo'sha olmaysiz). 7 ham ishlaydi, lekin u xavfsizlik nuqtai nazaridan ham ortiqcha bo'ladi.

Agar sizga skript nafaqat o'qish, balki ba'zi ma'lumotlarni (masalan, tashrif buyuruvchi tomonidan kiritilgan) "yozish" uchun kerak bo'lsa, unda "papka" uchun minimal ruxsatlar hali ham "5" bo'ladi, ammo "fayl" uchun siz allaqachon "6" kerak bo'ladi (o'qish va yozish).

Ehtimol, veb-saytingiz dvigatelining tarkibini ko'chirgan serverda quyidagi Chmodlar ob'ektlarga o'rnatiladi:

Agar sizda faqat bittadan iborat resurs bo'lsa html sahifalar, keyin biz hamma narsani shunday qoldirishimiz mumkin edi. Ammo zamonaviy saytlar dvigatellarda qurilgan va "dunyo" guruhidan tashrif buyuruvchilar nomidan yozilishi kerak bo'lgan ob'ektlar bo'lishi mumkin - o (boshqalar). Bular sahifalarni keshlash uchun foydalaniladigan kataloglar bo'lishi mumkin yoki siz sayt bilan ishlashda rasmlar va boshqalar yuklanadi.

O'z-o'zidan ma'lumki, agar siz saytga FTP orqali kirsangiz, ushbu fayllar yoki kataloglarga yozishingiz mumkin, ammo oddiy foydalanuvchi sifatida veb-interfeys bilan ishlashda sizda muammolar paydo bo'lishi mumkin. Shuning uchun muayyan huquqlarni belgilashga tanlab yondashish kerak:

fayllar yozilishi kerak bo'lgan, lekin muntazam ravishda o'chirilishi shart bo'lmagan barcha kataloglar uchun

fayllar yozilishi va o'chirilishi kerak bo'lgan papkalar uchun (masalan, kesh uchun)

Uchun oddiy fayllar, faqat oʻqish uchun (.html, .php va boshqalar)

yozilishi kerak bo'lgan fayllar uchun (masalan, .dat ma'lumotlar bazalari bilan)

PHP yordamida Chmodni qanday tayinlash mumkin

Bularning barchasi veb-saytingiz uchun amalda qanday amalga oshirilishi mumkin? Aslida, hamma narsa oddiy. Kirish huquqlarini belgilash uchun siz:

Ammo agar siz Chmod-ni biron bir faylga o'zgartira olmasangiz, ularni PHP vositalaridan foydalanib belgilashga urinib ko'rishingiz mumkin. Siz quyidagi koddan foydalanishingiz mumkin:

Siz modni o'zgartirmoqchi bo'lgan fayl va papkalarning haqiqiy nomlari bilan file_name_x.php va directory_name_x ni almashtirishingiz kerak bo'ladi. Shunga ko'ra, fayllar uchun u 666 ga, kataloglar uchun esa 777 ga o'rnatiladi. Ushbu PHP kodini istalgan matnli bloknot yordamida faylga joylashtiring (tavsiya qilaman) va unga .php kengaytmasini bering, masalan, prava.php kabi.

prava.php ni FTP orqali u ishlamayotgan katalogga nusxalash muntazam vositalar kirish huquqlarini tayinlash. IN manzil satri brauzerda prava..php ga yoʻl yozing) va “Start” tugmasini bosing yoki klaviaturada kiriting. Hammasi, endi imtiyozlar PHP yordamida butunlay o'zgartiriladi.

Joomla uchun uni o'rnatgandan so'ng darhol 777 ni quyidagi kataloglarga o'rnatishingiz mumkin:

Administrator/zaxira nusxalari/administrator/kesh/administrator/komponentlar/administrator/modullar/administrator/shablonlar/kesh/komponentlar/rasmlar/rasmlar/bannerlar/rasmlar/hikoyalar/til/til/en-GB/ language/ru-RU/ media/ modullar / plaginlar / plaginlar / kontent / plaginlar / qidiruv / plaginlar / tizim / andozalar /

Joomla uchun barcha kengaytmalarni o'rnatganingizdan va yakuniy sozlamalarni amalga oshirganingizdan so'ng, sayt xavfsizligini oshirish uchun Chmod yuqoridagi kataloglarning ko'pchiligiga amal qiladi. 755 sahifasiga qaytish. Kesh, zaxira va rasmlarga ega kataloglar uchun 777 ni qoldirishingiz kerak bo'ladi.

Saytning ildizida joylashgan vosita fayllari uchun, sitemap.xml dan tashqari, 444 (barcha tashrif buyuruvchilar guruhlari uchun faqat o'qish uchun) ni o'rnatish yaxshiroqdir. Setting.php da ba'zan uni 400 ga o'rnatish tavsiya etiladi.

Men SMF va WordPress dvigatellarida ob'ektlarga kirish huquqlarini o'rnatish bo'yicha aynan bir xil maslahat bera olaman. Iloji bo'lsa, uni doimiy ravishda tark etish tavsiya etiladi. 755 kataloglar uchun(yuqorida aytib o'tilgan kesh, rasmlar, zaxira kataloglari va kerak bo'lganda boshqalardan tashqari) va fayllar uchun - 644.

Saytning ildizidagi fayllarga 444 ni o'rnatish yaxshiroqdir.

Agar sayt bilan ishlashda biron bir faylga sozlamalarni yozish yoki biron bir katalog yaratish imkoni bo'lmaganda muammo yuzaga kelsa, siz ularga vaqtincha katta huquqlarni o'rnatishingiz mumkin (masalan, 777) va keyin hamma narsani qaytarishingiz mumkin. orqaga (xavfsiz bo'lish uchun). Va hech qanday holatda qolmasligi kerak(sayt bilan ishlash qulayligi uchun) Chmodni asossiz ravishda oshirdi.

Omad sizga! Tez orada blog sayti sahifalarida ko'rishguncha

Sizni qiziqtirishi mumkin

Matnni kodlash ASCII (Windows 1251, CP866, KOI8-R) va Unicode (UTF 8, 16, 32) - krakerlar bilan muammoni qanday hal qilish mumkin
OpenServer - zamonaviy mahalliy server va undan WordPress-ni kompyuterga o'rnatish uchun foydalanish misoli
URL manzillari nima, sayt uchun mutlaq va nisbiy havolalar qanday farq qiladi?
Sayt va onlayn do'kon bo'yicha Yandex qidiruvi
Sayt xaritasi Yandex va Google uchun xml formatidagi sayt xaritasi - Joomla va WordPress-da yoki onlayn generatorda qanday qilib sayt xaritasini yaratish

(Fayl ruxsatlarining boshlang'ich qiymati rwxrwxrwx - hamma uchun to'liq kirish) Barcha foydalanuvchilar va guruhlar uchun faylni bajarish uchun ruxsatni olib tashlash:

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

Guruh va boshqa foydalanuvchilar tomonidan faylga yozishni bekor qilish uchun:

$ chmod go-w fayli (rw-r–r–)

Egasining faylni bajarishga ruxsati:

$ chmod u+x fayli (rwxr–r–)

Guruhga fayl egasi bilan bir xil ruxsatlarni berish:

$ chmod g=u fayli (rwxrwxr–)

Guruh foydalanuvchilari va boshqa foydalanuvchilar tomonidan faylga oʻqish va yozishni bekor qilish:

$ chmod go-rw fayli (rwx–x-)

Mutlaq rejimda chmod buyrug'idan foydalanishga misollar

Barcha foydalanuvchilar va guruhlar tomonidan fayl faylini o'qish, yozish, bajarish uchun ruxsat (to'liq nazorat):

$ chmod 777 fayl (rwxrwxrwx)

Egasi, guruhi va boshqa foydalanuvchilar uchun o‘qish va yozish ruxsatlarini o‘rnating:

$ chmod 666 fayl (rw-rw-rw-)

Egasi va guruh va boshqa foydalanuvchilar uchun faqat o'qish uchun faylga to'liq kirishni sozlash:

$ chmod 744 fayl (rwxr–r–)

Fayl egasi uchun faylga to'liq kirishni o'rnatish va guruh va boshqa foydalanuvchilarga kirishni rad etish:

$ chmod 700 fayl (rwx--)

Fayl egasi uchun o'qish va yozish, guruh va boshqalar uchun faqat o'qish uchun ruxsatlarni o'rnatish:

$ chmod 644 fayl (rw-r–r–)

Fayl egasi va uning guruhi uchun o'qish va yozish ruxsatlarini o'rnatish va boshqalarga kirishni taqiqlash:

$ chmod 640 fayl (rw-r-–)

Barcha foydalanuvchilar va guruhlar uchun o'qish ruxsati bilan faylga kirishni sozlash:

$ chmod 444 fayl (r–r–r–)

O'qish, yozish, egasi tomonidan bajarish va o'qish, guruh tomonidan bajarish va boshqalar uchun fayl ruxsatlari:

$ chmod 755 fayl (rwxr-xr-x)

Foydalanuvchi va boshqalar uchun faylni o‘qish va bajarishga ruxsat berish va guruhga kirishni taqiqlash:

$ chmod 505 fayl (r-x-r-x)

Agar joriy katalogdagi barcha fayllarga ruxsat berishni istasangiz, tayinlagan ruxsatlardan keyin * (yulduzcha) qo'ying:

$chmod 755 *

Ushbu buyruqni bajarish natijasida egasi joriy katalogdagi barcha fayllarga to'liq huquqlarga (o'qish, o'zgartirish, bajarish), guruh va boshqa foydalanuvchilar esa faqat o'qish va bajarish huquqiga ega bo'ladi. Agar harakatlaringiz rekursiv (shu jumladan barcha kichik kataloglar) tarqalishini istasangiz -R variantidan foydalaning:

$ chmod -R 777 *

Yuqoridagi buyruqni bajarish natijasi joriy katalogning barcha pastki kataloglarini rekursiv ravishda "o'tish" va barcha foydalanuvchilar va guruhlarga to'liq kirish huquqini belgilashdir. Ushbu maqolada chmod buyrug'idan foydalanishning bir nechta misollari keltirilgan. Agar siz Linuxda chmod buyrug'i va ruxsatnomalari haqida ko'proq bilmoqchi bo'lsangiz, ushbu maqolani ko'rib chiqing.

Faqat kataloglar uchun ruxsatlarni o'zgartirish (rekursiv)

$ toping /path/to/base/dir -type d -exec chmod 755() +

$ chmod 755 $(toping /yo'l/to/base/dir-turi d)

$ chmod 755 ` /path/to/base/dir -turi d ni toping

$ toping /path/to/base/dir -turi d -print0 | xargs -0 chmod 755

Faqat fayllar uchun ruxsatlarni o'zgartirish (rekursiv)

$ toping /path/to/base/dir -type f -exec chmod 644() +

$ chmod 644 $(/yoʻl/to/base/dir-f turini toping)

$ chmod 0755 `topish ./ -f turi

$ toping /path/to/base/dir -turi f -print0 | xargs -0 chmod 644

Papkalar va fayllar uchun Chmod sintaksisi

Keling, aniq nimani va qanday sozlashimizni tushunish uchun avval Chmod bilan muammoning mohiyatini tushunib olaylik. Shunday qilib, keling, boshlaylik. Kirish huquqlari fayllar uchun Chmod va kataloglar uchun Chmod ga bo'linadi. Ular bir xil tarzda belgilanadi, lekin bir oz boshqacha narsalarni anglatadi.

Fayllarga kirish huquqlari (Chmod) quyidagilarga bo'linadi:

    r - ma'lumotlarni o'qish huquqi.

    w - tarkibni o'zgartirish huquqi (yozish - faqat tarkibni o'zgartirish, lekin o'chirish emas).

    x - faylni bajarish huquqi.

Keling, faylning ijro huquqlarini batafsil ko'rib chiqaylik. Gap shundaki, Linuxda (Unix) istalgan faylni bajarish mumkin. Uning bajarilishi mumkinmi yoki yo'qmi, uning kengaytmasi aniqlanmaydi (kengaytma tushunchasi faylda yo'q Unix tizimi) va kirish huquqlari bilan Chmod. Agar fayl "X" huquqiga ega bo'lsa (chmod x), bu uning bajarilishi mumkinligini anglatadi.

Endi papkaga (katalogga) kirish huquqlari (Chmod) haqida:

    r - katalogni o'qish huquqi (siz katalog tarkibini o'qishingiz mumkin, ya'ni unda joylashgan ob'ektlar ro'yxatini olishingiz mumkin)

    w - katalog tarkibini o'zgartirish huquqi (siz ushbu katalogda ob'ektlarni yaratishingiz va o'chirishingiz mumkin, va agar siz yozishga ruxsatingiz bo'lsa, hatto sizga tegishli bo'lmagan fayllarni ham o'chirishingiz mumkin)

    x - katalogga kirishga imkon beruvchi huquq (bu huquq har doim birinchi bo'lib tekshiriladi va siz kataloglar zanjirida chuqur ko'milgan ob'ektga barcha kerakli huquqlarga ega bo'lsangiz ham, sizda "X" huquqi yo'q. ushbu fayl yo'lidagi kamida bitta katalogga kiring, keyin siz unga hech qachon kira olmaysiz)

IN Linux tizimlari(Unix) bu huquqlarning barchasi kompyuterning asosiy administratori tomonidan taqsimlanadi, u parolni kiritish orqali unga kirish huquqiga ega. Va agar ko'pchilik ob'ektlar faqat o'qish uchun kirish huquqiga ega bo'lsa (Chmod), u holda viruslar bunday kompyuterda deyarli hech narsa qila olmaydi, chunki ular o'zlarini u erda yoza olmaydilar va keyin bajarilmaydilar. Aynan shu natijaga bizning saytimizdagi ob'ektlarga kirish huquqini (Chmod) o'rnatish orqali erishishimiz kerak.

Foydalanuvchi guruhlari uchun Chmod sintaksisi

Kirish huquqlarining o'zi (Chmod) ob'ektga kim kirayotganiga qarab uchta toifaga bo'linadi:

    "foydalanuvchi" - u (faylning bevosita egasi)

    "guruh" - g (egasi bilan bir guruh a'zosi)

    "dunyo" - o (boshqa barcha)

Serverga ulanganingizda sizni qaysi foydalanuvchi guruhiga tayinlash kerakligini server belgilaydi. Masalan, siz FTP orqali serverga ulansangiz, foydalanuvchi nomingiz (va parolingiz) bilan tizimga kirasiz va keyin server sizni “foydalanuvchi” (“u)” guruhiga tayinlaydi. FTP orqali serverga ulangan boshqa foydalanuvchilar esa “guruh” (“g”) guruhiga, o‘z brauzeri orqali saytingizga kirgan foydalanuvchi esa “world” (“o”) guruhiga tayinlanadi. .

Uchta "u", "g" va "o" toifalari uchun uchta mumkin bo'lgan "r", "w" va "x" qiymatlarining o'zgarishi fayllar uchun Chmodni aniqlaydi. Agar toifa ko'rsatilmagan bo'lsa, u defis "-" bilan almashtiriladi. Kirish huquqlari (Chmod) berilgan tartibda ketma-ket belgilanadi:

    birinchi navbatda egasi uchun huquqlar - "u"

    keyin guruh uchun - "g"

    va hamma uchun huquq oxirida - "o"

Server foydalanuvchini ma'lum bir guruhga tayinlagandan so'ng, unga ob'ektlarda harakat qilish huquqini beradi, shundan so'ng foydalanuvchi faylni o'qishi, yozishi yoki bajarishi mumkin bo'ladi (uning guruhi ushbu ob'ekt bilan nima qilishga ruxsat berilganiga qarab). Jildning mazmunini ko'rish uchun u "r" o'qish atributiga ega bo'lishi kerak (server foydalanuvchini tayinlagan guruh uchun). Mavjud faylda fayl yoki papka yaratish uchun u "w" yozuvida Chmod atributiga ega bo'lishi kerak.

Aniqlik uchun fayl egasi ("foydalanuvchi" - "u") barcha huquqlarga ega bo'lgan misolni ko'rib chiqaylik: o'qish, unga yozish va bajarish huquqi va boshqa barcha foydalanuvchilar faqat o'qish huquqiga ega. Bunday Chmod uchun yozuv quyidagicha ko'rinadi: "rwx r-- r--". Keling, buni batafsil ko'rib chiqaylik: "rwx" (bu yozuv egasi uchun ob'ektga bo'lgan huquqlarni belgilaydi - "u"), "r--" (bu yozuv bir xil ob'ektga bo'lgan huquqlarni belgilaydi, lekin agar foydalanuvchi tayinlangan bo'lsa. server tomonidan guruhga - “g "), "r--" (bu yozuv boshqa barcha foydalanuvchilar uchun ob'ektga bo'lgan huquqlarni belgilaydi - o").

Chmod fayllari va papkalari o'rtasidagi farq nima

Hech narsa qilib bo'lmaydi

Katalogga va uning pastki kataloglariga kirish taqiqlangan

Kontentni ko'rish va o'zgartirish mumkin

Siz papka faylini qo'shishingiz, o'chirishingiz, o'zgartirishingiz mumkin

Agar fayl ikkilik bo'lsa, bajaring

Foydalanuvchi oʻzi bilgan ikkilik faylni ishga tushirishi mumkin, lekin katalogga kirishi yoki oʻqishi mumkin emas.

Raqamlarda ifodalangan Chmod sintaksisi (777)

Ko'rishingiz mumkinki, bu erda kirish huquqlarini tavsiflash uchun lotin harflari va tirelardan foydalangan holda yozuvlar qo'llaniladi, lekin siz Chmod odatda raqamli shaklda ko'rsatilganiga duch kelgansiz, masalan, taniqli kombinatsiya: Chmod 777, bu hamma narsaga imkon beradi. hammaga. Darhaqiqat, kirish huquqlari (Chmod) ham raqamlar bilan ko'rsatilgan:

    w (rekord) 2 bilan almashtirildi

    x (bajarish) 1 bilan almashtiriladi

0 - hech narsa qilmang degan ma'noni anglatadi (alfavit yozuvida tire bilan belgilanadigan narsa) Keling, biroz oldinroq bergan kirish huquqlarini yozish misoliga qaytaylik: rwx r-- r--. Agar biz yuqorida tavsiflangan qoidaga muvofiq harflar va defislarni undagi raqamlar bilan almashtirsak va bir vaqtning o'zida har bir uchlikdagi raqamlarni qo'shsak, biz ushbu yozuvning raqamli shaklini olamiz: 744. Ya'ni. Ma'lum bo'lishicha, bu raqamlarning yig'indisi Chmodni fayllar yoki papkaga ko'rsatadi. Masalan:

    7 (rwx) = 4 + 2 +1 (to'liq huquqlar)

    5 (r-x) = 4 + 0 + 1 (o'qish va bajarish)

    6 (rw-) = 4 + 2 + 0 (o'qish va yozish)

    4 (r--) =4 + 0 + 0 (faqat o'qish)

Ushbu jadval raqamli ravishda yozilgan barcha mumkin bo'lgan Chmod kombinatsiyalarini ko'rsatadi:

Keling, foydalanuvchi guruhlariga nisbatan turli xil Chmod kombinatsiyalarini raqamlar bilan ko'rib chiqaylik:

""Egasi""

""Guruh""

""Dam olish""

bajarish

bajarish

bajarish

Siz o'zingiz (saytga FTP orqali kirgan hollar bundan mustasno) va saytingizga tashrif buyuruvchilar "so'z" guruhiga kiradi (boshqalar), shuning uchun veb-sayt bilan ishlash uchun biz birinchi navbatda oxirgi (uchinchi) ga qarashimiz kerak. ) Chmod raqami. Foydalanuvchi sayt bilan ishlaganda skript "faylni ishga tushirishi" uchun unga "4" (r-- - faqat o'qish) dan boshlab kirish huquqlari (Chmod) o'rnatilishi kifoya qiladi. 5,6,7 ham mos keladi, ammo bu xavfsizlik nuqtai nazaridan keraksiz bo'ladi).

Ushbu skript fayli joylashgan "papka" uchun siz minimal qiymatni "5" ga qo'yishingiz kerak (r-x - siz papkaga kirib, uning mazmunini o'qishingiz mumkin, siz o'chira olmaysiz yoki qo'sha olmaysiz). 7 ham ishlaydi, lekin u xavfsizlik nuqtai nazaridan ham ortiqcha bo'ladi. Agar sizga skript nafaqat o'qish, balki ba'zi ma'lumotlarni (masalan, foydalanuvchi tomonidan kiritilgan) "yozish" uchun kerak bo'lsa, unda "papka" uchun minimal huquqlar hali ham "5" bo'ladi, ammo "fayl" uchun siz allaqachon "6" huquqlariga muhtoj bo'ladi "(o'qish va yozish).

Ehtimol, veb-saytingiz dvigatelining tarkibini ko'chirgan serverda quyidagi Chmodlar ob'ektlarga o'rnatiladi:

Jildlar 755

egasi (foydalanuvchi) hamma narsani qila oladi, guruh va boshqalar faqat papkalarni o'qishlari va ularni kiritishlari mumkin, lekin ularga fayllarni yozish, nomlarni o'zgartirish va kataloglarda o'chirish taqiqlanadi. (rwxr-xr-x)

Fayllar 644

Agar sizda faqat html dan iborat veb-saytingiz bo'lsa, unda hamma narsani shunday qoldirishingiz mumkin. Ammo zamonaviy saytlar dvigatellarda qurilgan va "dunyo" guruhidagi foydalanuvchilar nomidan yozilishi kerak bo'lgan ob'ektlar bo'lishi mumkin - o (boshqalar). Bular sahifalarni keshlash uchun foydalaniladigan papkalar yoki sayt bilan ishlayotganingizda rasmlar va hokazolar yuklanadigan papkalar bo'lishi mumkin.Agar siz saytga FTP orqali kirsangiz, ushbu fayl yoki papkalarda yozuv yaratishingiz mumkinligi o'z-o'zidan ma'lum. lekin veb-sayt interfeysi bilan ishlashda oddiy foydalanuvchi sifatida sizda muammolar bo'lishi mumkin. Shuning uchun ma'lum Chmodlarni o'rnatishga tanlab yondashish kerak.

chmod buyrug'i fayllar yoki kataloglarning ruxsatlarini o'zgartirish uchun ishlatiladi.

Linux va boshqa Unix-ga o'xshash operatsion tizimlar Har bir fayl uchun ushbu faylga kim va qanday kirishi mumkinligini aniqlaydigan qoidalar to'plami mavjud. Ushbu qoidalar fayl ruxsati yoki fayl rejimlari deb ataladi. Buyruq nomi chmod "rejimni o'zgartirish" degan ma'noni anglatadi va faylga qanday kirishni aniqlash uchun ishlatiladi.

IN umumiy ko'rinish chmod buyruqlari quyidagicha ko'rinadi:

chmod ruxsat opsiyalari fayl nomi

Agar variantlari ko'rsatilmagan bo'lsa, chmod ko'rsatilgan faylning ruxsatlarini o'zgartiradi Fayl nomi, da koʻrsatilgan ruxsatlar uchun ruxsatlar.

Ruxsatlar fayl egasi ("foydalanuvchi"), faylga ega bo'lgan guruh a'zolari ("guruh") va boshqalar ("boshqalar") uchun kirish huquqlarini belgilash. Ushbu ruxsatlarni ifodalashning ikkita usuli mavjud: belgilar (harf-raqamli belgilar) yoki sakkizlik raqamlar (0 dan 7 gacha bo'lgan raqamlar) yordamida.

Aytaylik, siz myfile nomli faylning egasisiz va siz uning ruxsatlarini shunday o'rnatmoqchisiz:

  1. foydalanuvchi ( u ser) o'qiy olardi ( r o'qish), yozish ( w marosim) va ijro eting ( x uni ta'qib qilish;
  2. guruh a'zolari ( g guruh) o'qiy oladi ( r o'qish) va bajarish ( x uni ta'qib qilish;
  3. boshqalar kabi ( o thers) faqat o'qiy oladi ( r ead) uni.

Bu buyruq quyidagicha ko'rinadi:

chmod u=rwx,g=rx,o=r mening faylim

Ushbu misolda ramziy ruxsatlar belgisi ishlatiladi. U, g va o harflari "foydalanuvchi", "guruh" va "boshqa" ma'nolarini bildiradi. Teng belgisi (“=”) “ruxsatlarni shu tarzda o‘rnatish” degan ma’noni anglatadi va “r”, “w” va “x” harflari mos ravishda “o‘qish”, “yozish” va “bajarish” degan ma’noni anglatadi. Vergullar turli ruxsat sinflarini ajratib turadi va ular orasida bo'sh joy yo'q.

Sakkizlik ruxsatnoma belgisini ishlatadigan ekvivalent buyruq:

chmod 754 mening faylim

Bu erda 7, 5 va 4 raqamlari alohida-alohida foydalanuvchi, guruh va boshqalar uchun shu tartibda ruxsatlarni ifodalaydi. Har bir raqam 4, 2, 1 va 0 raqamlarining birikmasidir:

  • 4 "o'qish" degan ma'noni anglatadi
  • 2 "yozish" degan ma'noni anglatadi
  • 1 "bajarish" degan ma'noni anglatadi
  • 0 "ruxsat yo'q" degan ma'noni anglatadi.

Shunday qilib, 7 - 4 + 2 + 1 (o'qish, yozish va bajarish), 5 - 4 + 0 + 1 (o'qish, yozish va bajarish) va 4 - 4 + 0 + 0 (o'qish, yo'q) yozing va bajarilmaydi).

chmod sintaksisi

chmod ... MODE[,MODE]... FILE... chmod ... SAKZILIK REJIM FAYL... chmod ... --reference=RFILE FILE...

chmod variantlari

-c, --o'zgarishlar--verbose ga o'xshaydi, lekin faqat o'zgartirish amalga oshirilganda batafsil ma'lumot chiqaradi.

-f, --jim, --sokin Ovozsiz rejim; ko'pgina xato xabarlarini bostirish.

-v, - batafsil Batafsil rejim; har bir qayta ishlangan fayl uchun diagnostika xabarini ko'rsatish.

--no-saqlash-root"/" (ildiz katalog) ni hech qanday maxsus usulda ishlatmang, bu standart sozlamalar.

--sozlash-ildiz"/" da rekursiv ishlamang.

--reference=RFILE Belgilangan rejimga e'tibor bermasdan, RFILE fayliga mos keladigan ruxsatlarni o'rnating.

-R, --rekursiv Fayllar va kataloglarni rekursiv ravishda o'zgartiring.

--Yordam Yordam xabarini ko'rsating va chiqing.

--versiya Versiya ma'lumotlarini chop eting va chiqing.

Texnik tavsif

chmod har bir belgilangan FILE fayl rejimini MODE ga muvofiq o'zgartiradi, bu o'zgarishlarning ramziy ko'rinishi yoki yangi rejim bitlari uchun bit naqshini ifodalovchi sakkizlik raqam bo'lishi mumkin.

Simvolik rejim formati:

[[+-=]...]

bu erda perms r, w, x, X, s va t to'plamidan nol yoki undan ko'p harf yoki u, g va o to'plamidan bir harf. Siz vergul bilan ajratilgan bir nechta belgi rejimini belgilashingiz mumkin.

U, g, o harflari va foydalanuvchining faylga kirishini o‘zgartiruvchi boshqaruv elementlari birikmasi: unga egalik qiluvchi foydalanuvchi (u), fayl guruhidagi boshqa foydalanuvchilar (g), fayl guruhiga kirmaydigan boshqa foydalanuvchilar (o) , yoki barcha foydalanuvchilar (a). Agar bularning hech biri berilmasa, effekt a berilgandek bo'ladi, lekin umaskda o'rnatilgan bitlar ta'sir qilmagan.

(+) operatori tanlangan fayl rejimi bitlarini har bir faylning mavjud fayl rejimi bitlariga qo'shilishiga olib keladi; "-" ularni o'chirishga olib keladi; va "=" ularni qo'shishga olib keladi va eslatilmagan bitlarni olib tashlashga olib keladi, bundan tashqari foydalanuvchi tomonidan o'zgartirilmaydigan katalog bitlari va guruh identifikatorlari ta'sir qilmaydi.

R, w, x, X, s va t harflari ta'sirlangan foydalanuvchilar uchun fayl rejimi bitlarini tanlaydi: o'qish (r), yozish (w), bajarish (x), faqat fayl katalog bo'lsa yoki ruxsati bo'lsa, bajaring. ba'zi bir foydalanuvchi uchun bajarilishi (X) foydalanuvchi yoki guruh identifikatorini bajarish (lar), cheklangan o'chirish bayrog'i yoki qattiq bit (t) ni o'rnatadi. Kataloglar uchun X va X ish vaqti parametrlari katalog mazmunini ko'rish ruxsatini aniqlaydi.

Ushbu harflarning bir yoki bir nechtasi o'rniga u, g yoki o harflaridan birini belgilashingiz mumkin: faylga ega bo'lgan foydalanuvchiga berilgan ruxsatlar (u), fayl guruhining a'zosi bo'lgan boshqa foydalanuvchilarga berilgan ruxsatlar (g ) va foydalanuvchilarga berilgan ruxsatlar oldingi ikkita toifaning (o) hech biriga kirmaydi.

Raqamli rejim - 4, 2 va 1 qiymatlari bo'lgan bitlarni qo'shish orqali olingan birdan to'rtta sakkiztalik raqam (0-7). Yo'qolgan raqamlar bosh nol sifatida qabul qilinadi. Birinchi raqam ko'rsatilgan foydalanuvchi identifikatorini (4) va belgilangan guruh identifikatorini (2) va cheklangan o'chirish yoki pin atributlarini (1) tanlaydi. Ikkinchi raqam o'qish (4), yozish (2) va bajarish (1) operatsiyalariga ega bo'lgan foydalanuvchi uchun kirish huquqlarini tanlaydi; uchinchisi bir xil qiymatlarga ega bo'lgan fayllar guruhidagi boshqa foydalanuvchilar uchun kirish huquqlarini tanlaydi; va to'rtinchisi fayl guruhida bo'lmagan boshqa foydalanuvchilar uchun bir xil qiymatlarga ega.

chmod hech qachon ramziy havolalar ruxsatini o'zgartirmaydi; chmod tizim chaqiruvi ularning ruxsatlarini o'zgartira olmaydi. Lekin bu muammo emas, chunki symlink ruxsatlari hech qachon ishlatilmaydi. Biroq, buyruq satrida ko'rsatilgan har bir ramziy havola uchun chmod ruxsatlarni o'zgartiradi belgilangan fayl. Bundan farqli o'laroq, chmod rekursiv katalog o'tishlari paytida uchraydigan ramziy havolalarni e'tiborsiz qoldiradi.

Setuid va Setgid bitlari

chmod, agar foydalanuvchi tegishli imtiyozlarga ega bo'lmasa, faylning guruh identifikatori foydalanuvchining samarali guruh identifikatoriga yoki foydalanuvchining ikkilamchi guruh identifikatorlaridan biriga mos kelmasa, oddiy faylning set-group-ID bitini tozalaydi. Qo'shimcha cheklovlar MODE yoki RFILE'da foydalanuvchi identifikatorini o'rnatish va guruh identifikatorini o'rnatish bitlarini e'tiborsiz qoldirishiga olib kelishi mumkin. Ushbu xatti-harakatlar asosiy chmod tizimi chaqiruvining siyosati va funksionalligiga bog'liq. Agar shubhangiz bo'lsa, tizimning harakatini tekshiring.

chmod, agar siz boshqacha ko'rsatmasangiz, katalogning set-user-ID va set-group-ID bitlarini saqlaydi. U+s va g-s kabi ramziy rejimlar yordamida bitlarni oʻrnatishingiz yoki tozalashingiz mumkin, shuningdek, sonli rejim yordamida bitlarni oʻrnatishingiz mumkin (lekin aniq emas).

Cheklangan olib tashlash bayrog'i (yoki "yopishqoq bit")

Cheklangan o'chirish bayrog'i yoki yopishqoq bit bitta bit bo'lib, uning talqini fayl turiga bog'liq. Bu fayl yoki katalogga ega bo'lmagan foydalanuvchilarga katalogdagi faylni o'chirish yoki nomini o'zgartirishni oldini oladi; Bu cheklangan kataloglarni o'chirish bayrog'i deb ataladi va odatda /tmp kabi dunyoda yoziladigan kataloglarda topiladi. Ba'zi eski tizimlardagi oddiy fayllar uchun bu bit saqlanadi matnli tasvir almashtirish qurilmasidagi dasturlar, shuning uchun u ishga tushganda tezroq yuklanadi; bu yopishqoq bit deb ataladi.

Fayl ruxsatlarini qanday ko'rish mumkin

Fayl ruxsatlarini ro'yxatga olishning tez va oson usuli ls buyrug'ining longlist (-l) opsiyasidan foydalanishdir. Masalan, file.txt uchun ruxsatlarni ko'rish uchun quyidagi buyruqdan foydalanishingiz mumkin:

Ls -l fayl.txt

Bu shunday ko'rinishdagi chiqishni ko'rsatadi:

chmoddan foydalanishga misollar

chmod 644 file.htm

file.htm fayli uchun ruxsatlarni “egasi oʻqishi va yozishi mumkin; guruh faqat o'qishi mumkin; boshqalar faqat o'qiy oladi."

Chmod -R 755 mening fayllarim

Rekursiv (-R) myfiles katalogi va uning barcha papkalari va fayllari uchun ruxsatlarni 755 rejimiga o'zgartiradi. Foydalanuvchi o'qishi, yozishi va bajarishi mumkin; guruh aʼzolari va boshqa foydalanuvchilar oʻqishi va bajarishi mumkin, lekin yoza olmaydi.

Chmod u=rw misol.jpg

Egasi faylni o'qish va yozishi uchun example.jpg egasi uchun ruxsatlarni o'zgartiradi. Guruh yoki boshqalar uchun ruxsatlarni o'zgartirmaydi.

Chmod u+s comphope.txt

comphope.txt faylining "Set-User-ID" bitini shunday o'rnatadiki, bu faylga kirishga harakat qilgan har bir kishi buni xuddi o'zi fayl egasidek qiladi.

Chmod u-s comphope.txt

Yuqoridagi buyruqning aksi; SUID bitini tozalaydi

Chmod 755 file.cgi

file.cgi uchun "egasi tomonidan o'qish, yozish va bajarish" va "guruh va boshqalar tomonidan o'qish va bajarish" uchun ruxsatlarni o'rnatadi.

Chmod 666 file.txt

file.txt ning "hamma tomonidan o'qish/yozish" ruxsatini o'rnatadi.

Chmod a=rw fayl.txt

Yuqoridagi buyruq bilan bir xil ishni ramziy belgilar yordamida bajaradi.

Tegishli buyruqlar

chown- Fayllar yoki kataloglar egasini o'zgartirish.
getfacl- Fayllarga kirishni boshqarish ro'yxatlarini ko'rsatish.
ls- katalog yoki kataloglar tarkibining ro'yxati.