Ko'pgina yangi Linux OS foydalanuvchilari buyruq yordamida kirish huquqlarini belgilashda ko'pincha chalkashib ketishadi chmod.
Ushbu maslahatda men tushunarli va vizual tarzda beraman chmod buyrug'idan foydalanishga misollar . Kerakli fayllar yoki kataloglarni almashtirib, ishingizda ushbu misollardan foydalaning.
chmod buyrug'i hisoblanadi qulay vosita xavfsizlikni yaxshilash uchun operatsion tizim va belgilash imkonini beradi kirish huquqlari fayllar yoki kataloglarga.
Agar siz tizimni ildiz sifatida kengaytirilgan superfoydalanuvchi imtiyozlaridan foydalangan holda (yoki berilgan) ishlatayotgan bo'lsangiz,tizimning istalgan foydalanuvchisiga tegishli har qanday fayl va katalogga kirish huquqlarini o'zgartirish.
Agar siz standart foydalanuvchi bo'lsangiz, faqat o'zingiz yaratgan kataloglar va fayllarga ruxsatlarni belgilashingiz yoki o'zgartirishingiz mumkin bo'ladi.
Tayinlash kirish huquqlari buyrug'i yordamida fayllar yoki kataloglarga chmod ikki usulda - ramziy va mutlaq rejimlar yordamida amalga oshirilishi mumkin.
Belgilar rejimida chmod buyrug'idan foydalanishga misollar:
(Fayl ruxsatlarining dastlabki qiymati rwxrwxrwx - hamma uchun to'liq kirish)
Barcha foydalanuvchilar va guruhlar uchun faylni ishga tushirish ruxsatini bekor qilish uchun:
$ chmod a-x fayl(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 fayli(rwxrwxrwx)
Egasi, guruhi va boshqa foydalanuvchilar uchun oʻqish va yozish ruxsatlarini oʻrnating:
$ chmod 666 fayli(rw-rw-rw-)
Egasi va guruh va boshqa foydalanuvchilar uchun faqat o'qish uchun faylga to'liq kirishni sozlash:
$ chmod 744 fayli(rwxr--r--)
Fayl egasi uchun faylga to'liq kirishni sozlash va guruh va boshqa foydalanuvchilarga kirishni rad etish:
$ chmod 700 fayli(rwx------)
Fayl egasi uchun o'qish va yozish, guruh va boshqalar uchun faqat o'qish uchun ruxsatlarni o'rnatish:
$ chmod 644 fayli(rw-r--r--)
Fayl egasi va uning guruhi uchun o'qish va yozish ruxsatlarini o'rnatish va boshqalarga kirishni taqiqlash:
$ chmod 640 fayli(rw-r-----)
Barcha foydalanuvchilar va guruhlar uchun o'qish ruxsati bilan faylga kirishni sozlash:
$ chmod 444 fayli(r--r--r--)
Fayl egasi tomonidan o'qish, yozish, bajarish va o'qish, guruh tomonidan bajarish va boshqalar uchun ruxsatlar:
$ chmod 755 fayli(rwxr-xr-x)
Foydalanuvchi va boshqalar uchun faylni o‘qish va bajarishga ruxsat berish va guruhga kirishni rad etish:
$ chmod 505 fayli(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 buyruqdan foydalanishning bir nechta misollari keltirilgan. chmod. Agar siz jamoaning ishi haqida ko'proq bilmoqchi bo'lsangiz chmod Va kirish huquqlari Linuxda ga e'tibor bering.
Fayl ruxsatlarini o'zgartiring
-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 |
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
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:
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'qiydi va ishlaydi (5)
$ chmod 066 fayl - egasining faylga huquqi yo'q (0), qolganlarning hammasi ijrosiz o'qish va yozish huquqiga ega
Alfavit kirish huquqlaridan foydalangan holda boshqaruv:
Ramziy kod yordamida huquqlarni belgilash formati
[kim...][[+-=][huquqlar...]...][,...]
JSSV belgilar birikmasidir "ugoa" ishora qiladi foydalanuvchilar fayl yoki papkaga kirish huquqi o'zgartiriladi
NAME
chmod - faylga kirish rejimini o'zgartirish
SYNTAX
Chmod fayl rejimi...
TAVSIF
Belgilangan fayllarga (kataloglarni o'z ichiga olishi mumkin) kirish huquqlari belgilangan rejimga muvofiq o'zgartiriladi. Rejim mutlaq yoki ramziy shaklda belgilanishi mumkin.
Mutlaq shakl - bit bo'yicha YOKI quyidagi rejimlarning sakkiztalik soni: 04000 Amalga oshirilayotganda joriy foydalanuvchi identifikatorini qayta o'rnating. 020#0 Bajarilayotganda, agar # 7, 5, 3 yoki 1 bo'lsa, samarali guruh identifikatorini qayta o'rnating; Agar # 6, 4, 2 yoki 0 boʻlsa, kirishni bloklashni koʻrib chiqing. 01000 Intruziv bit [qarang. man chmod (2)]. 00400 Egasi tomonidan o'qilishi mumkin. 00200 Egasi tomonidan yozilgan. 00100 Egasi tomonidan bajarish uchun (katalog bo'lsa, ko'rish uchun) mavjud. 00040 Guruh a'zolari tomonidan o'qilishi mumkin. 00020 Guruh a'zolari tomonidan yoziladi. 00010 Guruh a'zolari tomonidan bajarish (ko'rish) uchun mavjud. 00004 Boshqa foydalanuvchilar tomonidan o'qilishi mumkin. 00002 Boshqa foydalanuvchilar tomonidan yozilishi mumkin. 00001 Boshqa foydalanuvchilar tomonidan bajarilishi (ko'rish) uchun mavjud.
Ramziy ko'rinishdan foydalanish kirish sinfini va ushbu sinf a'zolari uchun kirish huquqlarini belgilaydigan bir harfli belgilarga asoslanadi. Faylga kirish huquqlari foydalanuvchi identifikatoriga va foydalanuvchi tegishli bo'lgan guruh identifikatoriga bog'liq. Umuman rejim har biri uchta harfdan iborat uchta ketma-ketlikda tavsiflanadi:
Egasi guruhi Boshqa (u) (g) (o) rwx rwx rwx
Bu erda egasi, guruh a'zolari va boshqa barcha foydalanuvchilar faylni o'qish, yozish va bajarish huquqiga ega. Misolda kirish sinfi va sinf ichidagi kirish huquqlari uchun belgi ko'rsatilgan.
Kirish rejimini ramziy shaklda belgilash uchun quyidagi sintaksisdan foydalaning:
[kimga] operatsiya huquqlari
[to] qismi u, g va o harflarining birikmasidan iborat (mos ravishda egasi, guruh aʼzolari va boshqa foydalanuvchilar). Agar who qismi tushib qolsa yoki a ko'rsatilgan bo'lsa, u ugo ga teng bo'ladi.
Amaliyot quyidagicha bo'lishi mumkin: + (huquq qo'shish), - (huquqdan mahrum qilish), = (ma'lum sinf ichida, huquqlarni mutlaqo tayinlash, ya'ni belgilangan huquqlarni qo'shish va aniqlanmaganlarni olib tashlash).
Huquqlar quyidagi harflarning har qanday mazmunli birikmasidir:
Agar operatsiya = bo'lsa, huquqning bir qismini o'tkazib yuborishingiz mumkin (barcha huquqlardan mahrum qilish uchun).
Agar siz huquqlarni o'zgartirish bo'yicha bir nechta ko'rsatmalar berishingiz kerak bo'lsa, unda ramziy turdan foydalanganda huquqlarda bo'sh joy qolmasligi kerak va ko'rsatmalar vergul bilan ajratilishi kerak. Masalan, buyruq
Chmod u+w,go+x f1
egasiga f1 fayliga yozish huquqini, guruh a'zolari va boshqa foydalanuvchilar uchun esa faylni bajarish huquqini qo'shadi. Huquqlar belgilangan tartibda o'rnatiladi. s huquqi faqat foydalanuvchi va guruh uchun, t huquqi faqat foydalanuvchi uchun qo'shilishi mumkin.
Faylga va uning qismlariga kirishni bloklashni hisobga olish (l) fayl segmentlarini qayta ishlash muddati davomida eksklyuziv olib qo'yish imkoniyatini anglatadi. Biroq, siz faylni blokirovka qilishga ruxsat berish bilan birga guruh a'zolari tomonidan bajarilishiga ruxsat bera olmaysiz. Bundan tashqari, ish vaqtida samarali guruh identifikatorini qayta o'rnatish va faylni blokirovka qilishni hurmat qilish mumkin emas. Shuning uchun quyidagi buyruqlar noto'g'ri:
Chmod g+x,+l f2 chmod g+s,+l f3 Ularni bajarishga urinish tegishli diagnostikaga olib keladi.
Faqat egasi yoki superfoydalanuvchi faylga kirish rejimini o'zgartirishi mumkin. Intruziv bitni faqat superuser o'rnatishi mumkin. Guruh identifikatorini tiklash huquqini qo'shish uchun siz ushbu guruh a'zosi bo'lishingiz kerak; bundan tashqari, guruh a'zolariga ijro huquqi berilishi kerak.
Kirish va boshqarish huquqlarini ular o'zgarganda ko'rish uchun -l bayrog'i bilan buyruqdan foydalaning. Foydalanuvchi va guruh identifikatorlarini qayta tiklash huquqlari tegishli x harfi o‘rniga s harfi bilan belgilanadi: agar tegishli toifadagi foydalanuvchilar huquqiga ega bo‘lsa, kichik s, agar u bo‘lmasa, katta S; o'ng t joyida belgilangan oxirgi xat x: agar boshqa foydalanuvchilar faylni bajarish uchun ruxsatga ega bo'lsa, kichik t, agar ular yo'q bo'lsa, katta T. Guruh a'zolari uchun o'ng x o'rniga o'ng l belgilanadi.
MISOLLAR
Jamoa chmod, chown jamoasi va chgrp buyrug'i.
Jamoa chmod Linuxda fayllar va kataloglarga kirish huquqlarini o'zgartirish uchun mo'ljallangan. Jamoa nomi "" iborasidan kelib chiqqan. ch g'azab mod e".
Sintaksis chmod buyruqlari quyidagicha:
Chmod ruxsatnomalari fayl nomi
Ruxsatlar ikki yo'l bilan o'rnatilishi mumkin:
Chmod 764 mening faylim
IN bu format kirish huquqlari belgilar yordamida ko'rsatilmagan rwx, yuqorida tavsiflanganidek, lekin uch xonali raqam. Raqamning har bir raqami kirish huquqlarining ma'lum bir to'plamini ifodalaydi.
Quyidagi jadvalda rwx ruxsatlarining barcha mumkin bo'lgan kombinatsiyalari va ularning tegishli raqamlari (chmod buyrug'ida qo'llaniladi) ro'yxati keltirilgan:
Raqam | Ruxsatlar | Ramziy belgi |
---|---|---|
0 | ruxsatlar yo'q | --- |
1 | x - ishga tushirish | --x |
2 | w - o'zgartirish | -w- |
3 | x+w - ishga tushirish+o'zgartirish | -wx |
4 | r - o'qing | r-- |
5 | r+x - o'qish + ishga tushirish | r-x |
6 | r+w - o'qish+o'zgartirish | rw- |
7 | r+w+x - o'qish+o'zgartirish+ishlash | rwx |
Misol sifatida bir qator kirish huquqlari bilan chmod buyrug'idan foydalanishni ko'rib chiqamiz. Keling, fayl ruxsatlarini 764 ga o'rnatamiz:
Chmod 764 mening faylim
Bu fayl uchun (yuqoridagi jadvalga qarang) degan ma'noni anglatadi mening faylim kirish huquqlarini o'rnatamiz 7 6 4 , bu degani:
Agar yozsak 764 belgilar yordamida (jadvalga qarang) biz quyidagilarni olamiz: " rwxrw-r-».
Quyidagi jadvalda ba'zi tez-tez ishlatiladigan raqamli ruxsat qiymatlari ko'rsatilgan:
Raqamli belgilash | "rwx" belgisi | Tavsif |
---|---|---|
400 | -r-------- | Fayl egasi faqat faylni o'qiy oladi. Qolganlarning hammasi uchun fayl bilan barcha harakatlar taqiqlanadi. |
644 | -rw-r--r-- | Barcha foydalanuvchilar faylni o'qishlari mumkin. Egasi faylni o'zgartirishi mumkin. |
660 | -rw-rw---- | Egasi va guruh faylni oʻqishi va oʻzgartirishi mumkin. Qolganlarning hammasi uchun fayl bilan barcha harakatlar taqiqlanadi. |
664 | -rw-rw-r-- | Faylni hamma o'qiy oladi. Egasi va guruhi o'zgarishi mumkin. |
666 | -rw-rw-rw- | Har bir inson faylni o'qishi va o'zgartirishi mumkin. |
700 | -rwx------ | Egasi faylni o'qishi, o'zgartirishi va ishga tushirishi mumkin. Qolganlarning hammasi uchun fayl bilan barcha harakatlar taqiqlanadi. |
744 | -rwxr--r-- | Faylni hamma o'qiy oladi. Egasi faylni o'zgartirishi va ishga tushirishi ham mumkin. |
755 | -rwxr-xr-x | Har kim faylni o'qishi va ishga tushirishi mumkin. Egasi ham faylni o'zgartirishi mumkin. |
777 | -rwxrwxrwx | Barcha foydalanuvchilar faylni o'qishi, o'zgartirishi va tahrirlashi mumkin. |
Chmod +x myfile1 chmod g=rw myfile2 chmod u-w myfile3
Ko'rib turganingizdek, ushbu formatda kirish huquqlari belgilar bilan belgilanadi rwx, lekin sintaksis boshqa yordamchi belgilardan ham foydalanadi, masalan, matematik operatsiyalar " + "Va" - "va " kabi belgilar g"yoki" u».
Umumiy sintaksisni quyidagicha yozish mumkin:
Chmod (egasi)(matematik operatsiya)(ruxsatlar) fayl nomi
Fayl egalari uchun belgilar quyidagilar:
Matematik operatsiyalar quyidagilarni anglatadi:
Bitta buyruqda siz egalarni va ularning ruxsatlarini vergul bilan ajratib ko'rsatishingiz mumkin (quyidagi misolga qarang).
Keling, misollarni ko'rib chiqaylik:
IN Ushbu holatda Biz ega belgilaridan foydalanmaymiz, ya'ni barcha foydalanuvchilar uchun ruxsatlar o'rnatilgan. " +x"demak - ishga tushirish ruxsatini o'rnatish ( x) barcha foydalanuvchilar uchun fayl. Bu buyruqni bajarishga teng: chmod a+x myfile1 .
Bu erda ishlatiladigan belgi g va teng belgi " = " Bu shuni anglatadiki, biz guruh uchun faylni o'qish va yozish uchun ruxsatlarni o'rnatdik ( rw).
Fayl egasi uchun ( u) o'zgartirish uchun ruxsatni olib tashlaymiz ( w) fayl.
Biz egasiga ruxsat beramiz ( u) va guruh ( g) faylni ishga tushirish ( x).
Biz egalarini vergul bilan ajratilgan holda sanab, ular uchun ruxsatlarni o'rnatganimizda aynan shunday bo'ladi. Fayl egasi uchun ( u) biz faylni guruh uchun ishga tushirishga ruxsat beramiz ( g) biz hamma uchun faylni o'zgartirishni taqiqlaymiz ( o) biz faylni o'qishni taqiqlaymiz.
Agar siz katalogdagi barcha fayllar, shu jumladan pastki kataloglar uchun kirish huquqlarini o'zgartirishingiz kerak bo'lsa, buning uchun variant mavjud. -R, bu kataloglar va ularning mazmuniga kirish huquqlarini rekursiv ravishda o'zgartirishni anglatadi. Masalan, Mydir katalogidagi barcha fayllarga kirish huquqlarini o'zgartiramiz:
Chmod -R 644 Mydir
Va bir daqiqa. Agar foydalanuvchi fayl egasi bo'lmasa, lekin ruxsatlarni o'zgartirishi kerak bo'lsa bu fayl, keyin buyruq chmod yordamida amalga oshirilishi kerak sudo, Masalan:
Sudo chmod 644 fayl
Faylning egasini va guruhini o'zgartirish uchun buyruqdan foydalaning chown.
Fayl egasini o'zgartirish uchun quyidagi sintaksisdan foydalaning:
Yangi_egasi fayl_nomini tanlang
mening faylim yangi egasi Vasya:
Chown vasya mening fayl
Faylning egasini va guruhini o'zgartirish uchun quyidagi sintaksisdan foydalaning:
Chown new_ehibi:yangi_guruh fayl_nomi
Misol uchun, fayl uchun o'rnatamiz mening faylim yangi egasi Vasya va guruh sambashare:
Chown vasya: sambashare myfile
Yana bir buyruq bor - chgrp. Bu sizga faqat guruhni o'zgartirish imkonini beradi. Masalan:
Chgrp sambashare mening faylim
Linuxda har bir faylda ruxsatlar mavjud - ruxsatlar, egalar va guruh.
Ruxsatlar egasi, guruh va boshqalar uchun o'rnatiladi.
Ruxsatlarning uch turi mavjud - r- o'qish, w- o'zgartirish, x- ishga tushirish.
Fayl ruxsatlarini o'zgartirish uchun buyruqdan foydalaning chmod.
Egasini yoki guruhini o'zgartirish uchun buyruqdan foydalaning chown.
Guruhni o'zgartirish uchun ishlatiladi chgrp.
(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-)
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 sozlash 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–)
Fayl egasi tomonidan o'qish, yozish, bajarish va o'qish, guruh tomonidan bajarish va boshqalar uchun ruxsatlar:
$ chmod 755 fayl (rwxr-xr-x)
Foydalanuvchi va boshqalar uchun faylni o‘qish va bajarishga ruxsat berish va guruhga kirishni rad etish:
$ 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.
$ 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
$ 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
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 ijro etuvchi ekanligi uning kengayishi bilan belgilanmaydi (kengaytma tushunchasi mavjud emas fayl tizimi Unix) va kirish huquqi 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 kirish imkonini beruvchi huquq (bu huquq har doim birinchi bo'lib tekshiriladi va sizda hamma narsa bo'lsa ham. zarur huquqlar katalog zanjirida chuqur ko'milgan ob'ektda, lekin siz ushbu faylga olib boradigan yo'lda kamida bitta katalogga kirish uchun "X" huquqiga ega emassiz, 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), unda viruslarning bunday kompyuterda deyarli hech qanday aloqasi bo'lmaydi, 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.
Kirish huquqlarining o'zi (Chmod) ob'ektga kim kirayotganiga qarab uch toifaga bo'linadi:
"foydalanuvchi" - u (faylning bevosita egasi)
"guruh" - g (egasi bilan bir xil 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 kelgan 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").
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. |
Bu yerdagi yozuvlar foydalanish huquqlarini tavsiflash uchun ishlatilganligini ko'rishingiz mumkin Lotin harflari va defislar, lekin siz allaqachon Chmod odatda raqamli shaklda ko'rsatilganiga duch kelgansiz, masalan, taniqli kombinatsiya: Chmod 777, bu hamma uchun hamma narsaga imkon beradi. 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 shu bilan birga har bir uchlikdagi raqamlarni qo'shsak, biz shunday bo'lamiz. raqamli ko'rinish Ushbu yozuvdan: 744. Ya'ni Ma'lum bo'lishicha, bu raqamlar 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:
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)
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 ishlatiladigan papkalar bo'lishi mumkin yoki siz sayt bilan ishlayotganingizda rasmlar va boshqalar yuklanadi, agar siz FTP orqali saytga kirsangiz, ushbu fayl yoki papkalarda yozuv yaratishingiz mumkin. lekin veb-sayt interfeysi bilan ishlash, masalan muntazam foydalanuvchi, sizda muammolar bo'lishi mumkin. Shuning uchun ma'lum Chmodlarni o'rnatishga tanlab yondashish kerak.