Администрирование Linux. Администрирование и конфигурирование Linux

LINUX



Командная строка

Понятность системы Linux



Удаленное управление Linux

Права доступа в Linux

Каждый файл и каталог (каталоги также являются файлами с особой структурой) в операционной системе Linux имеет ярлык (этикетку, атрибуты, attributes), который используется ядром при определении того, что может данный пользователь делать с этим файлом: читать, изменять или запускать файл (программу) на исполнение.

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

Когда вы заходите в систему, то регистрируетесь, вводя свой пароль и имя. Если система вас опознает, вы получаете доступ к файловой системе. Правда, для ускорения быстродействия системы вы работаете в ней не под своим именем, а используете идентификатор (номер) пользователя (User ID, сокращенно UID). Соответствие между именами и UID указывается в файле /etc/passwd.

Пользователи, принадлежащие к какой-либо группе, получают еще один идентификатор – GID (group ID). Один пользователь может принадлежать к нескольким группам и иметь несколько номеров GID. Общие права группы распространяются на всех ее участников. Сочетания имен и номеров содержатся в файле /etc/group.

Остальные пользователи, не владеющие файлами и не являющиеся членами группы, обозначаются как прочие (others). Такие пользователи имеют очень мало прав, а то и вовсе ими не обладают.

Для описания прав доступа используется следующий шаблон: владелец группа прочие.

Так как информация о правах записывается в ярлыке файла в виде битов (минимальная единица информации), то для облегчения понимания того, как распределяются права, используется запись, представленная в правой колонке табл. 1.2. Также популярно использование восьмеричной системы, так как для идентификации каждого уровня пользователей используются три бита (тремя битами можно обозначить только восемь значений):

1 = право исполнения (- – х), сокращенно от execute – исполнять;

2 = право редактирования (-W-), сокращенно от write – писать;

3 = право чтения (г – -), сокращенно от read – читать.

Например, файл, с которым любой пользователь может производить любые операции, имеет следующее обозначение прав доступа:

Для обычных (нормальных) файлов используется следующий вариант (разрешено чтение и редактирование для всех):

Если владелец файла не хочет, чтобы к его файлу имели доступ, например, если это личное письмо или конфиденциальная информация, то устанавливаются следующие атрибуты:

Для каталогов, как и для файлов, устанавливаются права доступа. Следовательно, возникают коллизии, когда вы имеете полные права на файл, находящийся в каталоге, но подпадаете под ограничения, установленные для вас атрибутами каталога.

Типы файловых систем Linux

Linux поддерживает большое количество типов файловых систем. Наиболее важные из них приведены ниже.

Minix – старейшая файловая система, ограниченная в своих возможностях (у файлов отсутствуют некоторые временные параметры, длина имени файла ограничена 30-ю символами) и доступных объемах (максимум 64 Мбайт на одну файловую систему).

Xia – модифицированная версия системы minix, в которой увеличена максимальная длина имени файла и размер файловой системы.

Ext – предыдущая версия системы Ext2. В настоящее время практически не используется.

Ext2 – наиболее богатая функциональными возможностями файловая система Linux. На данный момент является самой популярной системой. Разработана с учетом совместимости с последующими версиями.

Ext3 – модернизация файловой системы Ext2. Помимо некоторых функциональных расширений является журналируемой. Пока широкого распространения не получила. Конкурирующая журналируемая файловая система – ReiserFS.

VFS – виртуальная файловая система. По сути – эмулятор-прослойка между реальной файловой системой (MS-DOS, Ext2, xia и т. д.) и ядром операционной системы Linux.

Proc – псевдо-файловая система, в которой посредством обычных файловых операций предоставляется доступ к некоторым параметрам и функциям ядра операционной системы.

ReiserFS – журналируемая файловая система. Наиболее используемая среди журналируемых файловых систем для Linux.

В операционную систему Linux для обеспечения обмена файлами с другими операционными системами включена поддержка некоторых файловых систем. Однако их функциональные возможности могут быть значительно ограничены по сравнению с возможностями, обычно предоставляемыми файловыми системами UNIX.

msdos – обеспечивается совместимость с системой MS-DOS.

umsdos – расширяет возможности драйвера файловой системы MS-DOS для Linux таким образом, что в Linux появляется возможность работы с именами файлов нестандартной длины, просмотра прав доступа к файлу, ссылок, имени пользователя, которому принадлежит файл, а также оперирования с файлами устройств. Это позволяет использовать (эмулировать) файловую систему Linux на файловой системе MS-DOS.

iso9660 – стандартная файловая система для CD-ROM.

xenix – файловая система Xenix.

sysv – файловая система System V (версия для х8б).

hpfs – доступ «только для чтения» к разделам HPFS.

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

Иерархия каталогов Linux

Иерархия каталогов первого уровня (представлена в таблице 1)

Таблица 1 – Иерархия каталогов первого уровня

Имя каталога Содержимое каталога
/ Корневой (Root) каталог. Является родительским для всех остальных каталогов в системе
/bin Содержит важные для функционирования системы файлы
/boot Содержит файлы для загрузчика ядра
/dev Хранит файлы устройств
/etc Содержит Host – специфичные файлы системной конфигурации
/home Пользовательские домашние каталоги
/lib Важные разделяемые библиотеки и модули ядра
/lost + found Содержит файлы, восстановленные при ремонте утилитами восстановления файловых систем
/misc Каталог для автоматически монтируемых устройств (дисковод, CD -ROM)
/mnt Точка монтирования временных разделов
/opt Дополнительные пакеты приложений
/proc Точка монтирования псевдофайловой системы proc, которая является интерфейсом ядра операционной системы
/root Домашний каталог пользователя root
/sbin Содержит важные системные исполняемые файлы
/tmp Хранит временные файлы
/usr Вторичная иерархия
/var Содержит переменные данные

Файлы конфигурации Linux

Для хранения конфигурации системы Linux использует конфигурационные файлы, в какой-то мере похожие на INI-файлы в Windows 3.1x. Они содержат текстовую информацию, которую можно читать и редактировать в любом текстовом редакторе.

Форматы различных конфигурационных файлов могут иметь значительные расхождения в различных вариантах Дистрибутивов. Но все же ряд правил по их построению действителен для большинства случаев:

Пустые строки игнорируются;

Для комментариев используются строки, отмеченные символом «#»;

Для удобства восприятия информации текст в файле организован в виде таблицы, а для разделения столбцов используются символы пробела, табуляции или двоеточия.

Наиболее важные файлы конфигурации содержатся в каталоге /etc:

/etc/passwd – файл с регистрационной информацией о пользователях, в том числе и их пароли, если не используется система теневых паролей;

/etc/fstab – файл для хранения списка регулярно используемых файловых систем.

Конфигурация сети в Linux

Чтобы не столкнуться с проблемами при настройке соединения с Интернетом, желательно активизировать сетевые настройки, даже если у вас нет сетевой карты. Это следует сделать потому, что ряд сервисов, необходимых для подключения к Интернету, должен запускаться во время загрузки операционной системы.

Если у вас есть сетевая карта, то, скорее всего, она будет правильно определена, так что вам следует согласиться с программой установки. При возникновении проблем лучше выбрать NE-2000-совместимую карту, аналоги которой наиболее доступны в России. Правильную настройку сетевой карты вы легко сделаете после начала работы с Linux.

Начальная настройка TCP/IP- соединения, хоть и содержит множество неясных вопросов, на самом деле проста. Вы моете установить любые понравившиеся вам параметры, а потом, когда будете настраивать соединение с провайдером, чинить все что угодно. Для справки ниже указаны возможные значения, которые вы можете использовать (единственное замечание, которое следует сделать, – не используйте адреса сервера вашего провайдера и любимых мест в Интернете):

Domain name – nodomain. nowhere;

Host name – noname.nodomai n.nowhere;

IP-адрес-192.168.1.5;

Netmask-255.255.255.0;

Default gateway (IP) – 192 .168.1.254;

Primary nameserver –192.168.1.1.

Загрузчик LILO в Linux

LILO (сокращение от Linux Loader) – один из самых распространенных загрузчиков для Linux. LILO может работать с различными версиями ядра Linux и загружать другие операционные системы, например Windows. Если LILO устанавливается в главный загрузочный сектор винчестера, то после включения питания компьютера вы должны ответить на его приглашение, введя метку операционной системы, которую надо загрузить.

LILO конфигурируется при установке Linux. Когда вы выбираете способ загрузки Linux, создается конфигурационный файл/etc/lilo.conf, который используется командой lilo. Чтобы была возможность выбора загрузки одной из двух операционных систем, этот файл должен выглядеть примерно так:

install=/boot/boot.b

prompt timeout=50

vmlinuz-2.2.2-3bc

Правильная корректировка LILO возможна только при запущенной операционной системе Linux.

