Смекни!
smekni.com

Права доступу до файлів в ОС Unix

Міністерство освіти України

Львівський державний університет ім. І. Франка

Факультет прикладної математики

та інформатики

Звіт

про виконання практичного завдання з курсу

"Лабораторії спеціалізації"

Львів – 1998

Права доступу до файлу.

В OS UNIX існує три базових класа прав доступу до файлу,в кожному з яких встановлені відповідні права доступу:

User access(u) Для власника-користовача файлу
Group access(g) Для членів групи,що є власником файла
Other access(o) Для решти користувачів(крім суперкористувача)

UNIX підтримує три типи прав доступу для кожного класу:

· На читання(read,символ r)

· На запис(write, символ w)

· На виконання(execute, символ x)

Список прав доступу до файлу можна отримати за допомогою команди

ls –l.

Права доступу можуть бути змінені лише власником файлу або суперко

ристувачем (superuser)-адміністратором системи. Для цього використо-

вується команда chmod:

Ось загальний формат цієї команди:

file1 file2

В якості аргументів команда приймає вказівку класів доступу(‘u’-влас

ник-користувач,’g’-власник-група,’o’-решта користувачів,’a’-всі класи

користувачів), права доступу(‘r’-читання,’w’-запис,’x’-виконання) і опе

рацію, яку необхідно виконати (‘+’-добавити,’-‘- видалити,’=’ –присво

їти) для списку файлів file1,file2 і т. ін.

Завдання:

1.Написати програму діалогової зміни права доступу до файлу.

echo "choose:1.read only 2.edit 3.execute"

read x

case $x in

1)chmod +r-x-w $1;;

2)chmod +w+r-x $1;;

3)chmod +x-w-r $1;;

esac

2.Всі програми на Фортрані перекопіювати в каталог FORT,всі програ-

ми на асемблері перекопіювати в каталог ASEMBLER,всі програми на

сі перекопіювати в каталог С.

cp CATALOG/*.fort FORT

cp CATALOG/*.c C

cp CATALOG/*.asm ASEMBLER

3.Написати програму обрахунку площі трикутника за координатами йо-

го трьох вершин.

awk ' {

print("Input co-ordinates:");

a1=$1;

a2=$2;

b1=$3;

b2=$4;

c1=$5;

c2=$6;

a=sqrt( (a1-b1)*(a1-b1) + (a2-b2)*(a2-b2));

b=sqrt( (a1-c1)*(a1-c1) + (a1-c2)*(a1-c2));

c=sqrt( (b1-c1)*(b1-c1) + (b2-c2)*(b2-c2));

p=(a+b+c)/2;

s=sqrt( p *(p-a) *(p-b) *(p-c));

print("Area S= " s);

}'

Література:

1)Робачевський А.М.

“Операционная система UNIX”-BHV-Санкт-Петербург ,1997