Основы ОС Linux — команды, пользователи, настройка, терминал, папки

Contents

Что такое система Linux

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

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

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

Широкое распространение Linux во всем мире сформировало огромный спрос на экспертов и специалистов в области Linux.

Краткий обзор дистрибутивов Linux

Самая первая версия Linux, появившаяся в 1991 году, представляла собой ядро и несколько приложений. Первые дистрибутивы появились в 1992 году. Тогда отдельные энтузиасты или группы энтузиастов выпускали разные дистрибутивы (каждый, есте­ственно, под своим именем).

На данный момент Linuх-пользователям доступно семь основных дистри­бутивов:

  • Debian — тот самый надежный Debian, появившийся в 1993 году. Это единственный широко распространенный дистрибутив, доживший до наших дней под оригинальным названием.
  • Fedora — потомок популярного ранее дистрибутива Red Hat, суще­ствование которого было прекращено в 2004 году. Тогда пользователям предоставили выбор: либо они мигрируют на корпоративный (коммер­ческий) RHEL (Red Hat Enterprise Linux), либо на бесплатный Fedora (ранее Fedora Core). На данный момент Fedora — развивающийся дис­трибутив, последняя версия котороrо вышла 28 апреля 2020 года, а вы­пуск новых версий производится каждые 6-8 месяцев.
  • Ubuntu — изначально основан на Deblan, первая версия появилась в 2004 году, последняя 23 апреля 2020 года (версия 20.04). Обновляется каждые 6 месяцев. Как и Fedora, имеет несколько вариантов, в том числе серверный. Популярным неофициальным (не от разработчиков Ubun­tu) форком является дистрибутив Mint доведенная до ума версия Ubuntu.
  • openSUSE изначально основан на дистрибутиве Slackware и первая его версия вышла в октябре 2005 года (сравнительно молодой дистрибутив). На данный момент доступна версия от 22 мая 2019 года, а обновля­ется дистрибутив примерно раз в год. В отличие от Ubuntu, использует систему пакетов RPM, что делает его ближе к Fedora со временем в состав openSUSE включили некоторые решения из Red Hat систему пакетов RPM, использование sysconfig, что сделало больше похожим на Red Hat, чем на Slackware.
  • ALT Linux — как ни крути, но этот отечественный дистрибутив заслужи­вает уважения — хотя бы за то, что дожил до наших дней и не развалился, как многие другие. И учтите, первая его версия появилась в 1999 году (то есть ему больше 20 лет), а не в 2004-2005, как Ubuntu и openSUSE. Последняя версия от 28 октября 2019 года.
  • CentOS (Community ENTerprise Operating System) общественная корпоративная операционная система. Основан на RHEL и совместим с ним. Содержит из свободного ПО с открытым кодом. Первая версия вышла в 2004 году, на данный момент последней является версия от 14 января 2020 года — дистрибутив развивается. Дистрибутив очень надеж­ный — иного от корпоративной ОС и не следует ожидать, пусть и не со­держит самых новых пакетов ПО, как, например, Fedora.
  • Astra Linux — дистрибутив специального назначения на базе ядра Linux, созданная для комплексной защиты информации и построения защищенных автоматизированных систем. Сертифицирована в системах сертификации средств защиты информации Минобороны, ФСТЭК и ФСБ России. Первая версия увидела свет в 2009 году, а последняя версия вы­шла 10 мая 2019 года.
  • Manjaro — Основанная на Arch Linux, Manjaro стремится использовать преимущества и возможности, которые делают Arch отличным дистрибутивом, обеспечивая более приятную установку и работу из коробки как для новых, так и для опытных пользователей Linux. Manjaro поставляется с предустановленными средами рабочего стола, графическими приложениями и мультимедийными кодеками для воспроизведения аудио и видео.
  • Linux Mint — Известный девиз Linux Mint («From freedom came elegance — Из свободы пришла элегантность») — не просто поговорка. Основанный на Ubuntu, это стабильный, мощный, полный и простой в использовании дистрибутив Linux. Среди наиболее отличительных особенностей Mint мы можем упомянуть, что во время установки вам разрешено выбирать из списка сред рабочего стола, и вы можете быть уверены, что после его установки вы сможете воспроизводить свои музыкальные и видеофайлы без каких-либо дополнительных действий по настройке, т.к. стандартная установка предусматривает мультимедийные кодеки из коробки.
  • Elementary OS — Этот красивый настольный дистрибутив Linux на основе Ubuntu LTS, рекламируемый его разработчиками как «быстрая и открытая замена Windows и OS X», был впервые выпущен в 2011 году и в настоящее время находится на пятой стабильной версии (кодовое имя «Hera»). Поскольку elementary OS основана на Ubuntu, она полностью совместима с ее репозиториями и пакетами.
  • Solus — это дистрибутив Linux, созданный с нуля, разработанный специально для домашних и офисных компьютеров. Он поставляется с разнообразным программным обеспечением прямо из коробки, поэтому вы можете без проблем настроить свое устройство. Некоторые из его наиболее интересных функций включают настраиваемую среду рабочего стола под названием Budgie, которая тесно интегрирована со стеком GNOME (и может быть настроена для имитации внешнего вида рабочего стола GNOME 2). Его также могут использовать разработчики, поскольку он предлагает широкий спектр инструментов разработки, таких как редакторы, языки программирования, компиляторы и системы контроля версий, а также технологии контейнеризации/виртуализации.
  • Zorin OS — один из лучших и простых в использовании настольных дистрибутивов Linux, доступных в настоящее время. Это альтернатива Windows и macOS. Что делает его популярным, так это его мощный, чистый и отполированный рабочий стол, который предлагает приложение Zorin Appearance, которое позволяет пользователям настраивать рабочий стол, чтобы он напоминал среду, с которой они знакомы.
  • Deepin — это операционная система Linux, ориентированная на настольные ПК, производная от Debian, поддерживающая ноутбуки, настольные компьютеры. Его цель — предоставить пользователям по всему миру красивую, простую в использовании, безопасную и надежную операционную систему. Он поставляется с Deepin Desktop Environment (DDE), несколькими встроенными приложениями и предустановленным программным обеспечением с открытым исходным кодом, которые позволяют вам заниматься разнообразными развлекательными мероприятиями, а также удовлетворять ваши повседневные потребности. Важно отметить, что в Deeping Store вы можете найти около тысячи приложений, отвечающих требованиям пользователей.
  • MX Linux — возглавляет список благодаря своей высокой стабильности, элегантному и эффективному рабочему столу, а также простоте обучения. Это операционная система Linux среднего размера, ориентированная на настольные ПК, основанная на Debian. Он отличается простой конфигурацией, высокой производительностью и средней площадью основания. Он создан для всех типов пользователей и приложений. Кроме того, он, по сути, ориентирован на пользователя, чтобы гарантировать, что система работает «из коробки», он поставляется с определенным количеством несвободного программного обеспечения. Одна уникальная особенность MX Linux заключается в том, что он поставляется с systemd (менеджером системы и служб), включенным по умолчанию, но отключенным из-за разногласий вокруг него, вместо этого он использует systemd-shim, который эмулирует большинство, если не все функции systemd.