Если получилось так, что ваши ошибочные действия привели к невозможности загрузить ни одну операционную систему, а такое вполне возможно, то воспользуйтесь недокументированным вариантом команды MS-DOS:

Плюс этой команды в том, что загрузочный сектор винчестера приводится в «стандартное» состояние, а вся информация на винчестере в разделах с файловой системой FAT остается неповрежденной и доступна из MS-DOS или Windows. Правда, вам придется снова решать вопрос об установке LILO.

Эффективнее – без эффектов

Благодаря новому внешнему виду и GNOME-подобной поддержке скинов Windows XP выглядит достаточно красиво. Но все эти утехи для глаз снижают реакцию интерфейса на действия пользователя. Для автонастройки пользовательского интерфейса XP запускает несколько тестов, стремясь сохранить и удобство, и красоту. Но в этот процесс можно вмешаться. Если исчезающие меню вызывают у вас скорее раздражение, чем удовольствие, и если вас не интересуют тени под диалоговыми окнами, то все лишнее можно убрать.

Некоторые настройки выполняются на вкладке Оформление (Appearance) в свойствах монитора. Параметры, доступ к которым открывается кнопкой Эффекты (Effects), позволяют настроить переходы в меню, тени и шрифт, включая новую технологию улучшения читаемости шрифта - Microsoft ClearType.

Дальнейшая настройка производительности графического интерфейса выполняется в окне Свойства системы (System Properties), на вкладке Дополнительно (Advanced). Нажав кнопку Параметры (Settings) в разделе Производительность (Performance), можно выбрать максимальную производительность, максимальное качество изображения или средние параметры.


Перейдя к вкладке Дополнительно (Advanced) в окне Параметры быстродействия (Performance Options), надо убедиться, что распределение ресурсов процессора и памяти ориентировано на оптимизацию работы программ. Если компьютер является сервером, нужно указать приоритет фоновых служб и кэша. Здесь же выбирается размер и местоположение файла подкачки. Но обычно эти параметры Windows XP прекрасно выбирает сама.

Быстрая смена пользователя

Такая функция доступна в обеих версиях Windows XP, если только компьютер не входит в домен. Она позволяет пользователям компьютера переключаться с одной учетной записи на другую без завершения сеанса. Прекрасная функция – особенно если одним компьютером пользуется все члены семьи. Однако такое переключение требует большого расхода оперативной памяти.

Если в системе зарегистрировалось несколько пользователей, то настройки каждого из них, а также запущенные ими программы, при переключении на другого пользователя сохраняются в памяти. Скажем, если мы запустили Word, Excel и какую-нибудь игру, отлучились на минутку, а тем временем пришел ваш брат, переключил систему на себя и попытался поиграть, то он обязательно заметит явное (вплоть до полной остановки игры) снижение производительности.

Если объем оперативной памяти в компьютере составляет 64 Мб или меньше, Windows XP автоматически отключает функцию быстрой смены пользователей. Для обеспечения максимальной производительности проследите, чтобы в системе не было зарегистрировано сразу несколько пользователей. Или отключите эту функцию, для чего нужно зайти в Панель управления > Учетные записи пользователей (Control Panel > User Accounts), нажать кнопку Переключение пользователей и отключить режим Использовать быстрое переключение пользователей.

Автоматическое обновление

Устанавливать последние исправления версии DirectX и другие обновления необходимо своевременно. По умолчанию XP делает это автоматически. Для этого в фоновом режиме запускается специальная небольшая программа, проверяющая обновления.

Можно также следить за обновлениями самостоятельно, для этого можно отключить эту функцию XP, перейдя на вкладку Автоматическое обновление (Automatic Updates) в окне Свойства системы (System Properties).

Дефрагментация

DOS и версии Windows, не входящие в семейство NT, мало заботятся об оптимизации файловой системы. Это приводит к образованию "дыр" в разных местах дискового пространства при установке и удалении программ. В результате свободные участки, вместо того чтобы образовать один сплошной блок, разбросаны по всему диску. При заполнении свободного пространства файлы тоже оказываются разбросанными по нескольким секторам, что сильно снижает производительность – при обращении к файлу приходится читать не один последовательный участок диска, а несколько, да еще расположенных произвольно.

Регулярность этой процедуры зависит от характера нашей деятельности на компьютере. Если мы часто устанавливаем и удаляем программы или постоянно создаем, перемещаем или удаляете файлы, то рекомендуется выполнять дефрагментацию раз в неделю. Если же мы долгое время используете одни и те же приложения, не слишком часто перемещая при этом файлы, то промежуток между дефрагментациями можно увеличить до одного месяца.

Если диск дефрагментируется достаточно часто, то мы не заметите после очередной дефрагментации ощутимого прироста в производительности. Это совершенно нормально. Напротив – если прирост заметен, это значит, что дефрагментацию нужно поводить чаще.

Лишние службы

Для ускорения работы системы можно отключить ненужные системные службы. Заодно и памяти немного освободится. Ниже перечислены службы, которые обычно можно безболезненно отключить.

  • Автоматическое обновление (Automatic Updates) . Обновлять систему можно и вручную, особенно если нет постоянного соединения с интернетом. Не забудьте только отменить заодно и автоматическое обновление на одноименной вкладке свойств системы.
  • Обозреватель сети (Computer Browser) . Занимается обновлением списка компьютеров в сети. При отсутствии сети не нужен.
  • Служба шифрования (Cryptographic Service) . Служба безопасного обмена ключами и шифрования передаваемых данных в локальной сети. Если локальной сети нет, то эту службу можно отключить, если же сеть есть - решайте сами...
  • DHCP клиент (DHCP client) . Занимается автоматическим распределением IP-адресов. Если сети нет (ни локальной, ни интернета, даже через модем), то эта служба не нужна.
  • Журнал событий (Event Log) . Ведет журнал системных и программных событий, а также событий системы безопасности. Если вопросы безопасности вас не волнуют, то эту функцию можно отключить.
  • Служба сообщений (Messenger) . Отвечает за прием и отправку сообщений администратора. При отсутствии сети (и администратора) абсолютно бесполезна.
  • Сетевые соединения (Network Connections) . Управление всеми сетевыми соединениями. Если сети нет (в том числе и подключения к интернету), то эта служба не нужна.
  • Спулер печати (Print Spooler) . Не нужен, если нет принтера.
  • Portable media serial number . Отвечает за получение серийного номера переносного музыкального устройства, подключаемого к компьютеру.
  • Protected Storage . Отвечает за защиту важных данных, в том числе ключей пользователей; запрещает неавторизированный доступ. Если сети нет (в том числе и интернета) или если вас не волнуют вопросы безопасности, то эту службу тоже можно отключить.
  • Remote Registry Service . Функция удаленного управления реестром. Нужна только администраторам сети.
  • System Event Notification . Отслеживает системные события. Если все уже настроено и нормально работает, можно отключить.
  • SSDP Discovery . Обеспечивает работу внешних устройств, поддерживающих UPnP (универсальная система Plug&Play, которая, по задумке, должна связывать компьютер с самой различной бытовой техникой, вроде пылесоса или холодильника).
  • Планировщик заданий (Task Scheduler) . Обеспечивает запуск приложений в заданное время. Если эта функция не используется, ее можно отключить.
  • Telephony . Взаимодействие с модемом. Нет модема - отключаем.
  • Telnet . Обеспечивает соединение и удаленную работу по протоколу telnet. Если вы не знаете и не хотите знать, что это такое, эту службу можете отключать.
  • Uninterruptible power supply . Управляет работой бесперебойных источников питания (UPS). Если UPS с обратной связью нет, данную службу можно отключить.
  • Terminal Service . Служит для удаленного управления компьютером по сети. Домашнему пользователю эта функция, в общем-то, ни к чему.
  • Windows time . Синхронизирует время на локальной машине и сервере; если нет time-сервера, то и служба не нужна.
  • Wireless zero configuration . Служба автоматической настройки беспроводных сетей стандарта 803.11 и 803.11b.

Необходимость той или иной системной службы определяется задачами, которые выполняются на данном компьютере. Каждый должен решить сам, что можно отключать, а что нет. Главное не переборщить: ведь последствия необдуманных действий могут быть совершенно непредсказуемыми.

Оптимизация интерфейса

Следующий этап – ускорение работы интерфейса. Заходим в System Properties, открываем вкладку Advanced, нажимаем в разделе Performance кнопку Settings и в открывшемся окне Visual Effects активизируем режим Adjust for best performance, отключая тем самым абсолютно все эффекты. Их можно отключить и по отдельности, оставив те, без которых прожить ну никак нельзя.

Теперь примемся за меню Пуск. Изначально оно открывается с некоторой задержкой (по умолчанию - 400 миллисекунд). Ее величина определяется в реестре - значением ключа MenuShowDelay, находящегося по адресу HKEY_CURRENT_USER \ControlPanel \Desktop. В случае установки для этого параметра значения 0 меню будет появляться без задержки.

