ЛАБОРАТОРНЫЙ ПРАКТИКУМ: "КОМАНДНАЯ ОБОЛОЧКА 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 hackerv100-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.txtv100-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 hackerv100-1@beta:~> chmod u-r hackerv100-1@beta:~> ls -l d-wxr-xr-x 4 v100-1 v100 96 Окт 30 07:43 hackerv100-1@beta:~> cd hackerv100-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 hackerv100-1@beta:~> ls -l drw-r-xr-x 4 v100-1 v100 96 Окт 30 07:43 hackerv100-1@beta:~> cd hacker -bash: cd: hacker: Отказано в доступеv100-1@beta:~>
Пример 3.10. Право на запись в каталог
v100-1@beta:~> chmod u+x-w hackerv100-1@beta:~> ls -l dr-x-r-xr-x 4 v100-1 v100 96 Окт 30 07:43 hackerv100-1@beta:~> cd hackerv100-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/thievev100-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.txtv100-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.txtv100-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.txtv100-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.txtv100-1@beta:~/hacker/crack/question/thieve> cat >> hacker1.txt -bash: hacker1.txt: Отказано в доступеv100-1@beta:~ /hacker/crack/question/thieve>