Рейтинг дистрибутивов Linux

  1. MX Linux (based on Debian)
  2. Manjaro (based on Arch Linux)
  3. Linux Mint
  4. Ubuntu
  5. Debian
  6. Elementary OS
  7. Solus
  8. Zorin OS
  9. Fedora (sponsored by Red Hat)
  10. Deepin (Deepin, Linux Deepin, Hiweed GNU/Linux)

Какой дистрибутив Linux выбрать?

Вопрос довольно распространенный, но однозначного ответа на него нет. Все зависит от применения и личных предпочтений. Например, фанатов Ubuntu ни за что не заставишь установить Fedora и наоборот. Если же у вас своего мнения относительно дистрибутива не сформировалось, то можно выбирать один из следующих дистрибутивов Fedora, CentOS, Ubuntu, Debian. На сервере я бы рекомендовал более стабильные CentOS и Debian, но поскольку вы только начинаете разбираться с Linux, можно смело ис­пользовать Fedora и Ubuntu. С ними вам будет проще и они более универ­сальные. Оба дистрибутива смело подойдут как для рабочей станции (или домашнего компьютера), так и для сервера.

Терминал Linux и выполнение команд

Основной оболочкой для работы пользователей в Linux является Bash (или по-другому консоль/терминал).

Terminal (Терминал) — это основное средство управления операционной системой семейства Linux. Такой способ управления считается наиболее удобным, т.к. большинство конфигурационных файлов имеют текстовый формат и через терминал их проще всего будет редактировать.

