
- •1Изучение unix® (Linux)
- •1.1Человеко-машинные системы
- •1.2Процедурные системы
- •1.3Проективные системы
- •1.4Открытые технологии
- •1.4.1История развития gnu/Linux
- •1.4.2Архитектура и философия unix®.
- •2Компоненты unix®
- •2.1Ядро
- •2.2Управление памятью
- •2.3Управление процессами
- •2.4Демоны
- •2.5Понятие файла в Linux
- •2.6Организация хранения файлов
- •2.6.1Что такое файловая система?
- •2.7Файловые системы Linux
- •2.8Утилиты
- •2.9Типы программ
- •3Процедура загрузки ос Linux
- •3.1Основные конфигурационные файлы
- •3.2Загрузка в однопользовательском режиме
- •3.3Настройка общесистемных сервисов
- •3.3.1Редактирование файла /etc/fstab
- •3.4Файлы и разделы подкачки
- •3.5Запуск демонов
- •3.6Процессы
- •3.7Управление процессами
- •3.7.1Команда ps
- •3.7.2Команда top
- •3.7.3Приоритеты
- •3.7.4Сигналы и команда kill
- •3.7.5Перевод процесса в фоновый режим
- •3.8Gnu grub загрузчик
- •3.8.1Что такое grub?
- •3.8.2Компиляция и инсталляция программного пакета grub
- •3.8.3Инсталляция загрузчика grub
- •3.8.4Конфигурация grub
- •4Справочная система Linux
- •4.1Руководство (man)
- •4.1.1Утилита man
- •4.2Утилиты whatis и apropos
- •4.3Работа с man
- •4.3.1Система info
- •4.3.3Howto файлы
- •4.3.4Ресурсы в Интеренете.
- •5Оболочка, Shell, командный интерпетатор.
- •5.1Начало работы с Shell
- •5.2Программы
- •5.2.1Выполнение команд
- •5.3Команды Shell
- •5.3.1Опции
- •5.3.2Аргументы
- •5.3.3Исключения
- •5.4Виртуальные консоли
- •5.5Псевдонимы и переменные
- •5.6Навигация и редактирование
- •5.7История команд
- •5.8Простые регулярные выражения
- •5.9Запуск команды на выполнение
- •5.10Стандартный ввод/вывод
- •5.11Фильтры
- •6Shell как язык программирования
- •6.1Сценарий
- •6.2Запуск сценария
- •6.3Встроенные переменные
- •6.4Условия проверки
- •6.4.1Сложные условия поиска:
- •6.4.2Условный оператор "if"
- •6.4.3Конструкции
- •6.4.4Оператор вызова ("case")
- •6.4.5Пустой оператор
- •6.5Функции в shell
- •6.6Популярные команды
- •6.6.1Поиск файлов.
- •6.6.2Поиск внутри файла
- •7Управление пользователями
- •7.1Структура файла /etc/passwd
- •7.2Структура файла /etc/group
- •7.3Псевдопользователи
- •7.4Команды работы с учетными записями пользователей
- •8Установка программного обеспечения
- •8.1Утилита rpm
- •8.2Утилита Apt
- •8.2.1Использование apt
- •8.2.2Установка или обновление пакетов.
- •8.2.3Удаление установленного пакета.
- •8.2.4Обновление всех установленных пакетов
- •8.2.5Поиск в репозитарии
- •9Сборка по из исходных кодов
- •9.1.1Необходимые сведения о программировании на языке Си
- •9.1.2Инсталляция из исходных текстов
- •10Файловая система
- •10.1Основы работы файловых стистем
- •10.1.1Файлы
- •10.1.2Каталоги
- •10.1.3Типы файлов
- •10.1.4Файлы физических устройств
- •10.1.5Именованные каналы (pipes)
- •10.1.6Сокеты (sockets)
- •10.1.7Символические ссылки
- •10.1.8Права доступа к файлам и каталогам
- •10.1.9Расширенные атрибуты доступа
- •10.2Управление файловой системой
- •10.2.1Разбиение диска на разделы, fdisk
- •10.2.2Создание и монтирование файловых систем
- •10.2.3Команды для работы с файлами
- •10.3Команда find и символы шаблонов для имен файлов
- •10.4Команда split — разбиваем файл на несколько частей
- •10.5Сравнение файлов и команда patch
- •10.6Команды архивирования файлов
- •10.6.1Программа tar
- •10.6.2Программа gzip
- •10.6.3Программа bzip2
- •10.6.4Примеры применения tar
- •11Сетевая файловая система (nfs)
- •11.1Запуск nfs
- •11.2Монтирование тома nfs
- •11.4Файл exports
- •12Популярные приложения
- •12.1Эффективная работа с vim
- •12.2Эффективно передвигаемся по файлу
- •12.3Вставка
- •12.4.1Использование mc
- •12.4.2Встроенный ftp-клиент
- •12.4.3Переименование групп файлов
- •13Сетевые средства Linux
- •13.1Общие сведения о сетях
- •13.1.1Стек tcp/ip
- •13.1.2Адресация Internet
- •13.1.3Система имен доменов (dns - Domain Name System)
- •13.1.4Модель Клиент-Сервер
- •13.1.5Адреса tcp/ip
- •13.1.6Преобразование адресов
- •13.2Конфигурация сетевых интерфесов
- •13.2.1Адрес сети
- •13.2.2Широковещательный адрес
- •13.2.3Адрес шлюза
- •13.2.4Адрес сервера имен
- •13.2.5Маска сети
- •13.3Файлы конфигурации tcp/ip
- •13.3.1Файл /etc/hosts
- •13.3.2Файл /etc/networks
- •13.3.3Файл /etc/init.D/network
- •13.3.4Параметры dns
- •13.3.5Файл host.Conf
- •13.3.6Файл /etc/resolv.Conf
- •13.4Команда ifconfig
- •13.5Маршрутизация
- •14Контроль состояния сети
- •14.3Команда lsof
- •14.4Проверка arp-таблиц
- •15Управление работой межсетевого экрана (брандмауэра) netfilter
- •15.1Настройка межсетевого экрана Iptables
- •15.2Порядок прохождения таблиц и цепочек
- •15.2.1Общие положения
- •15.3Как строить правила - основы
- •15.3.1Команды
- •15.3.2Критерии
- •15.3.3Общие критерии
- •15.4Неявные критерии
- •15.4.1Tcp критерии
- •15.4.2Udp критерии
- •15.4.3Критерий mac
- •16Shorewall: iptables с человеческим лицом
- •16.1Базовая настройка
- •16.2Фильтрация трафика
- •16.3Дополнительные возможности
- •16.3.1Вместо заключения
- •16.4Приложение. Устанавливаем Shorewall
- •17Управление ядром
- •17.1Версия ядра
- •17.2Причины для пересборки ядра
- •17.3Подготовка
- •17.4Компиляция (Make)
- •17.5Установка заплат
- •17.6Сборка единичного модуля
- •18Мониторинг системы
- •18.1Система ведения логов
- •18.2Демон Syslogd
- •18.2.1Параметры запуска
- •18.2.2Сигналы
- •18.2.3Файл конфигурации
- •18.2.4Советы по настройке syslog
- •18.3Logger - утилита записи в журнал
- •18.4Logrotate или "что делать со старыми журналами?"
- •18.5Logwatch или "как извлечь полезную информация из кучи мусора?"
- •19Cron - планирование заданий
- •19.1Настройка задач Cron
- •19.2Запуск и остановка службы
- •19.3Системное время
- •20Резервное копирование в Linux
- •20.1Использование серверов резервного копирования
- •20.2Аппаратные средства, предназначенные для создания резервных копий
- •20.3Способы резервного копирования
- •20.3.1Резервное копирование, инициируемое клиентом
- •20.3.2Резервное копирование, инициируемое сервером
- •20.4Использование tar
- •20.4.1Возможности tar
- •20.4.2Список команд tar:
- •20.4.3Использование smbtar
- •20.4.4Создание разделяемых объектов резервного копирования
- •20.5Обзор и установка системы резервного копирования BackupPc
- •20.5.1Введение
- •20.5.2Требования к установке
- •20.5.3Настройка BackupPc
- •20.5.4Интерфейс
- •21Основы безопасности Linux
- •21.1Меры предосторожности
- •21.2Принципы защиты
- •21.3Идентификаторы пользователя и группы пользователей
- •21.4.1Безопасность файлов
- •21.5Важные системные файлы
- •21.6Проблемы защиты /etc/passwd и /etc/shadow
- •21.6.1Скрытые пароли
- •21.6.2Устаревание паролей
7.2Структура файла /etc/group
Файл /etc/group относится к общей схеме защиты систем типа UNIX®: пользователь, группа и права достапу к файлам. Формат записи в данном файле следующий:
group_name:password:group_id:list
Поле group_name содержит текстовое имя для группы. В поле password размещается зашифрованный пароль данной группы. Если это поле пустое, то пароль не требуется. Поле group_id содержит уникальное число-идентификатор этой группы. Поле list содержит список пользователей, относящихся к этой группе, разделенный запятыми. Пользователям не нужно упоминаться в списке тех групп, которые указаны в качестве основной для них в файле /etc/passwd.
7.3Псевдопользователи
Каждый из вариантов UNIX® содержит в файле паролей строки описания псевдопользователей. Эти описания никогда не редактируются. Пользователи этих имен не регистрируются в системе и нужны лишь для подтверждения владения соответствующими им процессами. Наиболее известными являются:
daemon - Используется служебными процессами системы
bin - Дает права на владение исполняемыми файлами команд sys - Владеет системными файлами
adm - Владеет файлами регистрации uucp - Используется программой UUCP
lp - Используется подсистемами lp или lpd nobody - Используется NFS
Существуют и другие псевдопользователи, например, audit, cron, mail, new или usenet. Все они нужны для работы ассоциированных с ними процессов и файлов.
7.4Команды работы с учетными записями пользователей
Создание, изменение и удаление строк в файлах паролей и групп зависит от версии операционной системы, которой Вы пользуетесь. Обычно файлы паролей редактируются непосредственно из командной строки, либо используются утилиты с графическим интерфейсом. Эти утилиты позволяют очень легко и удобно редактировать учетные записи пользователей.
Основные команды для работы с учетными записями в Linux - useradd, userdel, и usermod, а также средство редактирования файлов паролей vipw. Интерфейс команд следующий:
useradd [-c uid comment] [-d dir] [-e expire] [-f inactive] [-g gid] [-m [ -k skel_dir]] [-s shell] [-u uid [-o]] username
userdel [-r] username
usermod [-c uid comment] [-d dir [-m]] [-e expire] [-f inactive]
[-g gid] [-G gid[,gid]] [-l new username] [-s shell] [-u uid [-o]] username
Основные параметры имеют следующие значения:
username - регистрационное имя пользователя. Это единственный обязательный параметр во всех командах.
uid comment - это дополнительный комментарий о пользователе с указанным именем.
dir - указывает на домашний каталог пользователя.
expire - указывает точную дату, до которой действует регистрационная запись.
inactive - указывает непрерывное число дней без регистрации в системе до того, как данная запись будет блокирована.
gid - определяет идентификатор или имя группы, к которой относится пользователь.
new_username - является заменой прежнего имени регистрационной записи.
shell - определяет оболочку интерпретатора команд для данного пользователя.
skel_dir - содержит файлы, которые должны быть скопированы в новый домашний каталог пользователя.
uid - является уникальным идентификатором пользователя, связанным с этим именем.
-m - указывает на необходимость создания нового домашнего каталога (useradd) или переноса текущего в новое место (usermod).
-o - позволяет повторяться одному и тому же идентификатору пользователя.
-g - выбирает главную группу для регистрационного имени.
-G - выбирает дополнительные группы.
-r - сообщает, что домашний каталог пользователя будет перемещен. Если домашний каталог для регистрационной записи устарел, существующие файлы будут перенесены в новый каталог.
Чтобы переместить каталог пользователя, выполните:
cd /old_dir; tar -cf - . | (cd /new_dir; tar -xpf -)
Сравните результаты, а затем удалите old_dir. При переносе особое внимание следует уделить скрытым файлам запуска, или дот-файлам (имена начинаются с точки). Вот наиболее важные из них:
.login - файл, исполняемый после регистрации в оболочках csh и tcsh.
.cshrc - файл, исполняемый после запуска новой копии оболочки csh.
.tcshrc - то же самое для оболочки tcsh.
.profile - файл, исполняемый после регистрации в оболочках sh или ksh.
.kshrc - файл, исполняемый после запуска новой копии оболочки ksh.
.bashrc - файл, исполняемый после запуска новой копии оболочки bash.
.history - содержит список последних команд, выполненных в оболочке.
.rhosts - списки удаленных машин/пользователей, допускаемых к регистрации в данной системе. Rlogin, rexec, rsh/remsh используют этот файл, чтобы разрешить регистрацию, доступ к фалам и запуск команд без ввода паролей.
.netrc - используется при автоматической регистрации в FTP.
.forward - позволяет перенаправлять почту на другие адреса, в файлы или в программы обработки.
.mailrc - стартовый файл для почтового агента, позволяющий установить опции или почтовые псевдонимы.
.exrc - файл с опциями запуска редакторов ex или vi.
.xinitrc - файл запуска для системы X Window.
При удалении регистрационного имени из файла паролей Вы должны также удалить все файлы, принадлежащие этому пользователю. Сделать это можно с помощью команды
find / -user username
Чтобы не ошибиться, Вы можете упаковать эти файлы, прежде чем удалять их. Чтобы удалить их сразу во время поиска, выполните:
find / -user username -exec rm {} \;
Команда смены пароля passwd
Эта команда используется для изменения паролей пользователей. Формат ее вызова:
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
Значение опций данной команды:
-k - используется для обновления только тех паролей, срок действия которых истек.
-l - блокирует указанного пользователя (доступна только администратору).
Блокировка осуществляется добавлением к паролю префикса !.
stdin - принимать новый пароль из стандартного ввода.
-u - разблокирование пользователя и удаление префикса ! (доступна только администратору).
-d - отмена пароля для пользователя (доступна только администратору). Позволяет пользователю войти в систему без пароля и сменить его самостоятельно.
-n - устанавливает минимальный срок в днях до смены пароля (доступна только администратору).
-x - устанавливает максимальный срок в днях до смены пароля (доступна только администратору).
-w - устанавливает срок в днях, когда пользователь начнет получать сообщения о необходимости смены пароля(доступна только администратору).
-i - устанавливает срок в днях до момента, когда старый пароль перестанет быть активным и регистрационная запись блокируется (доступна только администратору).
-S - выводит краткую информацию о состоянии пароля (о сроке его действия). Доступна только администратору.