- •Оглавление
- •Введение
- •Лабораторная работа 1 Операционная система Linux в графическом режиме
- •1.1. Изучим элементы рабочего стола gnome
- •1.2. Познакомимся с авторами интегрированной среды gnome и других программ
- •1.3. Создадим панель и изучим порядок изменения ее свойств
- •1.4. Освоим порядок изменения свойств программы Наутилус
- •1.5. Изучим управление свойствами окна в графической среде gnome
- •1.6. Сохраним в виде графического файла содержимое экрана
- •1.7. Освоим программу создания архивов в графическом режиме
- •1.8. Используем простой текстовый редактор для подготовки командного файла – сценария
- •1.9. Изучим действия, позволяющие ассоциировать документ с приложением
- •Лабораторная работа 2 Основы использования командной строки
- •2.1. Выполним первые действия в командном режиме
- •2.2. Изучим команды, сообщающие информацию о программно-аппаратном комплексе компьютера
- •2.3. Познакомимся с командой echo, и переменными оболочки
- •2.4. Изучим систему помощи в командном режиме семейства unix/Linux
- •2.5. Изучим, что такое команда
- •2.5.1. Рассмотрим типы и количество команд
- •2.5.2. Рассмотрим параметры командной строки
- •2.5.3. Рассмотрим использование нескольких опций одной команды
- •2.6. Рассмотрим использование специальных символов оболочки
- •2.7. Изучим историю набранных команд и средства редактирования командной строки
- •2.8. Рассмотрим простейшее использование текстового редактора VI
- •VI file_one
- •2.9. Ознакомимся с основами работы с программой Midnight Commander
- •Лабораторная работа 3 файловая система
- •3.1. Изучим иерархическую файловую систему
- •3.2. Рассмотрим права доступа к файлам
- •3.3. Рассмотрим типы файлов
- •3.4. Рассмотрим примеры файлов разного типа
- •3.5. Рассмотрим команды работы с каталогами
- •3.5.1. Научимся создавать каталоги
- •VI script3
- •VI script4
- •3.5.2. Научимся удалять каталоги
- •3.5.3. Научимся копировать и перемещать файлы и каталоги
- •3.5.4. Изучим возможность выполнять разные операции над каталогами с разными правами доступа
- •3.6. Рассмотрим использование ссылочных файлов
- •3.7. Изучим понятие таблицы иноде (inode)
- •3.8. Расширим понимание и умение использовать команды less и more
- •3.9. Рассмотрим сортировку содержимого файлов
- •3.10. Познакомимся с командой grep
- •3.11. Познакомимся с командой diff
- •3.12. Познакомимся с командой find
- •1) Find / -name echo
- •4.1. Рассмотрим классификацию процессов Linux
- •4.2. Изучим команды получения информации о загруженности системы и активных пользователях
- •VI working
- •4.3. Познакомимся с командами top и ps
- •Vim topfile
- •4.4. Рассмотрим работу в фоновом режиме
- •4.5. Рассмотрим управление приоритетами процессов
- •4.6. Изучим простые возможности обмена информацией между пользователями
- •4.7. Рассмотрим средства управление ресурсами пользователя
- •Лабораторная работа 5 Сценарии в операционной системе Linux
- •If условие
- •If условие
- •If условие
- •Библиографический список
3.2. Рассмотрим права доступа к файлам
Несмотря на то, что основы операционных систем закладывались во времена, когда «хакерства» не было, но авторы UNIX думали о безопасности с первых дней. Первым ее элементом является защита во время регистрации сеанса пользователя, который открывается по паролю. Но файловая система имеет свои собственные средства защиты. Одно из них строится на правах доступа ко всем файлам. Для каждого из них обязательно определены права совершать три операции: чтения, записи и исполнения. С точки зрения этих прав, пользователи системы поделены на три категории:
сам владелец файла,
группа пользователей, к которой принадлежит владелец,
все остальные.
Все девять значений, определяющие для этих групп пользователей возможность реализовать эти три операции, выводятся командой ls с опцией -l. В результате ее выполнения для каждого файла выводится отдельная строка. В ней девять символов, которые занимают позиции со второй по десятую, показывают установленные права доступа к файлу. К примеру, если для какого то файла его владельцу разрешены все три действия, то символы со второго по четвертый будут такими rwx. Первый из символов показывает допустимость операции читать (read), второй – писать (write) и третий – исполнять (execute). Если какое-то из действий не разрешено, то на соответствующем месте будет символ «–». Например, такой набор девяти символов rwxr-xr--, определяет, что владельцу файла разрешены все три операции, членам его группы ‑ чтение и исполнение, а всем остальным пользователям – только чтение.
Для смены прав доступа к файлу в командном режиме используется утилита chmod. Ей указывается:
1. Для каких пользователей меняются права (u – user, для владельца; g – groupe, для членов его группы; o – other, для всех остальным пользователям, кроме его самого и членов группы; a – all, всем пользователям вообще).
2. Операцию, которую надо выполнить (+ добавить; - запретить или = установить).
3. Набор символов, определяющих какие действия разрешены (любой из символов r, w, x или их комбинация) или запрещены (символ дефис «-»).
Первые три элемента записываются без пробелов. Далее после как минимум одного пробела задается аргумент команды.
4. Имя, список или шаблон файла.
К примеру, такая команда
chmod a+x file
добавляет для всех пользователей права на выполнения файла. Следующая
chmod g=w z*
установит для пользователей группы владельца все файлам, начинающимся на букву z, право писать.
Права доступа к файлу могут быть записаны и в цифровом эквиваленте. Например, такой набор rwxr-xr-- преобразуется в такие тройки цифр 111 (rwx), 101 (r-x) и 100 (r--). Получаем, что rwxr-xr—эквивалентно числу 754 в восьмеричной записи.
Задание 26.
Изучите, можно ли символьным обращением задать изменение прав разных пользователей, или это делается только цифровым способом.
3.3. Рассмотрим типы файлов
Каждая система предполагает наличие составляющих ее элементов. В случае ФС – это файлы. Перечислим их типы.
1. Обыкновенные (регулярные) файлы. Это, конечно, прежде всего, программы. Даже ядро системы Linux относится к этому типу. Но есть и много других, например, файлы настроек, сохраняющие рабочие свойства программ, документы, создаваемые пользователями.
2. Каталоги. Для удобства работы с тысячами и даже сотнями тысяч элементов файловой системы вводится иерархическая система, в основе которой каталоги. Как мы уже отмечали, для семейства UNIX/Linux корнем иерархии файловой системы является только одна вершина. Ее имя «/». В Windows количество корневых вершин определяется составом внешних устройств.
3. Файлы устройств. Они существуют в системе для единообразия основных операций с устройствами. Притом, что ФС UNIX позволяет подключать широкий спектр оборудования, устройства бывают двух видов – символьные (например, консоль) или блочные (их примером служат диски). Первые используются для передачи данных без буфера, а вторые производят обмен данными пакетами фиксированной длины – блоками.
4. Связи. Их наличие позволяет иметь доступ к файлу из разных точек иерархической системы. Они бывают двух видов – жесткие и символические. Для первых характерно равноправие всех ссылок. Во втором случае значение ссылки представляет полный путь к файлу (его размер равен количеству символов в полном имени).
5. Именованные каналы (named pipe) или файлы типа fifo. Этот тип файлов используется на системном уровне для передачи данных между процессами.
6. Сокеты. Они применяются в сетевых технологиях. Интерфейс сокетов часто используют для реализации доступа к сетям с поддержкой TCP/IP. Такой же механизм применяют для межпроцессорного взаимодействия при реализации системных сервисов.
Узнать о типе файла, можно задавая команду file. Она на основании специального файла (его имя magic) и некоторых эвристических правил выдает описание типа изучаемого файла, его принадлежность к одной из многочисленных групп (исполнимый файл, документ, архивный файл определенного типа и т.д.).
Первый символ команды ls с опцией -l для каждого файла указывает принадлежность одному из пернечисленных выше типов. Существует следующее закрепления символов (в правом столбце приведено соответствие символов и типов файлов, принятое в популярном для UNIX файловом менеджере Midnight Commander).
Тип файла |
Символ типа в ls |
Символ типа в mc |
простые (обыкновенные файлы) |
нет символа |
* для исполнимых файлов или нет символа |
каталоги |
d |
/ |
символьные файлы устройств |
b |
- |
блочные файлы устройств |
c |
+ |
жесткие ссылки |
нет символа |
нет символа |
символические ссылки |
l |
@ ~ |
файлы типа fifo |
p |
| |
сокеты |
s |
= |