В Linux вы работаете через специальный Shell (оболочку), специальный командный интерфейс, который называется Bash.

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

Первым что увидит пользователь в окне терминала будет приглашение оболочки — оно, как правило, состоит из имени пользователя и имени хоста (нашего компьютера), отделенные друг от друга символом @, следом идет путь текущей рабочей директории и один из симоволов: $ или #.

Также тут мы видим ~ (тильду) — это текущий каталог. В bash это специальный символ, который заменяется на путь к домашнему каталогу текущего пользователя.

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

Несколько заметок по путям:

  • ~ (тильда) — это ярлык для вашего домашнего каталога. например, если ваш домашний каталог /home/ivan, вы можете обратиться к каталогу Documents по пути /home/ivan/Documents или ~/Documents
  • (точка) — это ссылка на ваш текущий каталог. Например, в приведенном выше примере мы ссылались на Documents с относительным путем. Его также можно было бы записать как ./Documents.
  • .. (две точки) — это ссылка на родительский каталог. Вы можете использовать это несколько раз в пути, чтобы продолжить движение вверх по иерархии. например, если вы находитесь в пути /home/ivan, вы можете запустить команду ls ../../, и это выведет список корневого каталога.

Root (суперпользователь) — это специальный аккаунт и группа пользователей с идентификатором UID 0, владелец которого имеет право на выполнение всех без исключения операций.

Вот как может выглядеть командная строка, если вы вошли в систему как root и в каталоге /var/log:

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

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

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

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

Команда sudo переключает работу в контекст root. Естественно, команда доступна не для любого пользователя, она позволяет повышать привелегии строго определенным пользователям, которые находятся в группе пользователей sudo. Можно переключиться в режим root с помощью sudo -i и ввести свой пароль еще раз.

Выйти обратно можно через сочетание клавиш Ctrl + D или с помощью команды logout.

Команда sudo работает следующим образом — она читает файл /etc/sudoers, в котором находится список пользователей, которым она доступна и проверяет есть ли в данном файле пользователь. В данном файле по-умолчанию сказано, что повышать права могут все пользователи, которые принадлежат группе sudo. Чтобы посмотреть список пользователей можно открыть файл cat /etc/passwd, с помощью команды cat путь_к_файлу. В данном файле каждая строка — это отдельный пользователь. Для того, чтобы посмотреть список групп и пользователей, находящихся в них используем cat /etc/group.

Структура каталогов Linux — Файловая система Линукс

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

В Linux организована иерархия каталогов. В каждом каталоге находятся файлы и другие каталоги. Можно создать ссылку на любой файл или каталог, используя либо полный путь (например, /home/joe/myfile.txt), либо относительный путь (например, если /home/joe — это текущий каталог, то можно просто ссылаться на файл через myfile.txt).