Там же, в реестре, находится еще один параметр, изменение которого несколько ускорит работу интерфейса, – MinAnimate, включающий анимацию при сворачивании и разворачивании окон. Он находится по адресу HKEY_CURRENT_USER \ControlPanel \Desktop \WindowsMetrics. Если значение этого параметра 1 - анимация включена, 0 - выключена. Если же этого ключа в реестре нет, создайте его (тип - String). И не забудьте: для вступления подобных изменений в силу необходимо перезагрузить компьютер.

Если в папке, которая находится в NTFS-разделе, много файлов, открываться она будет довольно медленно. Windows каждый раз тратит время на обновление метки последнего доступа к файлам. Для отключения этой функции нужно по адресу HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \Control \FileSystem создать параметр NtfsDisableLastAccessUpdate типа DWord и присвоить ему значение 1.

Для оптимизации работы системы можно также воспользоваться специальными программами, например, такими как Tweak-XP - набор из двух десятков утилит для настройки Windows XP.

Настройка жесткого диска

Проверим настройку параметров жесткого диска, поскольку именно там находится файл подкачки. Правильная конфигурация его влияет на скорость работы системы. Откроем Device Manager в свойствах системы (или на вкладке Hardware в свойствах любого диска). Просмотрим свойства нашего жесткого диска. Убедимся, что на вкладке Polices включен режим Enable write caching on the disk. Для дисков SCSI следует также включить на вкладке SCSI Properties следующие режимы: Disable Tagged Queuing и Disable Synchronous Transfers.

Администрирование и конфигурирование Linux.

Операционная система – комплекс взаимосвязанных системных программ, назначение которого – организовать взаимодействие пользователя с компьютером и выполнение всех других программ.

Операционная система выполняет роль связующего звена между аппаратурой компьютера и выполняемыми программами, а также пользователем.

Наибольшей популярностью в мире пользуются операционные системы фирмы Microsoft. Их доля составляет 95% среди всех операционных систем. Наиболее устойчивые системы этой фирмы основаны на технологии NT (Windows NT/2k/XP). В последние шесть лет возрастает популярность операционной системы под названием Linux.

LINUX – многозадачная и многопользовательская операционная система для образования, бизнеса, индивидуального программирования. LINUXпринадлежит к семейству UNIX-подобных операционных систем.

На сегодняшний день, развитие Linux идет по двум ветвям. Первая, с четными номерами версий (2.0, 2.2, 2.4), считается более стабильной, надежной версией Linux. Вторая, чьи версии нумеруются нечетными номерами (2.1, 2.3), является более дерзкой и быстрее развивающейся и, следовательно (к сожалению), более богатой ошибками. Но это уже дело вкуса.

В Linux нет разделения на диски С, D, и процесс общения с устройствами очень удобен. Все устройства имеют собственный системный файл, все диски подключаются к одной файловой системе и выглядит это все как бы монолитно, едино. Четкая структура каталогов позволяет находить любую информацию мгновенно. Для файлов библиотек – свой каталог, для запускаемых файлов – свой, для файлов с настройками – свой, для файлов устройств – свой, и так далее.

Модульность ядра позволяет подключать любые сервисы ОС без перезагрузки компьютера. Кроме того, вы можете переделать само ядро ОС, благо исходные тексты ядра также имеются в любом дистрибутиве.

В ОС Linux очень умело, если так можно выразиться, используется идея многозадачности, т.е. любые процессы в системе выполняются одновременно (сравните с Windows: копирование файлов на дискету и попытка слушать в этот момент музыку не всегда совместимы).

Но, не все так просто. Linux чуть более сложен, чем Windows, и не всем так просто перейти на него после использования окошек. На первый взгляд, может даже показаться, что он очень неудобен и труднонастраиваем. Но это не так. Вся изюминка Linux’a в том, что его можно настроить под себя, настроить так, что от пользования этой ОС вы будете испытывать огромное удовлетворение. Огромное количество настроек позволяет изменить внешний (да и внутренний) вид ОС, причем ни одна Linux-система не будет похожа на вашу. В Linux у вас есть выбор в использовании графической оболочки, есть несколько офисных пакетов, программы-серверы, файерволы… Просто целая куча разнообразных программ на любой вкус.

Командная строка

В MS-DOS и Windows командная строка неудобна в использовании, что внушает отвращение к ней пользователям, а язык командных файлов сравнительно беден. В Unix пользовательский интерфейс командной строки приближен к совершенству, в комплекте с системой идет множество полезных утилит, которые можно использовать с командной строки, а скрипты позволяют автоматизировать множество задач. Работа с командной строки намного эффективнее, чем работа на мышке. Несомненно, нужно помнить команды, ключи и другие параметры команд, но основные команды очень быстро запоминается, а по другим можно заглянуть в справочник. Многим пользователям на самом деле нужно всего несколько команд. А для тех пользователей, которые не хотят или не могут запомнить команды, системный администратор может настроить Linux так, чтобы для этих пользователей все нужные им программы запускались автоматически. Работа в командной строке не сложнее графического интерфейса Windows, просто она другая. Может быть она менее наглядна, но профессионалам она позволяет работать намного более эффективно. Даже графический интерфейс Unix – X Window System (Иксы) не предполагает отказа от командной строки и никогда ей не противопоставлялся, как в Windows. Многие графические приложения могут управляться с командной строки, сочетая преимущества обоих методов. Под Linux существуют и программы типа Norton-а – Midnight Commander.

Понятность системы Linux

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

Linux предоставляет развитые возможности для диагностики проблем, такие как лог-файлы, утилита strace и встроенные во многие программы средства отладки. Эти же средства позволяют составить представление о том, как работает та или иная программа, даже если нет желания или возможности изучать ее исходные тексты.

Систематизация файлов тоже помогает разбираться в файловой системе. Например, все программы, которые предназначены для запуска пользователем находятся в каталоге bin, все конфигурационные файлы в etc, а библиотеки в lib.

Все настройки программ находятся в простых текстовых файлах, которые можно редактировать любым текстовым редактором. Формат настроечных файлов, как правило, описан в документации или в самом конфигурационном файле при помощи комментариев. Почти всегда можно оставить свои комментарии на заметку. Стандартный текстовый формат конфигурационных и системных файлов упрощает процедуры резервного копирования и клонирования системы.

Удаленное управление Linux

Linux имеет очень развитые средства удаленного управления. Причем управлять машиной под управлением Linux можно с любой другой системы, где есть программа эмулятор терминала (в отличие, например, от Windows NT). Если машина подключена в Интернет, то управлять ей можно практически с любой другой машины, также подключенной в Интернет, быстрое подключение не требуется. Удаленное управление рабочими станциями сокращает затраты на администрирование сети, поскольку системному администратору не нужно даже вставать со стула для того, чтобы, например, поставить какое-либо программное обеспечение на все рабочие станции с Linux. Графическая среда поддерживает отображение графики на другой машине и даже запуск разных приложений с разных систем с отображением их на одном экране. При этом приложения сохраняют возможность взаимодействовать между собой (например, имеют общий буфер обмена).

Администрирование пользователей в Linux одновременно очень похоже и не похоже на администрирование в Windows. Обе системы многопользовательские и контроль доступа к ресурсам основан на идентификации пользователя. Обе системы позволяют группировать пользователей так, что контроль доступа упрощается и не приходится для внесения каждого изменения затрагивать много пользователей. А дальше начинаются различия.

Суперпользователь
В Linux Суперпользователь (Super User) называется root. Пользователь root может контролировать каждый процесс, имеет доступ к каждому файлу и может выполнить любую функцию в системе. Ничего не может быть спрятано от root"а. Говоря административным языком, root -- это высшее существо. Поэтому очень важно, чтобы учетная запись root была защищена секретным паролем. Не стоит использовать root"а для выполнения обычных задач.

Другим пользователям можно дать привилегии суперпользователя, но делать это надо с осторожностью. Обычно вы будете настраивать отдельные программы, чтобы определенные пользователи могли выполнять их как root, вместо того, чтобы предоставлять всем суперпользовательский доступ.


Создание новых пользователей

Новых пользователей можно создавать либо из консоли, либо с помощью инструментария типа программы Webmin. Пользователь добавляется командой useradd. Из консоли это делается, например, так:

useradd -c "normal user" -d /home/userid -g users\
-G webadm,helpdesk -s\ /bin/bash userid

Эта команда создает нового пользователя по имени "userid" (последний параметр в команде). Дается комментарий, который говорит, что "userid" -- "normal user" (обычный пользователь). Для него будет создан домашний каталог "/home/userid". Его основной группой будет users, но он также будет входить в группы "webadm" и "helpdesk". В качестве обычного консольного окружения новый пользователь из примера будет использовать оболочку "/bin/bash".

