Цикл довузовской подготовки кафедры ЭФУ

ЛАБОРАТОРНЫЙ ПРАКТИКУМ:
"КОМАНДНАЯ ОБОЛОЧКА UNIX"

СТРУКТУРА ПРАКТИКУМА

ЗАДАНИЯ ПРАКТИКУМА

ЗАДАНИЕ №1

ЗАДАНИЕ №2

ЗАДАНИЕ №3

ЗАДАНИЕ №4

ЗАДАНИЕ №5

ВВЕДЕНИЕ

НЕОБХОДИМАЯ ИНФОРМАЦИЯ

Host Name рабочего сервера

Приглашение командной строки

Редактирование командной строки

Стандартные обозначения

Используемые команды

1. СЕАНС РАБОТЫ В UNIX-СИСТЕМЕ

1. Терминал и командная строка

2. Логины, пароли и доступ к серверу

3. Вход в систему/завершение работы

2.ФАЙЛОВАЯ СИСТЕМА UNIX

1. Файлы и каталоги. Абсолютный (полный) путь

2. Домашний и текущий каталог. Относительный путь

3. Просмотр структуры каталогов и файлов

4. Создание и удаление каталогов и файлов

5. Пример построения дерева каталогов

6. Копирование и перемещение файлов

3.ЧТО ДОЛЖЕН ЗНАТЬ НЕ ТОЛЬКО СИСАДМИН

1. Учетные записи и пользователи

2. Задачи и процессы в системе

3. Права доступа к файлам и каталогам

4. Ввод/вывод и конвейеры

5. Поиск и обработка текстовых данных

4.ФАЙЛОВЫЙ МЕНЕДЖЕР MIDNIGHT COMMANDER

1. Внешний вид, начало и завершение работы

2. Работа с каталогами и файлами

3.3. Права доступа к файлам и каталогам

Для UNIX, как многопользовательской системы, одной из актуальных проблема является регламентирование доступа к некоторому файлу со стороны пользователей. В отношении доступа к файлу все пользователи делятся на три категории:


u – user (пользователь, собственник файла);
g – group (группа);
o – other (все остальные).
		

Следует отметить, что термин и понятие group (группа) в UNIX-системах ни как не связан с организационно-административным делением людей (например, делением курса университета на студенческие группы). Как правило, в одну группу (group) объединяют пользователей, которым для работы необходим доступ к одним и тем же информационным и вычислительным ресурсам системы. Соответственно, один и тот же пользователь может быть членом нескольких системных групп одновременно.

Под правами доступа понимаются права (или ограничения) в отношении действий и операций с файлом. В UNIX такие действия подразделяются на три группы:


r – read (право на чтение);
w – write (право на запись);
x – execute (право на использование).
		

Право на чтение файла (атрибут r) означает, что пользователь может просматривать содержимое файла с помощью различных команд, например: cat, more или с помощью текстового редактора. Однако, редактируя содержимое файла в текстовом редакторе, пользователь не может сохранить изменения на диск, при отсутствии права на запись файла (атрибут w). Право на выполнение (атрибут x) означает, возможность запускать файл как исполняемую программу или скрипт, но не подразумевает возможности редактирования и даже просмотра.

По отношению к каталогам понятия «право на чтение», «право на запись» и «право на выполнение» имеют несколько другой смысл. Право на чтение каталога дает возможность просматривать его содержимое, т.е. список файлов и подкаталогов. Право на запись позволяет создавать и удалять файлы и подкаталоги. Право на выполнение дает возможность делать каталог текущим и обращаться к файлам и подкаталогам.


Команда ls – просмотр прав доступа к файлам и каталогам


Пример 3.6. Права доступа в текущей директории

v100-1@beta:~> ls –l
drwx--S--- 4 v100-1 v100  96 Окт 26 19:09 hacker
v100-1@beta:~>
		

Для просмотра прав доступа к файлам и подкаталогам текущей директории используется команда ls –l (Пример 3.6 – в данном примере предполагается, что текущей директорией является домашний каталог).


Пример 3.7. Права доступа в указанной директории

v100-1@beta:~> ls –l hacker/crack/question/thieve
-rw-r--r-- 1 v100-1 v100 0 Окт 30 11:05 hacker1.txt
-rw-r--r-- 1 v100-1 v100 0 Окт 30 11:05 hacker2.txt
-rw-r--r-- 1 v100-1 v100 0 Окт 30 11:05 hacker3.txt
-rw-r--r-- 1 v100-1 v100 0 Окт 30 11:05 hacker4.txt
-rw-r--r-- 1 v100-1 v100 0 Окт 30 10:35 hck2.txt
v100-1@beta:~>
		

Для просмотра прав доступа к файлам и подкаталогам произвольной директории команде ls –l в качестве параметра необходимо указать соответствующий путь (Пример 3.7).

Выдача команды ls -l (Примеры 3.6, 3.7) представляет собой последовательность записей с атрибутами файлов и подкаталогов указанной (или текущей директории), их имена указаны в конце каждой записи. Запись, относящаяся к подкаталогу, начинается с литеры «d», а к файлу – с символа «-» (тире). Далее следует описание прав доступа к файлу (подкаталогу) для всех категорий пользователей, в очередности: u (user), g(group) и o(other). Полный набор прав доступа: r (чтение), w (запись) и x (использование) обозначается тройкой литер «rwx». Отсутствие того или иного права доступа обозначается прочерком, например «rw-» – отсутствует право x (использование) или «r--» – есть только право чтения. В записи также указано, кто является пользователем (категория u) группой (категория g) для данного файла – в приведенных примерах это v100-1 и v100, соответственно.

