- •Список тем к курсу Red Hat Enterprise Linux
- •Уровни работы ос: уровень ядра и пользователя
- •Назначение и функции ядра ос и системные компоненты (модули ядра, библиотеки и драйвера)
- •Файловая система как способ организации данных на диске
- •Назначение и содержимое супер-блока
- •Индексный узел (I-node). Файлы и каталоги.
- •Жесткие (hard) и символные (symbolic) ссылки
- •Файлы устройств
- •Дерево каталогов: корень и стандартные папки. Содержимое и назначение стандартных каталогов
- •Виды устройств: символьные, блочные. Стандартные устройства: console, null, random, stdin, stdout, stderr
- •Монтирование и работа с mount, umount, fstab
- •Виртуальная файловая система (vfs): назначение и организация
- •Страничная организация памяти и виртуальная память процессов
- •Процесс и контекст процесса: pid, ppid, process state, uid, priority. Потоки
- •Механизм создания процессов и потоков (функция fork)
- •Разделяемая память
- •Переменные окружения
- •Сигналы
- •Shell: назначение, приглашение
- •Shell: логические функции и спец. Символы &&, ||. Возвращаемые программами значения
- •Пользователи и группы. Uid, gid, euid, основная группа в которую входят пользователи.
- •Безопасность в Linux. Права доступа к файлам.
- •Авторизация и аутентификация. Процесс входа пользователя в систему.
- •Пользователь root
- •Конфигурационные файлы. Примеры, формат и назначение.
- •Системные службы (демоны): локальные и сетевые
- •Службы syslog и cron
- •Сетевая подсистема Linux. Сетевой интерфейс, сокеты, стек tcp/ip. Службы dns, dhcp. Файлы hosts, resolv.Conf и настройки сетевых адаптеров. Маршрутизация.
- •Работа со справкой: справка самих команд (вызов с аргументов --help), работа с man, info и whatis
- •Работа с текстовым редактором VI
- •Процесс загрузки ос. Mbr, Загрузочные скрипты, загрузчик, уровни загрузки.
- •Программа init, inittab и другие настройки загрузки.
- •Команды ls, cd, cp, mv, rm, ln, touch, cat, find, mkdir, tar gzip
- •Команды , echo, more, less, tail, head, file
- •Команды useradd, userdel, groupadd, groupdel, usermod, passwd, groupmod
- •Команды ps, top, nice, kill, killall
- •Команды chmod, chown, chgrp
- •Команды ifconfig, ping, route, netstat, traceroute
Пользователь root
Пользователь root (он же суперпользователь) имеет нулевые UID и GID и играет роль доверенного субъекта UNIX. Это значит, что он не подчиняется законам, которые управляют правами доступа, и может по своему усмотрению эти права изменять. Большая часть общезначимых (не принадлежащих конкретным пользователям) компонентов системы доступна для модификации только суперпользователю.
Как было сказано ранее (см. раздел «Беглый взгляд на архитектуру UNIX»), в UNIX существует уровень доступа ядра и уровень доступа системы. Суперпользователь работает на уровне доступа ядра, так что он является, по сути, неотъемлемым компонентом самой системы.
Многие команды должны исполняться только от имени суперпользователя, так как в них производится взаимодействие с частями ядра, отвечающими за взаимодействие с аппаратурой, правом доступа и т. п. Если же такие команды разрешается запускать простым пользователям, применяется рассмотренный выше механизм подмены идентификатора пользователя.
Администрирование в UNIX (т. е. управление общезначимыми характеристиками системы) требует привилегий суперпользователя. При работе с повышенными привилегиями, в особенности от имени пользователя root следует быть очень осторожным: выполнение неверной команды может привести к выходу системы из строя и утрате информации. Поэтому даже администраторы никогда не работают в командной оболочке с правами суперпользователя всё время, а переходят в режим суперпользователя только тогда, когда это действительно необходимо (например, с помощью команды su).
Конфигурационные файлы. Примеры, формат и назначение.
/etc
В этом каталоге находятся системные конфигурационные файлы. В качестве примеров можно привести файлы /etc/fstab, содержащий список монтируемых файловых систем, и /etc/resolv.conf, который задаёт правила составления локальных DNS-запросов. Среди наиболее важных файлов — скрипты инициализации и останова системы. В системах, наследующих особенности UNIX System V, для них отведены каталоги с /etc/rc0.d по /etc/rc6.d и общий для всех файл описания — /etc/inittab.
Системные службы (демоны): локальные и сетевые
Системные службы (system services) — это программы, предоставляющие некоторую «услугу» (сервис) пользователям системы. Примером может быть служба, динамически создающая необходимые файлы устройств при обращении к ним (udevd) или служба системного журнала, которая рассортировывает по файлам журналов полученные от процессов системы сообщения о происходящих с ними событиях. Как правило, системные службы запускаются при загрузке системы. Каждой системной службе соответствует стартовый скрипт (init script) — специальная программа, осуществляющая запуск и останов демона или программы, которая и обеспечивает функциональность службы.
Сетевые службы
В современных UNIX-системах существует множество сетевых служб, решающих самые разные задачи. Можно выделить несколько служб, которые чаще всего используются администраторами.
Служба sshd
Эта служба отвечает за запуск и останов демона sshd, который обеспечивает доступ к системе посредством защищённого удалённого терминала. Такой сервер обычно запускается на всех узлах, для которых предполагается удалённый вход пользователей или администрирование.
Служба sendmail или postfix
sendmail — один из самых распространённых почтовых серверов. Он реализует Internet-протоколы, связанные с отправлением почты (в первую очередь SMTP) как в рамках локальной машины, так и через Internet. Даже если узел не является почтовым сервером, служба sendmail служит для передачи писем между пользователями системы. Альтернативной широко распространённой почтовой службой является программа postfix.
Служба inetd
inetd (и его более развитая версия xinetd) — это супер-сервер, объединяющий множество сетевых служб. По сути этот сервер выполняет роль транспорта для сетевых служб: слушает на заданом порту, при входящем соединении запускает указанный для этого порта процесс и перенаправляет стандартный ввод и вывод программы в tcp-соединение. При этом правила доступа, ограничение по числу параллельных соединений, журналирование и т.п. организуются демоном inetd и настраиваются в его конфигурационных файлах.
Службы nfs и portmap
Демон сетевой файловой системы NFS (Network File System), которая поддерживается в большинстве UNIX-систем. Служба portmap, необходимая для работы NFS, позволяет использовать протокол удалённого вызова процедур (RPC).
Служба ntpd
Эта служба отвечает за запуск и останов демона, реализующего протокол синхронизации времени с удалёнными серверами точного времени в сети.
Служба samba
samba — это набор служб по организации сетевого файлового хранилища на основе протокола CIFS, используемого в сетевых файловых системах MS Windows. Широко применяется при взаимодействии UNIX-серверов и клиентских машин под Windows.
Служба cups
CUPS — сервер печати для UNIX-систем. Служба осуществляет запуск и останов соответствующего демона.
Служба bind
bind (или named) — самый распространённый сервер доменных имён для UNIX.