Webmin позволяет создать нового пользователя легко и наглядно. Войдите в Webmin своим любимым браузером и зайдите в раздел System . Выберите инструмент "Users and Groups" , а затем щелкните на Create a new user.

Впишите подробности про пользователя и нажмите Create. Будет создан пользователь.

Изменение паролей

Из консоли пользовательский пароль меняется командой passwd:

Изменить пароль другого пользователя таким способом может только root. После ввода команды вам будет предложено ввести и подтвердить устанавливаемый пароль. Если они совпадут, то данные пользователя будут обновлены, а пароль изменен. Пользователь также может изменить свой собственный пароль, написав в командной строке консоли passwd; в этом случае прежде чем вводить новый пароль, необходимо будет ввести старый.

Большинство дистрибутивов Linux устанавливаются с модулем password cracker, который вызывается для изменений пароля. Этот модуль проверяет, насколько пароль хорош. Если не очень, то появляется предупреждение, что у пользователя плохой пароль. В зависимости от конфигурации, у него могут потребовать придумать безопасный пароль, а только потом принять его. Root"а же могут просто известить, когда пароль уже установлен.

В Webmin"е пароль меняется с помощью модуля "Change Passwords" из раздела System . Выберите пользователя из списка и введите новый пароль в пустые поля формы.

Удаление пользователей

Из консоли пользователи удаляются командой userdel.

userdel -r userid

Необязательный ключ -r удалит, кроме пользователя, его домашний каталог со всем содержимым. Если каталог хочется оставить, не пишите -r. Этот ключ не будет автоматически удалять все файлы в системе, которые принадлежат пользователю, только его домашний каталог.

Как организованы пользователи

Конфигурация Linux имеет в своей основе текст. Поэтому все пользователи в Linux расположены в файле под названием /etc/passwd. Командой more вы можете постранично просмотреть этот файл:

more /etc/passwd

Структура этого файла вполне доходчива. Каждая строка содержит нового пользователя с параметрами, разделенными двоеточием.

userid:x:75000:75000::/home/userid:/bin/bash

В первой колонке находится имя пользователя. Во второй -- его пароль. В третьей -- пользовательский числовой id. В четвертой -- id основной группы пользователя. В пятой -- полное имя пользователя. В шестой -- расположение пользовательского каталога. Обычно этот каталог живет в /home и называется по имени пользователя. Седьмая колонка содержит shell по умолчанию.

Структура файла паролей

Заметьте, что в приведенном выше примере, в колонке с паролем стоит "x". Это вовсе не означает, что у пользователя такой пароль. Одно время пароли хранились внутри файла в виде обычного текста. Такая конфигурация возможна и сейчас, но встречается редко из-за последствий. Решено было создать нечто под названием теневой пароль. На месте пароля в файле /etc/passwd записывается "х", а закодированная версия пароля идет в файл /etc/shadow. Такая технология улучшает безопасность посредством разделения информации о пользователе и пароля. Алгоритм кодирования паролей MD5 еще улучшил безопасность, позволяя только надежные пароли. Ниже приведен пример записи теневого пароля:

userid:$1$z2NXZR19$PZpyL84DmPKBXMeURaXXM.:12138:0:186:7:::
Вся функция теневого пароля остается за кадром, а вам редко потребуется делать что-нибудь большее, чем включать ее.

Группы

Группы в Linux почти то же самое, что и в Windows. Вы создаете группу и добавляете в ее список участников. Ресурсы могут иметь права, приписанные группе. Члены группы имеют доступ к ресурсу, ассоциированному с этой группой.

Создание группы выполняется просто, консольной командой groupadd:

groupadd mygroup

Эта команда создаст группу без участников с названием "mygroup". Группы живут в файле с названием /etc/group. Каждой группе отводится отдельная строка, как написанная ниже:

Первая колонка показывает имя группы. Вторая -- пароль. Опять-таки "x" означает, что настоящий пароль хранится в теневом файле /etc/gshadow. Третья колонка будет содержать разделенные запятыми идентификаторы участников группы.

Чтобы добавить члена группы, используйте команду gpasswd с ключом -a и id пользователя, которого вы хотите добавить:

gpasswd -a userid mygroup

Удалить пользователей из группы можно той же командой, но с ключом -d вместо -a:

gpasswd -d userid mygroup

Вносить изменения в группы можно также прямым редактированием файла /etc/group.Группы могут быть созданы, отредактированы и уничтожены в программе Webmin тем же самым инструментом, который использовался выше для работы с пользователями.

Пользовательские и групповые приложения

Как же пользователи и группы соотносятся с файлами? Если посмотреть на расширенный вывод списка файлов в каталоге, можно увидеть что-то вроде следующего.

Не обращая пока что внимания на остальные колонки, посмотрите на третью, четвертую и последнюю. В третьей колонке находится имя владельца файла, userid. Четвертая колонка содержит группу, ассоциированную с файлом, mygroup. Последняя колонка -- это имя файла. Каждый файл имеет только одного владельца и одну группу. Можно дать права Other (Остальным), пользователям, которые не попадают ни в какую категорию. Считайте Other эквивалентом группы Everyone в Windows.

Единственный владелец файла -- это обычно для операционных систем, но единственная группа-владелец кажется ограничением администраторам, не знакомым с технологией. Это не так. Поскольку пользователи могут быть членами любого количества групп, можно легко создавать новые и новые группы для сохранения безопасности ресурса. В системе Linux определения группы скорее основываются на необходимом доступе к ресурсам, нежели на подразделениях компании. Если ресурсы организованы в системе логично, то создайте побольше групп, чтобы потом настраивать доступ к ресурсам.

Более полную информацию о связи пользователей и групп можно найти в разделе Ресурсы в конце этой статьи. За подробностями о том, как менять полномочия доступа к файлу, обращайтесь к man chmod.

Заключение

В принципе, пользователи и группы в Linux работают так же как и в Windows, с той лишь разницей, что только одна группа может соответствовать ресурсу. Имея дело с группами в Linux, считайте их "дешевыми" и не бойтесь создавать их много для сложного окружения. Создавая группы, основывайтесь на необходимостях доступа к ресурсам, нежели на подразделениях компании.

Информация о пользователе и группе хранится в файлах /etc/passwd и /etc/group, соответственно. Ваша система возможно также содержит файлы /etc/shadow и /etc/gshadow, в которых находятся зашифрованные пароли для большей безопасности. Можно работать с пользователями и группами, непосредственно редактируя файлы, однако делать это надо с большой осторожностью.

Все операции с пользователям и группам можно выполнять из консоли, что дает возможность включать эти операции в скрипты. Существуют также программы, например, Webmin, предоставляющие графический интерфейс для работы с пользователями и группами.

Оставьте свой комментарий!

Артем
Моралес

Артём
П.

Максим
Дацкевич

Дмитрий
Бун


Владимир
Елисеев
(Кисловодск)

Опыт:







Михаил
Дрогомерецкий

Это был мой первый удаленный курс по системному администрированию. Ожидания оправдались более чем полностью! Огромное спасибо преподавателям и сокурсникам!
По существу.
ЧТо понравилось:
1. Время проведения лекций. Я легко успевал после работы домой к началу.
2. Возможность пересматривать лекции после в любое время.
3. Домашние задания! Они заставляли меня, помимо дополнительного просмотра лекций, читать документацию. Я действительно полюбил читать документацию! Это не шутка. Ранее я терпеть не мог этого делать и искал какие-то быстромануалы в гугле. Теперь перед настройкой какого-либо софта, обязательно читаю доки и получаю удовольствие. Заметил насколько открываются глаза после прочтения. Помимо материала, необходимого для исполнения ДЗ, приходилось сталкиваться с сопутствующими темами, что естественно расширило мои знания. Вообще домашние задания - дали мне 80% всего, что я узнал и чему научился на курсе.
4. Отзывчивость преподавательского состава и сокурсников.Без нравоучений, все по делу.

Что не понравилось:

Василий
Струков





Скучно точно не будет!







Владимир
Ревякин

Курс очень нужный и важный особенно для новичков, вы узнаете тонну нужной и важной информации информации, которую самостоятельно не узнаете, подробные лекции и возникающие вопросы, по теме, сразу растолковываются, а домашки новые знания закрепляют, я уже на втором месяце нашел работу. Алексей Цыкунов и Александр Румянцев очень рекомендую!!!

Александр
Самусев

Когда рассматривал курс - были сомнения, всё-таки ценник немаленький. Повезло - оплатил работодатель, но после прохождения курса сложилось мнение, что даже если пришлось его изучать за свои кровные, то всё равно бы не пожалел.

Я имею совсем немного опыта с Linux - работа в течение полугода junior linux administrator в одной аутсорсиноговой компании. И мне очень не хватало глубин, то есть делаешь что-то каждый день, выставляешь какие-то параметры, а почему оно так - не совсем понятно.

