Права доступу до файлів в ОС 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