Структура каталогов Linux - Файловая система Линукс

  • / — Корневой каталог, составляет основу файловой системы. Все файлы и каталоги логически содержатся внутри корневого каталога, независимо от их физического расположения.
  • /bin — содержит исполняемые программы, которые являются частью операционной системы Linux. Многие команды Linux, такие как cat, cp, ls, more и tar, находятся в /bin.
  • /boot — содержит ядро ​​Linux и другие файлы, необходимые для менеджеров загрузки LILO и GRUB.
  • /dev — содержит все файлы устройства. Linux рассматривает каждое устройство как особый файл. Все такие файлы находятся в /dev.
  • /etc — содержит большинство файлов конфигурации системы и сценариев инициализации в подкаталоге /etc/rc.d.
  • /home — Домашний каталог является родительским для домашних каталогов пользователей.
  • /lib — содержит файлы библиотеки, включая загружаемые модули драйверов, необходимые для загрузки системы.
  • /lost + found — Каталог потерянных файлов. В каждом разделе диска есть каталог «потерян + найден».
  • /media — Каталог для монтирования файловых систем на съемных носителях, таких как DVD-ROM, флеш-накопители и Zip-накопители.
  • /mnt — каталог для временно смонтированных файловых систем (т.е. программного обеспечения для резервного копирования).
  • /opt — дополнительные программные пакеты копируют/устанавливают сюда файлы.
  • /proc — специальный каталог в файловой системе виртуальной памяти. Он содержит информацию о различных аспектах системы Linux.
  • /root — Домашний каталог пользователя root.
    /run —  В более новых версиях. Предоставляет приложениям стандартное место для хранения необходимых им временных файлов, таких как сокеты и идентификаторы процессов.
  • /sbin — содержит административные двоичные файлы. Здесь находятся такие команды, как mount, shutdown, umount.
  • /selinux — Если ваш дистрибутив Linux использует SELinux для безопасности. Содержит специальные файлы, используемые SELinux.
    /srv — содержит данные для служб (HTTP, FTP и т.д.), предлагаемых системой.
  • /sys — специальный каталог, содержащий информацию об устройствах с точки зрения ядра Linux.
  • /tmp — временный каталог, который можно использовать как рабочий каталог (хранилище временных файлов). Содержимое этого каталога очищается при каждой загрузке системы.
  • /usr — содержит подкаталоги для многих программ, таких как X или оконная система GUI.
  • /usr/bin — содержит исполняемые файлы для многих команд Linux. Он не является частью основной операционной системы Linux.
  • /usr/include — содержит файлы заголовков для языков программирования C
  • /usr/lib — содержит библиотеки для языков программирования C.
  • /usr/local — содержит локальные файлы. В нем есть каталоги, похожие на каталоги /usr.
  • /usr/sbin — содержит административные команды.
  • /usr/share — содержит общие файлы, например файлы конфигурации по умолчанию, изображения, документацию и т.д.
  • /usr/src — содержит исходный код ядра Linux.
  • /var — содержит различные системные файлы, такие как журнал, почтовые каталоги, спул печати и т.д., количество и размер которых со временем могут меняться.
  • /var/cache — область хранения кешированных данных для приложений.
  • /var/lib — содержит информацию о текущем состоянии приложений. Программы изменяют это при запуске.
  • /var/lock — содержит файлы блокировки, которые проверяются приложениями, так что ресурс может использоваться только одним приложением.
  • /var/log — содержит файлы журналов для различных приложений.
  • /var/mail — содержит электронные письма пользователей, отправленные системой или сервером.
  • /var/opt — содержит переменные данные для пакетов, хранящихся в каталоге opt.
  • /var/run — содержит данные, описывающие систему с момента ее загрузки.
  • /var/spool — содержит данные, ожидающие обработки.
  • /var/tmp — временные файлы, сохраняемые между перезагрузками системы.

Типы содержимого

Основные типы контента, хранящегося в файловой системе Linux:

  • Постоянный (Persistent) — это содержимое, которое должно быть постоянным после перезагрузки, например, параметры конфигурации системы и приложений.
  • Время выполнения (Runtime) — контент, созданный запущенным процессом, обычно удаляется перезагрузкой.
  • Переменный/Динамический (Variable/Dynamic) — это содержимое может быть добавлено или изменено процессами, запущенными в системе Linux.
  • Статический контент (Static) — остается неизменным до тех пор, пока не будет явно отредактирован или перенастроен.

Корневой каталог (root)

Все в системе Linux находится в каталоге /, известном как root или корневой каталог. Вы можете думать о каталоге / как о каталоге C:\ в Windows, но это не совсем так, поскольку в Linux нет букв дисков. В то время как другой раздел будет расположен в D:\ в Windows, этот другой раздел появится в другой папке в / в Linux.