Курс Администратор Linux расставляет вcе по полочкам. Он придает уверенности в своих силах. На курсе разбираются теоритические и практические вопросы, которые задают на собеседованиях и, которые потом встречаются на практике. Стоит сказать, что я поменял работу, еще на середине курса.

Довольно детальные лекции по основополагающим принципам и инструментам - это очень круто! Но еще круче, что потом на тебя сваливается домашка, которую нужно сделать не только на основе полученных в лекции знаний, но и поковырять самому много манов, доков и форумов.

В курсе все домашние стенды разорачиваются в Vagrant, так что с этим инструментом за время курса становишься на ты. Кроме того, домашки желательно выкладывать на github в виде кода - Vagrantfile + скрипты и другие файлы проектов. Это позволяет набить руку при работе c git, если раньше такой практики не было. Также, в курсе разбирается такой инструмент администратора как Ansible и, после его изучения в курсе, домашние стенды разворачиваются с помощью Vagrant, настраиваются с помощью Ansible.

Таким образом, я считаю, что, если вы видите свое профессиональное будущее в работе Linux инженера, то этот курс просто must have! Затем стоит обязательно пойти на курс "DevOps практики и инструменты". Эти два курса - основа вашей высокой стоимости на рынке как специалиста.

Артем
Моралес

Имею совсем маленький опыт с Linux. На курс шел с целью получения фундаментальных знаний и для быстрого приобритения практических навыков. Честно, по началу думал, что курс ничем не отличается от остальных. Но уже после первой недели мое мнение кардинально изменилось..

Первое - лекции. Они длинные, но совсем не замечаешь, как пролетает время. Преподаватели помимо сухой теории (что так же преподается качественно) разбавляют лекции шутками, анекдотами и практическими советами из своего опыта. Во время лекции возможно получить ответ на любой свой вопрос.

Второе - преподаватели. Без сомнений, профессионалы своего дела. Материал преподается уверенно, плюс, как написал выше, охотно делятся своим опытом.

Третье - домашки. Ждешь, что тебе все разжуют? Тебе не сюда. Все как в реальной жизни: тебе ставится задача, дается дополнительный материал, которые поможет в выполнении и ты обязан разбираться. Что-то не получается всегда можно спросить, но инструкции делай это получишь то нет. И это огромный плюс!

Итого. Курс оставил приятные впечатления. Я все еще джуниор, но в душе ощущаю себя мидлом:)

Артём
П.

Курс даёт хорошую теоретическую базу подкреплённую домашними заданиями, позволяющими незамедлительно опробовать полученные знания в деле.

Спектр рассматриваемых вопросов достаточно широк: от cборки ядра, до развёртывания отказоустойчивого web-кластера с помощью ansible.

Лекции ведут опытные преподаватели, периодически приглашаются гости-специалисты. Так что можно получить ответы на вопросы у тех, кто имеет богатый опыт эксплуатации нужной технологии/сервиса/приложение в продуктовой среде

Стоит подробно документировать выполненные домашние задания, на выходе получается мини-вики в которую ещё не раз можно будет заглянуть, чтобы освежить в памяти некоторые детали.

Есть возможность посмотреть лекцию в записи, что весьма удобно, особенно если расположены в другом часовом поясе.

Лично мне курс помог избавиться от «портянок» на bash и перейти на ansible.

Максим
Дацкевич

Для меня курс тяжелый, те знания и опыт, которыми я владею, не достаточны. Очень много времени трачу на изучение базовых вещей. В целом курс очень интересный, преподаватели класс, изложение материала на высоте, много доп. материала. За практические примеры Алексея Цыкунова и заранее выложенный материал к лекции респект. Свой багаж знаний несомненно пополнил, но все еще не хватает практики.

К сожалению, я не смог найти достаточно свободного времени на решение ДЗ. При добросовестном выполнении домашних заданий результат будет выше ваших ожиданий!

Дмитрий
Бун

Отличный курс, наполненный практикой и опытом.
Уверен каждый слушатель курса найдет что то новое для себя, научиться чему то новому, найдет поддержку в лице сообщества.

Нужно понимать, что за вас учиться ни кто не будет и курс точно не для ленивых, большое количество практических занятий, закрывает пробелы в знаниях, монолитом заливает пустоты:)

Выражаю огромную благодарность всем преподавателям, особенно Алексею, Александру и Леониду.

Владимир
Елисеев
(Кисловодск)

Опыт:
Windows2008(AD,Exchange,Zabbix...) 10лет,
FreeBSD(LAMP,LEMP,Zabbix,Bacula) 3 года (можно сжать до 2 лет)

Хочу выделить для себя две причины прихода на курс Linux Administrator:
1. Уйти с Windows Servers && Desktops и найти работу на Full-time с ре локацией как Linux Administrator или Full-time как удаленный Linux Engineer;
2. Повысить навыки "линукс администрирования" и собрать воедино понимание взаимодействия компонентов ядра Linux и GNU userland для миграции моей нынешней работы с Windows платформ на Linux (Rosa(Cobalt)||Astra||Alt) и потом сменить работу);

Я имел удовольствие общаться с преподавателями высокой квалификации:
- Александром, Человеком работающем в хайло оде с большим бекграундом у провайдеров, хостеров и корпораций он мог рассказать углубляясь в детали системных вызовов переходя на язык C. С большим интересом пролетало время урока и более т.к. теоретический материал завязанный с практикой и рассказами Александра как он это в внедрял продакшене. Программистом C, Bash, PHP, Perl, Java, Python;
Реагирование на вопросы в чатах и оказание помощи происходило с периодичностью от 5 мин. до 3,4 часов(понимал и ценил что имею преподавателей из хайло од!), приемка ДЗ осуществялось с наставлениями и расскрытием возможных вариантов решения.
- Алексеем, Человеком внедрившем множество стартапов, системным архитектором(опытом в датацентрах), Oracle DBA, работавшем у провайдеров и телекоме. Имеющий большой опыт в системах распределенного хранения и биллинге для VoIP.
Реагирование на вопросы в чатах и оказание помощи происходило мгновенно, приемка ДЗ осуществялось с подробными комментариями к корректировкам и наставлениям.
Программистом Python, Perl, Bash;

По курсу давшему мне четкое представление как ОС работает внутри и уверенность (при собеседовании на интервью и обсуждениями с коллегами соврем. вещей в unix-like среде для реализации проектов) в своих знаниях наработанных через теорию из PDF + URL content(ссылки давались преподавателями и они значительно экономили время на поиск актуальной информации для понимания и решения ДЗ) хочу выделить
важную особенность ДЗ, нужно было находить много времени (часто приходилось сидеть до 2 ночи) на решение тасков т.к. опыта у меня было около 2 лет только в FreeBSD и год теории благодаря YouTube с keyword "подготовка к LPIC". Чуть не забыл написать про командную помощь в чате на Slack, мы обсуждали ДЗ, предстоящие занятия, голосовали, просили помощи друг. друга, описывали собеседования и желаемые смены работ)

Рекомендую до начала курса иметь минимальное железо - ssd,cpu i3,8GB ram. Т.к. Я не тратил много времени на разворот стендов на Vagrant+Ansible и ssh доступ к этой быстрой машине (приходилось регулярно конфигурировать Vagrantfile и плейбукать Playbook для отладки ролей или порядка старта виртуальных хостов) в оперативке может крутиться по 5-12 виртуалок одновременно. Самые интересные проекты на Ansible: Mysql(Master_Slave),PostgreSQL(Master_Slave), bash(написание демонов(sysV,SystemD)), Bacula, стек ELK, Zabbix|Grafana+Prometheus.
Отдельно выделю проект идущий в конце курса в течении одного месяца + 2 недели после нужно было построить Web HA Cluster выбрав любые технологии, выбрал след. (iptables,nginx+HAProxy,php-fpm,MariaDB_galera(Master_Master),Pacemaker+Corosync,iSCSI(mdraid60)) и все на Ansible Playbook, Elasticsearch_Logstash_Kibana(ELK), Bacula))
И просмотреть курсы подготовки к LPIC1,2 или канал Кирилла Семаева подготовка к LPIC 1 и 2.

После курса: Позвонил менеджер и предложила выбрать желаемых работодателей для отправки им моего резюме от имени и рекомендаций ОТУС (Выбрал 7 из 12, но звонков не получал). Помимо внутреннего роста знаний и уверенности получил два предложения(на протяжении курса добавлял новые навыки в профиль HH), но там Windows&Linux с ре локацией. На протяжении курса длинной в продуктивные 5 месяцев проходил около 15-20 технических собеседований.
Низкий благодарный поклон Алексею, Александру и команде ОТУС!

4. Отзывчивость преподавательского состава и сокурсников.Без нравоучений, все по делу.