Для изменения прав доступа предназначена команда chmod. В качестве параметров этой команде указывается категория пользователя (u, g или o) плюс (или минус) право (r, w или x). Плюс означает добавление или установка права, а минус – отмену или запрет права. Ниже будут рассмотрены примеры изменения прав для категории u (пользователь), поскольку в рамках данного практикума для остальных категорий пользователей, в том числе g (группа) доступ в личный каталог закрыт.


Команда chmod – изменение прав доступа к файлам


Влияние изменения прав доступа на работу с каталогами можно изучить на примере каталога hacker, на который у пользователя изначально установлены все права: rwx. Если закрыть r-право для каталога crack, то его просмотр (например, командой ls) невозможен, хотя вполне получится сделать его текущим, из-за наличия x-права (Пример 3.8).


Пример 3.8. Право на чтение каталога

v100-1@beta:~> ls -l
drwxr-xr-x 4 v100-1 v100 96 Окт 30 07:43 hacker
v100-1@beta:~> chmod u-r hacker
v100-1@beta:~> ls -l
d-wxr-xr-x 4 v100-1 v100 96 Окт 30 07:43 hacker
v100-1@beta:~> cd hacker
v100-1@beta:~/hacker> ls
ls: невозможно открыть каталог .: Отказано в доступе
v100-1@beta:~/hacker>
		

Запрет x-права делает невозможным выбор каталога в качестве текущего (Пример 3.9), а запрет w-права не позволяет создавать внутренние подкаталоги и файлы (Пример 3.10).


Пример 3.9. Право на использование каталога

v100-1@beta:~/hacker> cd ~
v100-1@beta:~> chmod u+r-x hacker
v100-1@beta:~> ls -l
drw-r-xr-x 4 v100-1 v100 96 Окт 30 07:43 hacker
v100-1@beta:~> cd hacker
-bash: cd: hacker: Отказано в доступе
v100-1@beta:~> 
		


Пример 3.10. Право на запись в каталог

v100-1@beta:~> chmod u+x-w hacker
v100-1@beta:~> ls -l
dr-x-r-xr-x 4 v100-1 v100 96 Окт 30 07:43 hacker
v100-1@beta:~> cd hacker
v100-1@beta:~/hacker> mkdir new 
mkdir: невозможно создать каталог `new': Отказано в доступе
v100-1@beta:~/hacker> cat> new.txt
-bash: new.txt: Отказано в доступе
v100-1@beta:~/hacker>
		

Опыты по изменению прав доступа можно проделать так же с файлами, например, из каталога ~/hacker/crack/question/thieve. Право на выполнение (атрибут x) актуально только для исполняемых программ, поэтому для текстовых файлов смысла не имеет. Отмена права на чтение (атрибут r) закрывает возможность работы с файлом не только для текстовых редакторов, но и для команд просмотра: cat и more и др. (Пример 3.11).


Пример 3.11. Право чтения файла

v100-1@beta:~/hacker> cd  crack/question/thieve
v100-1@beta:~/hacker>/crack/question/thieve> ls –l
-rw-r--r-- 1 v100-1 v100 0 Окт 30 11:05 hacker1.txt
-rw-r--r—1 ………………………………………….
-rw-r--r-- 1 v100-1 v100 0 Окт 30 10:35 hck2.txt
v100-1@beta:~/hacker/crack/question/thieve> chmod u-r *
--w-r--r-- 1 v100-1 v100 0 Окт 30 11:05 hacker1.txt
--w-r--r-- 1………………………………………..….
--w-r--r-- 1 v100-1 v100 0 Окт 30 10:35 hck2.txt
v100-1@beta:~/hacker/crack/question/thieve> cat hck2.txt
cat: hck2.txt: Отказано в доступе
v100-1@beta:~/hacker>
		

Право на запись (атрибут w) связано с внесением изменений в текст или иное содержимое файла. Внесение таких изменений без применения текстового редактора возможно с использованием не деструктивного перенаправления стандартного вывода для команды cat (подробнее - п. 3.2) – это дает возможность добавлять текст в конец файла (Пример 3.12).


Пример 3.12. Добавление текста в конец файла

v100-1@beta:~/hacker/crack/question/thieve> chmod u+r *
v100-1@beta:~ /hacker/crack/question/thieve> ls -l
-rw-r--r-- 1 v100-1 v100 0 Окт 30 11:05 hacker1.txt
-rw-r--r—1 ………………………………………….
-rw-r--r-- 1 v100-1 v100 0 Окт 30 10:35 hck2.txt
v100-1@beta:~/hacker/crack/question/thieve> cat >> hacker1.txt
Новая строчка 
v100-1@beta:~/hacker/crack/question/thieve> cat  hacker1.txt
Если в сервер вашей фирмы
Вдруг забрался злобный хакер
Еще одна строчка
v100-1@beta:~ /hacker/crack/question/thieve>
		

Запрет права записи (w-права) закрывает как возможность добавления текста в файл командой cat (Пример 3.13), так вообще возможность внесения в файл любых изменений для всех без исключения утилит и приложений.


Пример 3.13. Право записи файла

v100-1@beta:~/hacker/crack/question/thieve> chmod u+r *
v100-1@beta:~ /hacker/crack/question/thieve> ls -l
-r--r--r-- 1 v100-1 v100 0 Окт 30 11:05 hacker1.txt
-r--r--r—1 ………………………………………….
-r--r--r-- 1 v100-1 v100 0 Окт 30 10:35 hck2.txt
v100-1@beta:~/hacker/crack/question/thieve> cat >> hacker1.txt
-bash: hacker1.txt: Отказано в доступе
v100-1@beta:~ /hacker/crack/question/thieve>