Поскольку все остальные каталоги или файлы происходят от корня, абсолютный путь к любому файлу проходит через корень. Например, если у вас есть файл в /home/user/documents, структура каталогов идет как root -> home -> user -> documents.

/bin — Основные пользовательские двоичные файлы

Каталог /bin содержит основные пользовательские двоичные файлы (программы), которые должны присутствовать при монтировании системы в однопользовательском режиме. Приложения, например, такие как браузер Firefox, хранятся в /usr/bin, а важные системные программы и утилиты, такие как оболочка bash, находятся в /bin. Каталог /usr может храниться в другом разделе — размещение этих файлов в каталоге /bin гарантирует, что в системе будут эти важные утилиты, даже если другие файловые системы не смонтированы.

/bin непосредственно содержит исполняемые файлы многих основных команд оболочки, таких как ps, ls, ping, grep, cp.

/boot — Статические загрузочные файлы

Каталог /boot содержит файлы, необходимые для загрузки системы. Включает в себя загрузочное ядро Linux, диск начальной инициализации и файлы конфигурации загрузчика (GRUB).

Однако файлы конфигурации загрузчика находятся в /etc.

/dev — Файлы устройства

Содержит файлы, представляющие точки доступа к устройствам в системах пользователя. К ним относятся устройства терминала (tty*), жесткие диски (hd* и sd*), оперативная память (ram*) и CD-ROM (cd*). Пользователи могут получить доступ к этим устройствам непосредственно через файлы устройств, однако приложения часто скрывают фактические имена устройств от конечных пользователей.

Linux представляет устройства в виде файлов. Это не настоящие файлы в том виде, в каком мы их знаем, но они отображаются как файлы — например, /dev/sda представляет собой первый диск SATA в системе. Второй диск будет называться /dev/sdb.

/etc — Файлы конфигурации

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

/home — Домашние папки

Содержит каталоги, назначенные каждому обычному пользователю с учетной записью входа. (Суперпользователь — исключение, он использует /root в качестве домашнего каталога.)

/lib — Основные общие библиотеки

Содержит общие библиотеки, необходимые приложениям в /bin и /sbin для загрузки системы. Библиотеки, необходимые для двоичных файлов в папке /usr/bin, находятся в /usr/lib.

Имена файлов библиотеки: ld* или lib*.so.*

Если вы используете 64-bit операционную систему, то у вас есть пара каталогов: /lib, /lib32 и /lib64. Те библиотеки, которые не содержат кода, специфичного для версии процессора, находятся в папке /lib. Те, которые зависят от версии, находятся в каталогах /lib32 (32-bit) или /lib64 (64-bit), в зависимости от ситуации.

/lost+found — Восстановленные файлы

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

/media — Съемный носитель

Стандартное расположение для автоматически монтируемых устройств, в частности съемных носителей. Если у тома носителя есть имя, то оно обычно используется в качестве точки монтирования. Например, USB-накопитель с именем myusb будет смонтирован как /media/myusb.

/mnt — Временные точки монтирования

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

/opt — Дополнительные пакеты

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

/proc — Файлы ядра и процессов

Содержит информацию о системных ресурсах.

Каталог /proc похож на каталог /dev, потому что он не содержит стандартных файлов. Он содержит специальные файлы, которые представляют информацию о системе и процессах.

Это псевдофайловая система, которая содержит информацию о запущенном процессе. Например, каталог /proc/{pid} содержит информацию о процессе с этим конкретным pid. Также тут можно получить текстовую информацию о системных ресурсах. Например, узнать uptime /proc/uptime, проверить информацию о процессоре /proc/cpuinfo или проверить использование памяти вашений системой Linux /proc/meminfo.

/root — Корневой домашний каталог

Домашний каталог суперпользователя root. Этот домашний каталог не находится ниже /home из соображений безопасности.

/run — Файлы состояния приложения