Что не понравилось:
1. Считаю, что это курс надо разбивать на 2 большие части и часть про кластеризацию выносить в отдельную 2-3 месячную часть. Возможно, это такое личное ощущение, потому как тема кластеризации была для меня вообще новая и неизведанная.
2. Преподавателям необходимо приподнять именно преподавательские скиллы. То есть умение читать лекцию или вести семинар. Кстати под конец курса, мне понравился формат, когда преподаватель (Алексей Цыкунов) задавал вопросы слушателям по только что пройденному материалу. Это уже ближе к понятию семинара.

Вывод: буду ли советовать этот курс? Определенно, да! Продолжу ли обучение в ОТУСе по интересующим меня технологиям? Да, как раз ожидаю открытия интересующего меня курса.

Василий
Струков

Данный курс открыл для меня многое.

Хотя я уже довольно долго работаю на Linux, все же я на каждом занятии узнавал для себя все новое и новое.
Как в фундаментальных познаниях Linux Систем, так и в работе сервисов. О некоторых решениях даже ни когда и не слышал.
Курс охватывает очень большую сферу познаний в профессии Системного Администратора.
И каждый модуль по своему уникален. И решает свои задачи.
Скучно точно не будет!
В чем особенность данного курса. В том что начиная с первых занятий сразу же приучают к автоматизации всех задач которые приходится решать.
Уровень знаний Преподавателей Очень Высокий и они не стоят на месте, а продолжают совершенствовать свои знания и навыки параллельно обучая студентов данного курса.
А еще сразу видно, что у них огромный опыт работы в данной сфере и опыт решения большинство встречающихся на пути Системного Администратора задач.
Для себя я нашел на данных курсах многое. Особенно 5й модуль. Для меня все, что было связанно со словом кластер мегоацкая машина и не понятно, что и как там происходит, и как к ней подступиться.
Оказалось не все так страшно и можно шаг за шагом к ней приближаться не боясь.
Огромное СПАСИБО скажу Преподавателям. Александр и Алексей Вам просто нереальное Спасибо за все те знания, советы и жизненный опыт который Вы нам дали в рамках этого курса. Здоровья, Сил и Творческих Успехов Вам. Леонид, Тебе тоже, всегда рад прийти на помощь нуждающимся.
Поздравляю Весь Коллектив OTUS"а с Наступающим Новым Годом.
Желаю побольше Толковых Студентов.
Здоровья, Сил и Желания для решения поставленных задач.

При любой возможности и в любом чате всегда рекомендую пройти данные курсы. Временами даже нуждающимся помогаю теми решениями, которые нам дали Наши Преподаватели, как в методичках так и в лекциях.

P.S. С большим желанием приду к Вам на курсы по Ceph кластерам и все что с ними связанное.


Огромное количество материала - это как большой плюс, так и минус курса. Плюс в том, что информация структурирована, что заметно упрощает её восприятие и усвоение. Подача лекций - хорошая, преподаватели постоянно общаются с аудиоторией, разбирают вопросы от студентов, если они появились по ходу лекции. Также, к занятиям прилагаются материалы, которые помогут сэкономить время, если придётся вернуться к пройденной теме - особенно это выручает, когда сталкиваешься с этим по работе спустя некоторое время.

Минус, что информации много в том, что некоторые лекции могут затянуться на 3-4 часа, лучше было бы их конечно разбивать на две (например, занятие про ядро Linux, про PostgreSQL).

Наличие домашек - это здорово, тем более, что их проверяют не для галочки, а вполне ответственно (даже заставляют переделывать, если результат не достигнут:). Но есть нюанс - при наличии работы, вряд ли удастся их все сделать и в срок, и качественно (под качественно я понимаю в первую очередь усвоение для себя). Поэтому в первую очередь приходится делать те, которые полезны для работы здесь и сейчас, либо которые очень хочется изучить.

Выводы: для совсем новичков, я бы наверное не рекомендовал этот курс (только если есть большое количество свободного времени), а для людей даже с небольшим опытом - однозначно да.

Как показывает читательский отклик, интерес к решениям на базе Linux весьма и весьма велик, в тоже время уровень подготовки администраторов в этой области оставляет желать лучшего. Свидетельство тому, бесконечно повторяющиеся простейшие вопросы в комментариях. Во многом, это следствие того, что наши инструкции можно выполнить "дословно" и получить работающий, результат. Но есть и обратная сторона медали, такой подход не предусматривает появлению системных знаний, оставляя знание предмета на фрагментарном уровне.

Да, кроме практических материалов, мы всегда стараемся публиковать обзоры, посвященные какой-либо технологии в целом, или делаем обширные теоретические отступления, для того, чтобы читатель имел необходимый минимум знаний. Однако все они подразумевают, что читатель обладает базовыми знаниями системы в которой работает.

А как быть с теми, кто только делает свои первые шаги? К сожалению, в IT-сообществе существует некоторый снобизм, мол, чего об этом говорить, это и так все знают, или "гугл в помощь", забывая, что каждый из нас когда-то был новичком и с мистическим ужасом смотрел в черный экран Linux-консоли, абсолютно не понимая, куда он попал и что ему делать.

В итоге новичок, столкнувшись с первыми трудностями, вынужден идти искать знания в другом месте и хорошо если такое место удастся быстро найти. Поэтому мы решили выпустить небольшой цикл материалов, в котором на доступном уровне изложить основы администрирования Linux систем, буквально объясняя на пальцах "общеизвестные вещи", опытные пользователи могут пропустить данный цикл, а могут и прочитать, заодно обновив свои знания.

Итак, вы решили стать Linux администратором...

Немного перефразируем Маяковского "я б в Linux-админы пошел, пусть меня научат", именно так дело в большинстве случаев и обстоит. Есть необходимость, есть желание, есть базовый набор знаний по работе с Windows системами - все это пригодится при работе с Linux системами. Гораздо хуже если какая-либо составляющая отсутствует, тогда, наверное, стоит задуматься о неправильном выборе профессии.

Сразу о том, что нужно раз и навсегда забыть. Это "религиозные войны" и "религиозный фанатизм". Одинаково плохо отрицать возможности Linuх-систем, как и превозносить их, стремясь перевести на Linux все что нужно и не нужно. Запомните - операционная система - это инструмент, хороший специалист берет для каждой задачи наиболее подходящий, фанатик будет забивать гвозди микроскопом, потому что взять в руки молоток ему "религия не позволяет".

Даже больше, сама по себе операционная система не имеет никакой ценности, это всего лищь среда для запуска и выполнения некоторых служб и сервисов. Без софта система мертва. Возьмем для примера клон BeOS - Haiku, ну поставили, ну посмотрели - прикольно... А дальше что?

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

Для привыкшего к графическим инструментам Windows-администратора это может показаться сложным. Но следует твердо усвоить одну истину - консоль является единственным полноценным инструментом администрирования Linux и совсем не означает ограниченность в возможностях или неполноценность системы. Даже наоборот, командная строка позволяет выполнить многие задачи намного быстрее и проще, чем графические инструменты администрирования.

Но существуют же графические инструменты администрирования, скажет иной читатель, панели там разные, или можно же поставить графическую оболочку. Можно, но не нужно. Почему? Внимательно посмотрите на схему ниже:

Linux, создававшийся по образу и подобию UNIX-систем, является полноценной системой и без графической оболочки, более того мы можем запустить, закрыть или вообще сменить графическую оболочку без какого-либо влияния на работоспособность системы и даже без ее перезагрузки. Завершили сеанс Gnome, запустили KDE, а потом и вовсе вышли в консоль. Поэтому все инструменты управления системой разработаны для использования в режиме командной строки. А все панели и графические инструменты являются всего лишь надстройкой над ними.

Windows долгое время разрабатывался по принципиально иной технологии, графическая оболочка была поставлена в основу системы и долгое время даже выполнялась на уровне ядра (семейство Win 9x). Поэтому все инструменты администрирования были изначально графическими, а инструменты командной строки скорее их дополняли, чем заменяли. Любой, кто занимался восстановлением Windows, знает, что возможности инструментов командной строки там существенно ограничены и предназначены в первую очередь для восстановления системы, а не для ее администрирования.

Ситуация стала меняться с выходом PowerShell и Core-версий Windows Server. Несмотря на то, что сегодня графическая оболочка продолжает играть существенную роль в Windows-системах, администраторы получили в руки альтернативный инструмент - консоль PowerShell, которая позволяет полноценно администрировать Windows в режиме командной строки. При этом возможности PowerShell сразу завоевали популярность в среде специалистов, так как позволяют выполнять многие задачи быстрее и проще, чем графические инструменты.

А еще режим командной строки дает неограниченные возможности в создании собственных скриптов и сценариев, позволяющих выполнять сложные последовательности действий в автоматическом режиме или по расписанию.

