|
Agarda boshqa foydalanuvchilar fayl bajamoqchi bo‘lsa faylga ruxsatni
|
bet | 3/4 | Sana | 03.06.2024 | Hajmi | 0,68 Mb. | | #259542 |
Bog'liq linuxAgarda boshqa foydalanuvchilar fayl bajamoqchi bo‘lsa faylga ruxsatni
guruh yoki barchaga o‘zgartirish zarur. Har qanday foydalanuvchi fayl nomini buyruq sifatida foydalanish uchun bajarish uchun ruxsatga ega bo‘lishi kerak. Agarda fayl shell skript ko‘rinishida bo‘lsa uni ishga tushurishga urinuvchifoydalanuvchi faylni o‘qish uchun ruxsatga ega bo‘lishi zarur. Ikkilik bajarilish uchun o‘qishga ruxsat kerak emas.
Parametrlar va o’zgaruvchilar
Shell ichida foydalanuvchi foydalanishi mumkin bo‘lgan qiymatlar shell
parametrlari bilan bog‘liq. Shell parametrlarining bir necha ko‘rinishlari mavjud.
Harflardan, raqamlardan va pastki chiziq simvolidan iborat nomli parametlar odatda shell o‘zgaruvchi yoki oddiy o‘zgaruvchi deyiladi. O‘zgaruvchi nomi raqam bilan emas, balki, harfdan yoki pastki chiziq simvolidan boshlanishi kerak. Masalan, A76, MY_CAT va _____ nomlaridan foydalanish mumkin va 69-ko‘cha
(raqam bilan boshlanish) va MY-NAME (defisdan iborat) dan foydalanib
bo‘lmaydi. Siz nomlovchi va qiymat o‘zlashtiruvchi shell o‘zgaruvchilar foydalanuvchi tomonidan yaratilgan o‘zgaruvchilar hisoblanadi. Foydalanuvchi tomonidan yaratilgan o‘zgaruvchilarni istalgan vaqt o‘zgartirish mumkin yoki ularni faqatgina o‘qish uchun qilib qo‘yishingiz mumkin, shunday uni qiymatarni o‘zgartirishingiz
mumkin emas. Siz foydalanuvchi tomonidan yaratilgan o‘zgaruvchilarni global qilib qo‘yishingiz mumkin. Global o‘zgaruvchilar barcha qobiq va dasturlar uchun ochiqdir. Bir shart bilan, global o‘zgaruvchilarda faqat katta harflardan boshqa o‘zgaruvchilarda esa kichik harfalrdan foydalanish maqsadga muvofiq.
Bourne Again Shell sizga buyruqlar qatorida o‘zgaruvchilarga tenglikni amalga oshirishga imkon beradi. Bu belgilanishlar buyruqar qobig‘I uchun local hisoblanadi, ya‘ni buyurish uchun faqatgina. My_script shell skripti TEMPDIR
qiymatini ko‘rsatadi. Keyingi buyruqmy_script ni ishga tushurib TEMPDIR ni /home/sam/temp qilib o‘rnatadi. Echo interaktiv shell my_script ishga tushgandan so‘ng TEMPDIR uchun hech qanday qiymatga ega emasligini ko‘rsatadi. Agarda
TEMPDIR my_script ishlayotgan interaktiv shelldao‘rnatilgan bo‘lsa bu uning qiymatiga hech qanday ta‘sir ko‘rsatmaydi.
so‘ng TEMPDIR uchun hech qanday qiymatga ega emasligini ko‘rsatadi. Agarda TEMPDIR my_script ishlayotgan interaktiv shelldao‘rnatilgan bo‘lsa bu uning qiymatiga hech qanday ta‘sir ko‘rsatmaydi.
Jarayonlar
Fayl strukturasiga o‘xshab jarayon strukturasi ham onalari, bolalari va hatto root ierarxikdir. Ona jarayon o‘z navbatida boshqa jarayonlarga bo‘linuvchi bola jarayonga bo‘linadi.(Bo‘linish (fork) so‘zi, yo‘llarning bo‘linishi kabi bir
jarayonni ikkitaga aylanishini bildiradi. Avval ikkita fork biri ona, biri bola bo‘lishidan tashqari bir xil bo‘ladi.) Yangi jarayonlar yaratuvchi operatsion tizim kundalik ishi(rutinasi) yoki tizim chaqiruvi (system call) fork deb nomlanadi.
Tizim boshlanganda, Linux ijroni boshlaganda u 1 raqamli PID bilan initsalizatsiyani, spontan (ixtiyoriy) jarayon deb nomlanuvchi yagona jarayonni boshlaydi. Bu jarayon jarayon strukturasida root direktoriyasi fayl strukturasida
egallagandek pozitsiyani egallaydi: Bu tizim va foydalanuvchilar ishlaydigan hamma jarayonlarning ajdodidir. Tizim multifoydalanuvchi rejimida ishlaganida
init getty yoki mingetty jarayonlarini ishga tushiradi (loginni ko‘rsatadi: terminalva virtual konsoldagi yordam). Kimdir yordamga javob berib RETURNni bosganda getty foydalanuvchi nomi va parol kombinatsiyasini tekshiruvchi, login
deb nomlanuvchi utilita ustidan nazoratni o‘z qo‘liga oladi. Foydalanuvchi kirgandan keyin login jarayonifoydalanuvchining shell jarayoniga aylanadi.
Jarayon identifikatsiyasi
Linux har bir jarayonning boshida unikal PID (process identification- jarayon identifikatsiyasi) raqam o‘rnatadi. Qancha uzoq muddat jarayon mavjud bo‘lsa, u shuncha payt bir xil PID raqamga ega bo‘ladi. Bitta seans davomida bir
xil jarayon har doim login shellini bajaradi. Yangi jarayonni bo‘layotganingizda, masalan, tahririlovchidan foydalanilganda yangi (bola) jarayonning PID raqami uning ona jarayoninikidan turlicha bo‘ladi.Siz login shellga qaytib kirganingizda,
boshida kirganingizdagi huddi o‘sha jarayon, huddi o‘sha PID raqam bilan bajarilayotgan bo‘ladi. Quyidagi misol ishlayotgan ps jarayon shell (ona) jarayonidan bo‘linib chiqganini ko‘rsatadi(242-bet). Siz uni –f parametri orqali
chaqirganingizda ps har bir jarayon haqidagi ma‘lumotning to‘liq ro‘yxatini ko‘rsatadi. PS displeyi qatori bilan CMD ustunidagi bash ishlayotgan shell jarayoniga qaraydi. PID deb nomlangan ustun PID raqamni aniqlaydi. PPID deb
nomlangan ustun ona jarayon PID raqamini aniqlaydi. PID va PPID ustunlaridan ishlayotgan shell jarayoni (PID 21341) sleep rejimidagi jarayonning (PID 22789) onasi ekanligini ko‘rishimiz mumkin. Sleepning ona PID raqami shellning PID
raqami (21341) bilan bir xil bo‘ladi.
Amaliy QISIM
1-usul: Ctrl + Alt+T orqali
2-usul: Qidiruv bo’limida “Terminal” nomini kiritish orqali
|
| |