Каталог /run является довольно новым и предоставляет приложениям стандартное место для хранения необходимых им временных файлов, Таких как сокеты и идентификаторы процессов. Эти файлы нельзя хранить в /tmp, потому что файлы в /tmp могут быть удалены.

/sbin — Двоичные файлы системного администрирования

Каталог /sbin аналогичен /bin — он содержит важные двоичные файлы системного администрирования, такие как iptables, reboot, fdisk, ifconfig, swapon.

Содержит административные команды и демонические процессы.

/selinux — Виртуальная файловая система SELinux

Если ваш дистрибутив Linux использует SELinux для обеспечения безопасности (например, Fedora и Red Hat), каталог /selinux содержит специальные файлы, используемые SELinux. Это похоже на /proc.

/srv — Сервисные данные

Этот каталог предоставляет пользователям расположение файлов данных для конкретной службы, такой как FTP, WWW или CVS. Если вы использовали http-сервер Apache для обслуживания website, то вы вероятно сохранили бы файлы своего веб-сайта внутри каталога /srv.

/sys —

Содержит параметры для настройки хранения блоков и управления контрольными группами.

/tmp — Временные файлы

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

/usr — Пользовательские двоичные файлы и данные только для чтения

Содержит пользовательскую документацию, игры, графические файлы (X11), библиотеки (lib) и множество других команд и файлов, не требующихся в процессе загрузки. Каталог /usr предназначен для файлов, которые не изменяются после установки (теоретически /usr может быть смонтирован только для чтения).

/var — Файлы переменных данных

Содержит каталоги данных приложений. В частности, именно здесь размещаются файлы, которые передаются через FTP-сервер (/var/ftp) или веб-сервер (/var/www). Он также содержит все файлы системного журнала (/var/log) и файлы, находящиеся в очереди на обработку в /var/spool (такие как mail, cups, news). Каталог /var содержит каталоги и файлы, которые часто изменяются. На серверных компьютерах он обычно создается как отдельная файловая система, которую можно легко расширить.

Базовые команды файловой системы Linux

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

Команды для работы с файлами и каталогами:

  • cd — Меняет каталог
  • pwd — Выводит имя текущего рабочего каталога
  • mkdir — Создает каталог
  • chmod — Изменяет права доступа к файлу или каталогу
  • ls — Перечисляет содержимое каталога
  • cat — Выводит содержимое файла целиком
  • less — Выводит содержимое файла по страницам