После этого, как нам кажется, вы должны будете посмотреть на консоль Linux совсем с другой стороны. Что касается панелей и графических инструментов, то тут есть существенные отличия от Windows-систем. В Windows графические инструменты являются полноценной альтернативой PowerShell. В Linux графические инструменты являются надстройкой над консолью, по факту используя те-же самые инструменты, но через дополнительную прослойку. Поэтому мы категорически не рекомендуем использовать разного рода панели и иные графические инструменты, по крайней мере до тех пор, пока вы не освоите консоль. После этого вы уже сможете самостоятельно решить, нужна ли вам панель или вы способны сделать все проще и быстрее через консоль.

Увлечение панелями на раннем этапе знакомства с системой приводит к тому, что навыки администрирования системы будут подменены навыками работы с панелью, что черевато проблемами, когда панель по какой-либо причине окажется недоступной, а работать с системой надо. Это можно сравнить с тем, что человек учившийся вождению автомобиля с механической коробкой без проблем пересядет на автомат, а человек изначально умеющий ездить только на автомате вряд-ли сможет без дополнительного обучения поехать на машине с механикой.

Если вы еще не передумали становиться Linux-администратором, то поедем дальше и рассмотрим отличия в архитектуре системы.

Ядро и драйвера

Основу любой операционной системы составляет ядро. Существует несколько различных архитектур ядра, Linux, как и подавляющее большинство UNIX систем, использует монолитное ядро, Windows наоборот использует концепцию микроядра, хотя по-настоящему архитектура Windows микроядерной не является, принято считать, что Windows использует гибридное ядро.

Особенностью монолитного ядра является то, что все драйвера оборудования также являются частью ядра. Ранее, при изменении аппаратной части, ядро надо было пересобирать, сегодня монолитные ядра используют модульную схему, т.е. динамически позволяют загружать необходимые модули, отвечающие за тот или иной функционал. Т.е. добавив в систему новое устройство, мы должны динамически загрузить соответствующий модуль ядра, а если такого модуля нет, то работа с устройством окажется невозможной. В качестве решения мы можем собрать модуль самостоятельно, но при этом модуль будет скомпилирован под текущую версию ядра и при его смене модуль нужно будет перекомпилировать.

В микроядерной и гибридной архитектурах, драйвера, хоть могут и работать на уровне ядра, его частью не являются и от версии ядра не зависят. Поэтому мы можем без проблем обновлять ядро или использовать один и тот-же драйвер для всех версий систем с общей структурой ядра. Например, в Windows для всего семейства современных ОС, от Windows Vista до Windows 8.1, часто используется один и тот-же драйвер.

Это не значит, что Linux в этом плане хуже, иная архитектура предусматривает иные подходы. Практически это означает только одно - к выбору оборудования для серверов надо относиться более внимательно, стараясь чтобы все основные устройства поддерживались ядром вашего дистрибутива. Особенно это касается сетевых карт. Будет очень неприятно, если после каждого обновления ядра вам придется бегать в серверную, подключать к серверу монитор и клавиатуру и заново собирать модуль ядра.

По сути, такого понятия как драйвер, в Linux системах не существует. Оборудование либо поддерживается ядром, либо нет. Несомненный плюс монолитного ядра - оно самодостаточно. Если все оборудование поддерживается - поставил и забыл, самое время вспомнить ситуацию, когда под Windows нет драйвера сетевой карты и диск утерян.

Файловая система

Мы не будем касаться конкретных файловых систем, тут проблем возникнуть не должно, если администратор работал с Windows системами, то что такое файловая система и чем FAT отличается от NTFS он знает, поэтому разобраться в разнице между ext3, ext4 и, скажем, ReiserFS для него особого труда не составит. А поговорим о фундаментальных отличиях. В отличие от Windows, файловая система Linuх иерархична. Она начинается от корня, который обозначается знаком / (слеш), и имеет древовидную структуру. При этом абсолютно не имеет значения, что отдельные части файловой системы могут находиться на других разделах или вообще физических дисках.

Рассмотрим еще одну схему.

В Windows каждый раздел имеет собственную файловую систему и обозначающую его букву. Все пути к файлам и папкам начинаются с буквы, т.е. от корня раздела. Так если у нас на первом физическом диске, на втором логическом разделе была папка DATA, то путь к ней соответственно будет как D:\DATA, если мы захотим перенести ее на второй жесткий диск, то ее пусть изменится на E:\DATA. В ряде случаев это жутко неудобно, так как путь надо изменить во всех местах ее использования и даже существуют соответствующие утилиты.

В Linux подход кардинально иной. Самое время познакомиться с термином точка монтирования , который означает место файловой системы, куда подключается устройство хранения данных. Например, мы хотим вынести домашние каталоги пользователей на отдельный раздел, как на схеме выше, для этого нам нужно смонтировать второй логический раздел первого физического диска sda2 в /home . После чего перенести туда все пользовательские данные. Для системы и программ это произойдет абсолютно прозрачно, они как использовали абсолютный путь, скажем /home/andrey/data , так и будут его использовать. Добавили еще один диск и хотим вынести туда директорию /var ? Нет проблем, останавливаем использующие каталог службы, монтируем sdb1 в /var и переносим данные, запускаем службы.

Всё есть файл

Еще один основополагающий принцип, который унаследован от UNIX-систем. В Linux всё есть файл: устройства, диски, сокеты и т.д., например, открыв /var/run мы увидим pid-файлы, соответствующие каждой запущенной службе в системе, а в /dev файлы каждого подключенного к системе устройства:

Что это дает? Не будем вдаваться в подробности, а разберем несколько простых примеров. Скажем, нужно создать образ оптического диска. В Windows нам понадобится для этого специализированное ПО, в Linuх все проще, CD-ROM - это блочное устройство, но в тоже время - это файл, файл блочного устройства. Берем соответствующий инструмент и копируем содержимое файла устройства в файл ISO образа:

Dd if=/dev/cdrom of=/home/andrey/image.iso

Хотим заменить жесткий диск? Нет ничего проще, копируем содержимое одного файла блочного устройства в файл другого блочного устройства:

Dd if=/dev/sda of=/dev/sdb

И не нужно никаких Partition Magic.

Другая ситуация, какое-либо ПО настоятельно ищет библиотеку lib-2-0-1.so, а у нас есть совместимая с ней, но более новая, lib-2-1-5.so, как быть? Создаем символическую ссылку на lib-2-1-5.so с именем lib-2-0-1.so и все будет работать. Потому что все есть файл и символическая ссылка тоже тип файла. А теперь попробуйте подсунуть Windows приложению lib-2-0-1.lnk вместо lib-2-1-5.dll...

Ifconfig

выведет на экран сведения о сетевых адаптерах системы:

А теперь вспоминаем, что все есть файл, в том числе и устройство отображения (экран), поэтому просто перенаправим стандартный поток вывода вместо экрана в нужный нам файл:

Ifconfig > ~/123.txt

После чего вывод команды будет сохранен в файл 123.txt в корневой директории пользователя:

Потоки и конвейер

В прошлом примере мы затронули стандартный поток вывода. В Linux существуют стандартные для всех процессов потоки ввода-вывода данных stdin , stdout и поток вывода ошибок stderr . Что это значит? Как минимум то, что процесс обмена данными между различными процессами стандартизован. Это позволяет создавать конвейеры, когда стандартный поток вывода одной команды передается стандартному потоку ввода другой. Например, мы хотим посмотреть список установленных пакетов в системе, в частности пакеты squid. Для этой цели есть команда:

Ээээ... Это что такое и как тут что-то понять? На экране быстро промелькнули сведения о всех установленных в системе пакетах и все что мы можем видеть, это "хвост" этого вывода:

Но ведь нам и не нужен весь вывод этой команды, нас интересуют исключительно пакеты squid. Поэтому направим вывод этой команды на ввод другой, которая уже отберет и покажет то, что нам нужно:

Dpkg -l | grep squid

Вот это совсем другое дело!

Причем конвейер может быть сколь угодно длинным, результат работы одной команды можно передавать второй, от второй к третьей и т.д. Еще один пример из жизни. Вам надо получить все строки вашего конфигурационного файла squid, но без комментариев и пустых строк, чтобы, например, выложить на форуме или отправить другу. Можно конечно скопировать все, но вряд-ли кто-то захочет вам помогать, прокручивая полотно стандартного файла squid.conf, большая часть которого комментарии и примеры. Делаем проще:

Cat /etc/squid3/squid.conf | grep -v "^#" | sed "/^$/d" > ~/mysquid.conf

И вот что у нас получилось:

Просто и понятно, все опции как на ладони. Это стало возможным в результате использования конвейера трех команд, первая вывела в поток содержимое файла, вторая отобрала все строки кроме комментариев, а третья удалила пустые, результат мы направили в файл.

Буквы большие, буквы маленькие

Linux, как и UNIX, является регистрозависимой системой. И это надо помнить! Потому что, в отличие от Windows, myfile.txt , Myfile.txt и myfile.TXT - это три разных файла. В целях совместимости с другими системами не стоит этим злоупотреблять и хранить файлы, имя которых отличается только регистром, а хорошим тоном считается использование в именах только строчных букв.

