Shell ssenariysiga buyruq sifatida o‘z nomingizni berib bajarish uchun siz ssenariydagi fayl ustida o‘qish va bajarish uchun ruxsatga ega bo‘lishingiz kerak. O‘qishga ruxsat skriptdagi faylni o‘qishga imkon beradi. Bajarishga ruxsat esa shell va tizim egasi, guruh yoki barchaga fayl bajarishga ruxsat borligini xabar qiladi; bu fayl tarkibi bajarilishi mumkinligini anglatadi.
Shell ssenariysini oddiy matn muharriri orqali yaratilganda bajarilish uchun ruxsatga ega bo‘lmaydi. Quyidagi misolda skriptdan iborat whoson nomli fayl keltirilgan:
$ cat whoson
date
echo "Users Currently Logged In" who
$ whoson
bash: ./whoson: Permission denied
siz whoson ga buyruq sifatida o‘z nomingizni berib bajara olmaysiz, chunki, sizda faylni bajarish uchun ruxsatga ega emassiz. Shell whoson ni bajariluvchi fayl deb tanimaydi va bajarilishda xatolik haqida xabar qiladi. Faylga bash argumenti sifatida nom berganingizda bash argumentni shell ssenariysida bo‘lish va bajarish uchun qabul qiladi. Bu holda bash bajarilishi mumkin va whoson bajarilishga ruxsat olishi kerak bo‘lmagan argument hisoblanadi.
$ ls -l whoson
-rw-rw-r-- 1 alex group 40 May 24 11:30 whoson
$ chmod u+x whoson
$ ls -l whoson
-rwxrw-r-- 1 alex group 40 May 24 11:30 whoson
$ whoson
Sat May 24 11:40:49 PDT 2008
Users Currently Logged In jenny pts/7 May 23 18:17
hls pts/1 May 24 09:59
scott pts/12 May 24 06:29 (bravo.example.com)
alex pts/4 May 24 09:08
chmod utilitasi fayl bilan bog‘liq holda ruxsat huquqini o‘zgartiradi. Yuqorida ls –l qo‘shimchasi bilan whoson ga chmod fayl egasiga bajarilish uchun ruxsatni oldin va keyin berishi ko‘rsatilgan.
Birinchi ls defisni (-)4 simvol sifatida ko‘rsatib, egaga faylni bajarilish uchun ruxsat yo‘qligini ko‘rsatmoqda. Keyin chmod egaga bajarilish uchun ruxsat bermoqda: fayl egasiga (u) bajarilish uchun ruxsat(x) qo‘shish (+) uchun u+x chmod chaqirilmoqda. Ikkinchi argument fayl nomi hisoblanadi. Ikkinchi ls x ni 4 o‘rinda ko‘rsatmoqda, bu bilan fayl egasi bajarilishga ruxsatga egaligini ko‘rsatmoqda.
Agarda 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 urinuvchi
foydalanuvchi faylni o‘qish uchun ruxsatga ega bo‘lishi zarur. Ikkilik bajarilish uchun o‘qishga ruxsat kerak emas.
Do'stlaringiz bilan baham: |