Системное администрирование в Linux

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

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

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

  • Команда su. Команда su используется в основном, чтобы открыть оболочки от имени суперпользователя. После открытия оболочки администратор может запустить множество команд, выйти, а затем вернуться в оболочку под именем обычного пользователя.
  • Команда sudo. С помощью команды sudo обычный пользователь получает привилегии суперпользователя, но только при использовании команды sudo для запуска другой команды. После выполнения этой команды с помощью sudo пользователь немедленно возвращается в оболочку как обычный пользователь. Дистрибутивы Ubuntu и Fedora по умолчанию назначают привилегии sudo первой установленной учетной записи пользователя. Этого не происходит в дистрибутиве RHEL, но во время его установки можно присвоить привилегию sudo первому пользователю.
  • Администрирование серверов с помощью инструмента Cockpit. RHEL, Fedora и другие дистрибутивы Linux взяли на себя обязательство применять Cockpit в качестве основного браузерного средства администрирования системы. Инструмент позволяет отслеживать и изменять настройки в основных действиях системы, в хранилище, сети, учетных записях, службах и других функциях.
  • Инструменты с графическим интерфейсом. До того как интерфейс Cockpit стал популярным, RHEL, Fedora и другие дистрибутивы Linux задействовали индивидуальные инструменты администрирования с графическим интерфейсом, которые запускались командами, начинающимися с system-config-*. Большинство этих инструментов администрирования в последних версиях RHEL и Fedora не используются.

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

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

  • Файловые системы. При первой установке Linux структура каталогов настраивается таким образом, чтобы система стала пригодной для использования. Однако, если позже пользователи захотят добавить дополнительное хранилище или изменить расположение файловой системы за пределами своего домашнего каталога, для этого им понадобятся административные права. Кроме того, суперпользователь имеет разрешение на доступ к файлам, которые принадлежат пользователям. Суперпользователь может копировать, перемещать или изменять файлы любого другого пользователя — привилегия, необходимая для создания резервных копий файловой системы.
  • Установка программного обеспечения. Поскольку вредоносное программное обеспечение может нанести ущерб системе или сделать ее небезопасной, для установки программ необходимы права суперпользователя. К тому же важно сделать так, чтобы программное обеспечение было доступно всем пользователям системы. Обычные пользователи могут устанавливать лишь некоторые программы в собственных каталогах и выводить информацию об установленных программах.
  • Учетные записи пользователя. Только суперпользователь может добавлять и удалять учетные записи пользователей или групп.
  • Сетевой интерфейс. Раньше суперпользователь должен был настраивать сетевые интерфейсы, запускать и останавливать их. Сейчас многие настольные компьютеры Linux позволяют обычным пользователям запускать и останавливать сетевые интерфейсы со своего рабочего стола с помощью программы Network Manager. Особенно подходит она для беспроводных сетевых интерфейсов, которые меняются в зависимости от местоположения ноутбука или устройства с Linux.
  • Серверы. Настройка, запуск и остановка веб-серверов, файловых серверов, серверов доменных имен, почтовых серверов и десятков других серверов требует привилегий суперпользователя. Содержимое, например веб-страницы, могут добавить на серверы обычные пользователи, если настройки системы позволяют. Службы часто запускаются под специальные административные учетные записи пользователей, такие как apache (для службы httpd) и rpc (для службы rpcbind). Таким образом, если кто-то взломает службу, он не сможет получить привилегии администратора для других служб или системных ресурсов.
  • Безопасность. Настройка функций безопасности, таких как брандмауэры и списки доступа для пользователей, обычно выполняется при наличии прав суперпользователя. Кроме того, суперпользователь должен следить за использованием служб и за тем, чтобы ресурсы сервера не исчерпывались и ими не злоупотребляли. Самый простой способ начать администрировать систему — применить соответствующие инструменты с графическим интерфейсом.

Заметки по Ubuntu

  • Cуперпользователь в Linux по функционалу похож на администратора в Windows.
  • В Ubuntu по умолчанию пароль для учетной записи суперпользователя не установлен. Это означает, что, даже если учетная запись существует, вы не можете войти с ее помощью или использовать команду su, чтобы стать суперпользователем. Таким образом Ubuntu обеспечивает дополнительную безопасность. Чтобы выполнить команду от имени суперпользователя, необходимо применять команду sudo перед каждой командой.
  • Файл sudoers в Ubuntu по умолчанию дает права начальному пользователю в системе и привилегии членам группы sudo. Чтобы предоставить другому пользователю такие же привилегии, просто добавьте дополнительного пользователя в группу администратора, запустив команду visudo.

Управление учетными записями Linux

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

Группы — это способ назначения прав в системе, которые могут быть определены для нескольких пользователей одновременно.

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

Добавление пользователей с помощью команды useradd

Самый простой способ создания нового пользователя из оболочки — команда useradd. Просто откройте окно Terminal (Терминал) с правами суперпользователя, наберите useradd в командной строке и добавьте подробную информацию о новой учетной записи в качестве параметров.

Создадим учетную запись для нового пользователя. Его полное имя — Ivan Smirnov, а логин — ivsmirnov. Для начала станьте суперпользователем и введите следующую команду:

Далее установите пароль, применив команду passwd. Его нужно ввести дважды:

Примечание: запуск команды passwd от имени суперпользователя позволяет добавлять короткие или пустые пароли, которые обычные пользователи не могут добавить сами.

SSH в Linux

== Установка клиента OpenSSH

== Как получить доступ к удаленному серверу

Переменные окружения в Linux

todo

Владельцы файлов и папок в Linux

todo

Sudo и Root

todo

== Как использовать команду sudo

== Предоставление привилегий sudo

== Примеры sudo в Linux

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x