Расширения и типы файлов

В Windows системах тип файла определяется его расширением, если мы переименуем exe-файл в jpg , то он не запустится, и система будет пытаться обработать его как картинку. В Linux тип файла определяется по его содержимому и расширение используется исключительно для совместимости с другими системами или для удобства пользователя. Возможность исполнения файла обеспечивается установкой соответствующего атрибута. Так в Windows чтобы сделать скрипт исполняемым, надо было изменить расширение с txt на bat , в Linux для этого нужно сделать файл исполняемым. Непонимание этого момента приводит к ситуациям, когда начинающий администратор не понимает, почему его скрипт myscript.sh не выполняется. На самом деле расширение .sh нужно только для удобства, чтобы сразу было ясно, это скрипт Bash Shell, а чтобы он работал, ему надо поставить атрибут исполняемого, а называться он может как угодно, хоть myscript.pupkin-vasya .

Стесняюсь спросить...

Позвольте, скажет иной читатель, это ведь сколько всего надо помнить: синтаксис команд, ключи, опции и т.д., и т.п. Тут нужно справочник покупать или всегда интернет под рукой держать... Вовсе нет, достаточно помнить названия команд, это как раз несложно, по сложившимся в UNIX традициям, командам дают короткие и удобные имена. А все остальное можно спросить у системы. Вопреки распространенному мнению, Linux системы прекрасно документированы. Посмотреть синтаксис и ключи любой команды можно запустив ее с ключом --help , а так как описания обычно не помещаются на один экран, то следует перенаправить вывод справки утилите more , которая выведет информацию поэкранно. Допустим, нас интересует команда grep :

Grep --help | more

Более подробную информацию можно получить с помощью команды man :

Man grep

К сожалению, информация на английском, но знание технического английского, хотя бы на уровне "читаю со словарем" необходимое требование к системному администратору. Вам ничего не напоминает последний скриншот? Правильно, OpenNET.

Нисколько не умаляя значение этого ресурса, можно сказать, что взяв на вооружение команду man и базовые познания в английском, OpenNET вы будете посещать гораздо реже.

Заключение

Надеемся, что после прочтения данной статьи начинающие администраторы будут лучше себе представлять устройство Linux-систем и их принципиальные отличия от привычного им Windows. Это позволит в дальнейшем правильно интерпретировать получаемую информацию и складывать из нее целостную картину функционирования системы, которая перестанет быть "черным ящиком", а команды "китайской грамотой".

Также хотим обратить внимание, что в наших примерах мы использовали только стандартные инструменты, что еще раз показывает все богатство инструментов администрирования, несмотря на то, что они работают только в командной строке. Вернемся к последнему примеру - выводу конфига squid, а теперь подумайте, каким образом это можно было бы сделать при помощи графических инструментов и сколько времени бы это заняло?

Не нужно бояться командной строки, Linux предоставляет в руки администратора очень мощный набор инструментов, который позволяет успешно решать все возникающие задачи без привлечения сторонних средств. Когда вы освоите хоть часть этих возможностей, то Linuх перестанет казаться вам сложным, а консоль мрачной, наоборот, даже располагая графической оболочкой вы будете запускать терминал, окунаясь в привычную и понятную среду, понимая, что системой управляете именно вы и делаете именно то, что хотите, а не что, что задумали разработчики очередной панели.

  • Теги:

Please enable JavaScript to view the

Сильно бы не разделяла администратора Linux и администратора. Сети обычно смешанные (особенно в России любят Windows за его «бесплатность»:-)).

Выше сказали что для практической работы нужно знать команды. Но для того, чтобы их применять, нужно немножко теории по общему администрированию и по Linux администрированию .

Факультативно нужно знать:

    Основы локальных вычислительных сетей.

    Виды сетей по размеру и предназначению. Топологии: классификация, применение, распространение. Стандартизация локальных сетей.

    Техническое оснащение локальной сети.

    Сетевые адаптеры: проводные и беспроводные. Повторители, концентраторы, коммутаторы, маршрутизаторы. IP-камеры, IP-телефоны, IP-принтеры, точки доступа. Шлюзы, мосты, файерволы, NAS и RAID массивы.

    Линии связи.

    Экранированная и неэкранированная витая пара. Волоконно-оптическая линия связи. Радиочастотные устройства. Практическая работа: монтаж линии связи.

    Логическая структура сети.

    Протоколы логического взаимодействия в локальной сети. Протокол TCP/IP v4 и v6. Классовая и бесклассовая адресация, маска подсети.

    Построение одноранговой сети.

    Основные методы построения сети. От рабочих групп к домашним группам. Управление списком пользователей. Разделение ресурсов в одноранговой сети.

    Дисковая подсистема и подсистема печати.

    Работа с жесткими дисками. Работа с принтерами. Разграничение доступа к ресурсам сети.

    Построение беспроводной сети.

    Основные методы построения беспроводных сетей. Формирование беспроводной точки доступа. Протоколы безопасности при формировании беспроводной сети.

    Общие сведения о DNS. Формирование доменной зоны, подключение. Мониторинг DNS-сервера. Практическая работа: Настройка DNS-сервера.

    Общие сведения о DHCP. Установка и настройка DHCP сервера. Управление областями DHCP, пулом, арендой и резервированием.

По Linux для начинающих администраторов дают следующую программу:

  1. Введение.

    1. Краткая история UNIX и Linux. Проект GNU.
    2. Общие сведения об архитектуре системы Linux.
    3. Основные понятия - операционная система, shell, консоль, терминал.
    4. Обзор существующих дистрибутивов Linux.
  2. Установка и начало работы.

    1. Что нужно знать до установки.
    2. Установка Debian GNU/Linux.
    3. Начало работы в Linux.
    4. Локальный вход в систему. Виртуальные терминалы.
  3. Основы управления в Linux.

    1. Интерфейс командной строки.
    2. Основы Bourne Shell (sh ).
    3. Bash: интерактивный shell.
    4. Что такое сценарии shell.
    5. Управление процессами и задачами.
  4. Начало работы.

    1. Как получить справку - man и info .
    2. Файлы и каталоги.
    3. Поиск файлов.
    4. Обработка текста. Текстовый редактор vi .
    5. Управление файлами через Midnight Commander.
  5. Установка и удаление программ.

    1. Утилиты make , diff , patch .
    2. Установка программ из исходных кодов.
    3. Система управления пакетами RPM и расширение возможностей при помощи YUM.
    4. Система управления пакетами APT.
  6. Работа с дисками и файловыми системами.

    1. Дисковые накопители в Linux.
    2. Создание дисковых разделов: fdisk , cfdisk .
    3. Файловые системы в файле: loop device.
    4. Виртуальная память (swap).
    5. Файловые системы Linux: Ext2, Ext3, Ext4, ReiserFS, XFS.
    6. Поддержка «неродных» файловых систем NTFS, FAT.
    7. Виртуальные файловые системы.
  7. Администрирование учетных записей пользователей и групп. Авторизация в Linux.

    1. Права доступа.
    2. Авторизация пользователей.
    3. Администрирование пользователей.
    4. Управление паролями: passwd .
  8. Журналирование и ядро Linux.

    1. Журналы, их расположение, регистрация системных сообщений и событий.
    2. Взаимодействие с работающим ядром - настройка ядра.
    3. Доступ к аппаратуре.
    4. Загрузчики систем LILO, GRUB.
    5. Управление модулями ядра: modprobe , rmmod , lsmod и modinfo .
  9. Резервное копирование и восстановление.

    1. Общие вопросы. Терминология.
    2. Стратегии резервного копирования.
    3. Архиватор tar .
    4. Прямой доступ к устройствам - dd .
    5. Упаковщики gzip , bzip2 .
  10. Процесс загрузки Linux и графическая система X Window System.

    1. Последовательность загрузки. Программа init и ее функции.
    2. Сценарий rc и система инициализации SystemV.
    3. Понятие службы. Управление службами.
    4. Архитектура графического интерфейса.
    5. Настройка X.org.
    6. Запуск X.
    7. Доступ к удаленным X серверам.
  11. Основы построения сетей.

    1. Оборудование и топология сетей.
    2. Иерархия сетевых протоколов. Эталонная модель ISO/OSI.
    3. Семейство протоколов TCP/IP.11.4 Основы IP-адресации, маршрутизация, классы и маски подсетей.
  12. Сетевые средства Linux.

    1. Настройка сетевых интерфейсов.
    2. Настройка статической маршрутизации
    3. Средства диагностики: ping , traceroute , netstat , tcpdump , lsof .
    4. Удаленный доступ - secure shell (OpenSSH).
    5. Синхронизация файлов с использованием утилиты RSync.

Да и вообще, возьмите программу образовательного курса и почитайте по этим темам в интернете. Также можете посмотреть пару вебинаров.