05. Foydalanuvchilar, guruhlar va ruxsatlar — 15 ta savol-javob
Avval javobni o'zingiz ayting, so'ng ochib solishtiring.
1. UID va GID nima? Root'ning UID i nechta?
Javob
Kernel foydalanuvchi va guruhlarni nomlar bilan emas, raqamlar bilan taniydi: UID (foydalanuvchi) va GID (guruh). Nomlar /etc/passwd va /etc/group orqali raqamga moslanadi. Root'ning UID i 0; ruxsat tekshiruvlarida root deyarli hamma cheklovlarni chetlab o'tadi. Oddiy foydalanuvchilar odatda 1000 dan boshlanadi, tizim xizmatlari undan past UID oladi.
2. /etc/passwd va /etc/shadow farqi nima va nega ajratilgan?
Javob
/etc/passwd — hisoblar ro'yxati (nom, UID, GID, izoh, uy katalogi, shell), uni hamma o'qiy oladi, chunki ko'p dasturlar UID ni nomga aylantirishi kerak. Parol xeshlari /etc/shadow da, uni faqat root (va shadow guruhi) o'qiydi. Ajratishdan maqsad: xeshlarni offline taxmin qilishga (brute-force) yo'l qo'ymaslik.
3. rwx fayl uchun va katalog uchun nimani anglatadi?
Javob
Faylda: r — mazmunni o'qish, w — o'zgartirish, x — dastur sifatida bajarish. Katalogda: r — ichidagi nomlar ro'yxatini ko'rish, w — ichida yozuv yaratish/o'chirish/nomini o'zgartirish, x — ichiga kirish va undagi yozuvlarga yo'l bo'ylab murojaat qilish. Shu sabab faylni o'chirish huquqi fayl emas, uni o'z ichiga olgan katalogdagi w bilan belgilanadi.
4. Ruxsatlar sakkizlik (octal) yozuvda qanday hisoblanadi?
Javob
r=4, w=2, x=1, har bir uch (egasi, guruh, boshqalar) uchun yig'indi olinadi. rwxr-xr-- = 7, 5, 4 → 754. rw-r----- → 640. Simvolli shakl (u+x, go-w) faqat ko'rsatilgan bitlarni o'zgartiradi, octal esa hammasini qayta yozadi.
5. chmod va chown farqi nima? Kim ularni bajara oladi?
Javob
chmod — ruxsat bitlarini o'zgartiradi, uni faylning egasi yoki root bajara oladi. chown — egasi va guruhini o'zgartiradi; egasini faqat root o'zgartira oladi, guruhni esa egasi o'zi a'zo bo'lgan guruhga o'zgartira oladi. Rekursiv -R ni ehtiyot bilan ishlating: kataloglar va fayllarga bir xil ruxsat berish ko'pincha noto'g'ri.
6. umask nima?
Javob
umask — yangi fayl va kataloglarda olib tashlanadigan ruxsat bitlari maskasi. Fayllar 666 dan, kataloglar 777 dan boshlanadi va umask bitlari ayriladi. 022 bo'lganda fayl 644, katalog 755; 027 bo'lganda 640 va 750. Oddiy fayl hech qachon x bilan yaratilmaydi. Xizmatlar uchun xavfsizroq umask (027) odatiy tanlov.
7. SUID nima? Misol va xavfi qanday?
Javob
SUID (Set User ID) bajariladigan faylda yoqilgan bo'lsa, dastur uni ishga tushirgan foydalanuvchi huquqi bilan emas, fayl egasi huquqi bilan ishlaydi. Misol: /usr/bin/passwd root egaligida, shu sabab oddiy foydalanuvchi /etc/shadow ni yangilay oladi. Xavfi: SUID root dasturidagi har bir zaiflik imtiyozni oshirishga olib keladi, shu sabab kutilmagan SUID fayllar muntazam tekshiriladi.
8. SGID nima? Katalogda qanday ishlaydi?
Javob
Faylda SGID dastur egasi guruhi huquqi bilan ishlashini bildiradi. Katalogda esa ichida yaratilgan yangi fayllar yaratuvchining asosiy guruhini emas, katalogning guruhini oladi. Bu jamoaviy kataloglar uchun foydali: hamma a'zo yaratgan fayl avtomatik umumiy guruhga tegishli bo'ladi (chmod 2775).
9. Sticky bit nima? Nega /tmp da yoqilgan?
Javob
Katalogdagi sticky bit (t) bo'lganda, hamma uning ichida yoza olsa ham, faylni faqat uning egasi, katalog egasi yoki root o'chira/nomini o'zgartira oladi. /tmp hamma yoza oladigan katalog (1777), sticky bit bo'lmasa, bir foydalanuvchi boshqasining fayllarini o'chirib yuborishi mumkin edi.
10. su, su - va sudo farqi nima?
Javob
su boshqa foydalanuvchiga o'tadi (muhit qisman eski qoladi), su - esa to'liq login shell ochadi (maqsadli foydalanuvchining PATH i, uy katalogi). Ikkalasi ham maqsadli foydalanuvchining parolini so'raydi. sudo bitta buyruqni o'z parolingiz bilan, sudoers dagi ruxsatlarga muvofiq boshqa foydalanuvchi (odatda root) nomidan bajaradi va har chaqiruvni jurnalga yozadi, shu sabab root parolini tarqatish shart emas.
11. /etc/sudoers ni nega faqat visudo bilan tahrirlash kerak?
Javob
visudo faylni saqlashdan oldin sintaksisni tekshiradi. sudoers dagi xato sudo ni butunlay ishdan chiqarishi va natijada administrator huquqini yo'qotishga olib kelishi mumkin. Alohida sozlamalar /etc/sudoers.d/ ichida (fayl ruxsati 0440) saqlanadi. Qoidalarda buyruqning to'liq yo'li ko'rsatiladi va NOPASSWD ehtiyotkorlik bilan beriladi.
12. Asosiy (primary) va qo'shimcha (supplementary) guruh farqi nima? Guruhga qo'shilganda nega qayta kirish kerak?
Javob
Asosiy guruh /etc/passwd da ko'rsatiladi va foydalanuvchi yaratgan yangi fayllarga beriladi (SGID katalogdan tashqari). Qo'shimcha guruhlar ruxsat tekshiruvida qo'shimcha huquq beradi. Guruh a'zoligi sessiya boshlanganda o'qiladi: usermod -aG dan keyin ochiq sessiya eski ro'yxat bilan ishlayveradi, shu sabab qayta kirish yoki newgrp kerak. -ani unutish foydalanuvchini boshqa guruhlardan chiqarib yuboradi.
13. ACL nima va oddiy ruxsatlardan qachon afzal?
Javob
Standart modelda faqat bitta egasi, bitta guruh va "boshqalar" bor. ACL (setfacl, getfacl) aniq foydalanuvchi yoki guruhga alohida huquq berish imkonini beradi, egasi/guruhni o'zgartirmasdan. Misol: umumiy kataloga faqat bitta auditorga o'qish huquqi. ls -l da ruxsat oxirida + belgisi ACL borligini bildiradi.
14. Nima uchun xizmatlarni root bilan ishga tushirish xavfli? Eng kam imtiyoz tamoyili nima?
Javob
Root bilan ishlayotgan xizmat zaiflik orqali buzilsa, hujumchi butun tizimga ega bo'ladi. Eng kam imtiyoz (least privilege) — har bir foydalanuvchi va xizmat faqat o'z vazifasi uchun zarur minimal huquqqa ega bo'lishi. Amalda: alohida tizim foydalanuvchisi (nologin shell bilan), cheklangan fayl ruxsatlari va sudo da faqat kerakli buyruqlar.
15. Faylni o'chirish uchun qaysi huquq kerak? Faylga chmod 000 qo'yilgan bo'lsa-chi?
Javob
Faylni o'chirish katalog yozuvini o'zgartirish bo'lgani uchun, katalogda w va x huquqi kerak (sticky bit bo'lsa, qo'shimcha egalik sharti). Fayl ruxsati 000 bo'lsa ham, katalogga yozish huquqi bor foydalanuvchi uni o'chira oladi, lekin mazmunini o'qiy olmaydi. Root ruxsatlarga qaramay hamma narsani qila oladi (SELinux va o'zgarmas bit chattr +i bundan mustasno).