В каких случаях удобно использование chroot?
Итак, команда chroot позволяет изменить системное окружение для выполняемых процессов. Таким образом, они не могут получить доступ к ресурсам вне нового окружения. Исходя из этого, использование chroot очень практично, например в следующих ситуациях:
- сброс паролей суперпользователя root;
- обновление или создание образов initramfs для ядра;
- восстановление состояния пакетов приложений;
- восстановление или обновление работы загрузчика, например, GRUB – это самая распространённая ситуация.
Как можно видеть, номенклатура применения для chroot довольно широка. При том, что сами вышеперечисленные задачи требуют хорошего опыта при работе и/или администрировании UNIX/Linux-систем.
Особняком стоит вопрос безопасности. Ведь в данном случае даже с помощью «безобидного» Live-CD/DVD/USB абсолютно скрытно можно скомпрометировать систему и сделать с системой всё что угодно. Но следует заметить, что это уже в большей степени вопрос об уровне физического доступа к самой системе.
Linux File Permissions
Прежде чем идти дальше, давайте объясним основную модель разрешений Linux.
В Linux каждый файл связан с владельцем и группой и ему назначены права доступа для трех разных классов пользователей:
Владелец файла. Участники группы. Другие (все остальные).
Владелец файла может быть изменен с помощью команд и .
Существует три типа прав доступа к файлам, которые применяются к каждому классу:
Разрешение на чтение. Разрешение на запись. Разрешение на выполнение.
Эта концепция позволяет вам указать, каким пользователям разрешено читать файл, записывать в файл или выполнять файл.
Права доступа к файлам можно просмотреть с помощью команды :
Первый символ показывает тип файла. Это может быть обычный файл ( ), каталог ( ), символическая ссылка ( ) или любой другой специальный тип файла.
Следующие девять символов представляют права доступа к файлу, три тройки по три символа в каждом. Первый триплет показывает разрешения владельца, второй — разрешения группы, а последний триплет — разрешения всех остальных. Разрешения могут иметь различное значение в зависимости от типа файла.
В приведенном выше примере ( ) означает, что владелец файла имеет разрешения на чтение и запись ( ), группа и другие пользователи имеют только разрешения на чтение ( ).
Каждая из трех тройок разрешений может состоять из следующих символов и иметь разные эффекты в зависимости от того, заданы они для файла или для каталога:
Влияние разрешений на файлы
разрешение | символ | Значение в файле |
---|---|---|
Читать | Файл не читается. Вы не можете просматривать содержимое файла. | |
Файл доступен для чтения. | ||
Написать | Файл не может быть изменен или изменен. | |
Файл может быть изменен или изменен. | ||
казнить | Файл не может быть выполнен. | |
Файл может быть выполнен. | ||
Если он найден в триплете он устанавливает бит . Если он найден в триплете, он устанавливает бит . Это также означает, что установлен флаг . Когда в исполняемом файле флаги или , файл исполняется с правами владельца файла и / или группы. | ||
То же, что и но флаг не установлен. Этот флаг редко используется в файлах. | ||
Если он найден в триплете он устанавливает бит. Это также означает, что установлен флаг . Этот флаг бесполезен для файлов. | ||
То же, что и но флаг не установлен. Этот флаг бесполезен для файлов. |
Влияние разрешений на каталоги (папки)
В Linux каталоги — это специальные типы файлов, которые содержат другие файлы и каталоги.
разрешение | символ | Значение по каталогу |
---|---|---|
Читать | Содержимое каталога не может быть показано. | |
Содержимое каталога может быть показано. (Например, вы можете перечислить файлы внутри каталога с помощью .) | ||
Написать | Содержимое каталога не может быть изменено. | |
Содержимое каталога может быть изменено. (Например, вы не можете создавать новые файлы, удалять файлы .. и т. д.) | ||
казнить | Каталог не может быть изменен на. | |
Каталог может быть перемещен с помощью . | ||
Если он найден в триплете, он устанавливает бит . Если он найден в триплете, он устанавливает бит . Это также означает, что установлен флаг . Когда в каталоге флаг новые файлы, созданные в нем, наследуют идентификатор группы каталогов (GID) вместо идентификатора основной группы пользователя, создавшего файл. не влияет на каталоги. | ||
То же, что и но флаг не установлен. Этот флаг бесполезен для каталогов. | ||
Если он найден в триплете он устанавливает бит. Это также означает, что установлен флаг . Если для каталога установлен бит закрепления, только владелец файла, владелец каталога или пользователь с правами администратора могут удалять или переименовывать файлы в каталоге. | ||
То же, что и но флаг не установлен. Этот флаг бесполезен для каталогов. |
Что такое процесс?
Чтобы понять что отображает команда ps сначала надо разобратся что такое процесс. Процесс Linux — это экземпляр программы, запущенный в памяти. Все процессы можно разделить на обычные и фоновые. Более подробно об этом написано в статье управление процессами Linux. Linux — это многопользовательская система, каждый пользователь может запускать одни и те же программы, и даже один пользователь может захотеть запустить несколько экземпляров одной программы, поэтому ядру нужно как-то идентифицировать такие однотипные процессы. Для этого каждому процессу присваивается PID (Proccess Identificator).
Каждый из процессов может находиться в одном из таких состояний:
- Запуск — процесс либо уже работает, либо готов к работе и ждет, когда ему будет дано процессорное время;
- Ожидание — процессы в этом состоянии ожидают какого-либо события или освобождения системного ресурса. Ядро делит такие процессы на два типа — те, которые ожидают освобождения аппаратных средств и приостановление с помощью сигнала;
- Остановлено — обычно, в этом состоянии находятся процессы, которые были остановлены с помощью сигнала;
- Зомби — это мертвые процессы, они были остановлены и больше не выполняются, но для них есть запись в таблице процессов, возможно, из-за того, что у процесса остались дочерние процессы.
А теперь давайте перейдем ближе к практике.
Монтирование разделов
Корневой раздел среды Linux, в которую вы хотите войти с chroot, должен быть первым делом смонтирован. Чтобы найти имя раздела, выполните:
# lsblk
Затем создайте каталог для монтирования корневого раздела и смонтируйте его:
# mkdir /mnt/arch # mount /dev/sdx1 /mnt/arch
Если отдельные системные каталоги были вынесены на отдельные разделы, их также нужно смонтировать в файловую систему корневого раздела:
# mount /dev/sdx2 /mnt/arch/boot/ # mount /dev/sdx3 /mnt/arch/home/
Примечание: Если вы пытаетесь смонтировать зашифрованную файловую систему, не забудьте первым делом открыть ее контейнер (например, командой для шифрования на основе ), затем смонтируйте устройство используя указанное имя (например, ). Подробнее смотрите на странице: .
Редактирование прав
Все, что нужно для разрешения проблем, связанных с правами в Linux.
sudo — выдает права суперпользователя. Используется перед любой командой, если нужно выполнить ее от имени администратора. Многие программы и операции запускаются исключительно при наличии этих прав, так что sudo используется часто. Например, чтобы обновить список пакетов в Fedora, введем: sudo dnf update. При этом система запросит пароль администратора.
sudo su — на время превращает все вводимые в терминал команды в команды суперпользователя. Пригодится, если предстоит вносить много изменений в системные файлы, которые нельзя редактировать без соответствующих прав.
sudo !! — запускает предыдущую команду от имени администратора. Пригодится, если уже ввели команду, требующую прав суперпользователя, но забыли их затребовать. Не придется вводить весь текст заново. Достаточно сокращенной версии.
chmod — корректирует права доступа к выбранному файлу. Применяется исключительно с набором опций, обозначающих список прав. Допустим, я хочу выдать права на чтение и запись файла Timeweb.html на рабочем столе. Для этого введу в терминал: chmod 777 ~/Desktop/timeweb.html. Теперь его можно открывать и редактировать. Аналогичным образом пользователи поступают с системными файлами, когда приходит время что-то в них менять. По умолчанию большая их часть защищена от записи.
chown — назначает владельца для выбранной директории, документа, картинки или любого другого элемента в файловой системе. Синтаксис следующий: chown имя учетной записи, которому надо передать права путь до файла, права на который нужно передать. На примере этого может выглядеть следующим образом: есть пользователь Timeweb, которому я хочу передать права на файл timeweb-file.txt с рабочего стола. Сделаю это командой:
chown Timeweb ~/Desktop/timeweb-file.txt
mkfs создает файловые системы
Команда создает файловые системы . В других операционных системах создание файловой системы называется форматированием . Независимо от его имени, это процесс, который подготавливает раздел для хранения данных. В разделе нужен способ хранения файлов, да. Но ему также необходим механизм для хранения имен и местоположений этих файлов вместе с их метаданными, такими как метка времени создания файла, метка времени изменения файла, размер файла и т. Д. Как только необходимую среду для обработки и хранения метаданных, вы можете начать добавлять файлы в раздел.
Синтаксис очень прост. Вы просто раздел устройства, на котором вы хотите создать файловую систему, и какой тип файловой системы вы хотите. Это на первый взгляд. За кулисами все немного по-другому. В течение некоторого времени в большинстве дистрибутивов Linux была оболочкой для . Команда вызывает команду и передает ей указанные вами параметры. Бедный старый делает всю работу, но не получает славы.
Синтаксис был обновлен, а старый формат устарел. Обе формы будут работать, но мы будем использовать современный стиль в этой статье.
Команды для управления пользователями
Linux — многопользовательская система. Ей одновременно могут управлять несколько людей. Поэтому здесь достаточно сложная система добавления и редактирования учетных записей.
- useradd — создает новую учетную запись. Например, мы хотим добавить пользователя с именем Timeweb. Для этого вводим: useradd Timeweb. Но свежесозданному аккаунту нужен не только логин, но и пароль. С помощью опций можно задать дополнительные характеристики новому пользователю.
- passwd — задает пароль для учетной записи, работает вкупе с предыдущей командой. То есть сразу после создания аккаунта, пишем: passwd Timeweb (в вашем случае может быть любой другой пользователь). После этого система попросит придумать и указать пароль для новой учетной записи. По ходу набора пароля в терминале не будут отображаться даже звездочки, но он все равно учитывает каждую нажатую клавишу. Продолжайте набирать пароль вслепую.
- userdel — удаляет выбранную учетную запись. Синтаксис простейший:
userdel имя учетной записи, которую нужно стереть
Средняя нагрузка
Секция средней нагрузки представляет собой среднюю «нагрузку» за одну, пять и пятнадцать минут. «Нагрузка» — это мера вычислительной работы, которую выполняет система. В Linux загрузка — это количество процессов в состояниях R и D в любой момент времени. Значение «средняя загрузка» дает вам относительную меру того, как долго вы должны ждать, чтобы что-то было сделано.
Давайте рассмотрим несколько примеров, чтобы понять эту концепцию. В одноядерной системе средняя нагрузка 0,4 означает, что система выполняет только 40% работы, которую она может выполнить. Среднее значение нагрузки, равное 1, означает, что система точно загружена — система будет перегружена, если добавить еще немного дополнительной работы. Система со средней нагрузкой 2,12 означает, что она перегружена на 112% больше работы, чем может выдержать.
В многоядерной системе сначала нужно разделить среднюю нагрузку на количество ядер ЦП, чтобы получить аналогичный показатель.
Кроме того, «средняя нагрузка» на самом деле не является типичной «средней», которую большинство из нас знает. Это « экспоненциальное скользящее среднее », что означает, что небольшая часть предыдущих средних нагрузок учитывается в текущем значении.
Основные параметры
Алиас Defaults позволяет задать стандартные параметры для работы утилиты, их мы и рассмотрим в этом разделе. Начинается такой алиас со слова Defaults, дальше идет имя флага. Если перед именем есть символ !, это значит, что флаг нужно включить, в обратном случае выключить:
Отключаем введение при первом использовании:
Суперпользователь не может выполнять sudo:
Теперь если вы попытаетесь выполнить sudo sudo ничего не сработает:
Изменять домашнюю директорию для целевого пользователя, по умолчанию остается папка текущего пользователя в качестве домашней директории:
Сохранять список групп текущего пользователя:
Запрашивать пароль суперпользователя вместо пароля пользователя:
Дальше рассмотрим переменные, которым можно задать значения чтобы установить нужные настройки:
Задать количество попыток ввода пароля перед тем, как sudo прекратит работу, по умолчанию — 3:
Количество минут, которое пройдет перед тем, как sudo будет спрашивать пароль снова, по умолчанию 5. Если установить значение в 0, то пароль будет спрашиваться всегда, независимо от того как давно вы использовали утилиту:
Следующий параметр задает количество минут, пока sudo будет ожидать повторного ввода пароля при неправильном вводе:
Вы можете изменить сообщение, которое будет выводится при запросе пароля:
Можно указать другого пользователя, не root, от которого будут выполняться все команды, для этого используйте:
Вы можете записывать в лог все попытки подключения к sudo:
Затем пробуем проверить работу лога:
Это были все самые интересные параметры настройки работы sudo, которые могут вам понадобиться, дальше мы рассмотрим как задать права доступа sudo для пользователей.
Настройка пользователей sudo
Мы уже рассматривали выше синтаксис настройки действий для пользователей, здесь все сложнее чем с псевдонимами, но разобраться можно. Например, разрешим любому пользователю использовать sudo, от любого хоста и выполнять любые команды:
Такая команда очень небезопасна, она разрешает всем и все. Первое ALL — разрешить всем пользователям, второе ALL — для всех хостов, третье ALL — разрешить вход под любым пользователем и четвертое — разрешить выполнять любою команду. Но куда более часто используется другая конструкция:
Означает то же самое, что и предыдущее, только здесь мы разрешаем использовать sudo не всем пользователям, а только тем, которые состоят в группе wheel.
Тут мы уже ограничили возможный выбор пользователей только пользователем root. Также можно указать группу пользователя, от имени которого он может выполнять команды:
Это значит что можно выполнить команду от имени root или другого пользователя из группы admins. Еще мы можем указать команды, которые может выполнять пользователь. Например:
Пользователь может выполнять только команды mount и umount от имени суперпользователя. Теперь сделаем еще интереснее, пользователь может выполнять mount и umount без пароля, а все остальные команды с паролем:
Также можно ограничивать пользователям по хостах, например, разрешаем использование sudo только из host1:
Осталось еще рассмотреть как применять псевдонимы. Псевдонимы могут быть таких типов:
- User_Alias — псевдоним пользователей, которые будут использовать sudo;
- Runas_Alias — псевдоним пользователей, от имени которых будут выполняться команды;
- Host_Alias — псевдоним хоста;
- Cmnd_Alias — псевдоним команд;
Например, создадим четыре псевдонима и применим их в нашем правиле:
Далее применяем все это в правиле:
Это значит, что пользователи из списка Users смогут выполнять команды Cmds от имени пользователей Amdins на хостах Hosts.
Еще осталось сказать несколько слов о флагах. Флаг NOPASSWD говорит, что не нужно запрашивать пароль при выполнении этого правила. Например, разрешить всем пользователям выполнять команду mount с sudo без пароля:
Также можно запретить выполнять именно эту команду вообще с помощью флага NOEXEC:
Вы можете проверить правильно ли была проведена настройка файла /etc/sudoers и посмотреть все созданные правила с помощью команды:
Здесь отображены все установленные флаги и настройки, а также полномочия данного пользователя.
Переключение на суперпользователя в терминале
Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:
$ su опции пользователь
Вот ее основные опции:
- -c, –command – выполнить команду
- -g, –group – установить основную группу пользователя (только для root)
- -G –supp-group – дополнительные группы пользователя (только для root)
- -, -l, –login – режим входа, будут очищены и инициализированы с учетом нового пользователя все переменные окружения, а также изменен домашний каталог
- -p, –preserve-environment – сохранить переменные окружения
- -s, –shell – задать оболочку для входа
- –version – отобразить версию программы.
Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.
Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:
Теперь смотрим что получилось:
whoami $ pwd $ echo $VAR $ echo $PATH $ exit
Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.
Теперь используем вход в режиме логина:
И повторим ту же комбинацию:
whoami $ pwd $ echo $VAR $ echo $PATH $ exit
Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.
Команды для отображения базовой информации и управления системой
Утилиты, делящиеся разного рода справочной информацией с администратором компьютера.
- df — показывает, сколько пространства занято на подключенных дисках и разделах. По умолчанию отображает данные в килобайтах. Можно переключиться на мегабайт, добавив параметр -m. Это выглядит так: df -m.
- du — расскажет, сколько места занимает конкретный файл или папка. Чтобы узнать, насколько тяжелая директория Desktop, введем: du ~/Desktop. du отображает информацию в блоках. Но это неудобно, поэтому обычно к ней добавляют опцию -h, чтобы появились привычные мегабайты, килобайты и байты.
- free — тоже связана с памятью, только с оперативной. Показывает, сколько занято, а сколько свободно. Чтобы включить отображение в мегабайтах, надо так же добавить аргумент -h.
- uname — вывод информации о системе и сервере. Аргумент -a показывает имя компьютера, версию ядра, текущую дату и время, разрядность системы и ее тип. Можно запрашивать отдельные фрагменты данных через дополнительные опции: -s — только имя ядра; -n — имя компьютера (ноды) в сети; -o — название операционной системы; -p — тип процессора; -s — версия ядра.
- whoami — покажет, кто вы есть. Имя учетной записи, через которую вы зашли в систему или подключились к серверу.
- date — из названия ясно, что команда отображает текущее время и дату.
- sleep — задерживает запуск скриптов на выбранный период времени. Единица времени указывается через опции: -s — секунды; -m — минуты; -h — часы; d — дни.
На этом все. Это список команд, которыми я хотел бы поделиться с новичками
Я разобрал основное, что будет важно в самом начале работы. Ну а вы всегда можете воспользоваться документацией, открывающейся через man, и подробнее ознакомиться с любой из команд или утилит
Пример ответа №2:
«Я уже сотрудничаю с большей частью компании виртуально, поскольку наши проектные группы разбросаны по пяти местам. Я хочу работать из дома, чтобы я мог использовать свое текущее время в пути, чтобы планировать свой день и выполнять работу, чтобы я мог производить больше для Я думаю, что был бы более продуктивным, если бы смог проснуться в домашнем офисе и начать работать, вместо того, чтобы тратить 70 минут на дорогу в каждую сторону. Наличие домашнего офиса также сэкономило бы деньги компании на электроэнергии и потребовало бы на один меньше место для стола. А поскольку я уже общаюсь виртуально в течение дня — обычно проводя несколько конференц-звонков и звонков по Skype, моя повседневная работа дома не будет выглядеть иначе ».
Безопасный способ экспериментировать с файловыми системами
Создание файловой системы в разделе разрушительно для любых данных, которые могут уже находиться в этом разделе. Использование запасного жесткого диска или даже запасного компьютера — идеальный способ экспериментировать с созданием и использованием различных файловых систем. Но, конечно, у многих людей нет запасного оборудования, ожидающего экспериментов.
Тем не менее, мы можем создать файл изображения и создать файловые системы в этом. Как только мы смонтируем его, мы сможем использовать его, как если бы он был обычным разделом. Мы можем исследовать и экспериментировать с файловыми системами без необходимости в запасном оборудовании. Мы будем использовать команду для создания нашего файла изображения .
Файл изображения создается путем взятия исходных данных и помещения их в изображение. Нам нужно указать где взять исходные данные. Мы будем использовать опцию (input file), чтобы указать использовать / dev / zero в качестве источника входных данных. Это будет поток нулей.
Параметр (выходной файл) позволяет нам указать имя для файла изображения. Мы назовем это «.img».
Размер файла изображения определяется размером и количеством блоков, которые мы добавляем к нему. Мы используем опцию (размер блока) для запроса размера блока 1 МБ и опцию для запроса 250 блоков. Это даст нам файловую систему 250 МБ. Когда вы вводите эту команду, настройте количество блоков в соответствии с вашими потребностями и свободную емкость на вашем компьютере с Linux.
дд если = / dev / zero = = / .img bs = 1M count = 250
Файл создан для нас, и сообщает, что для нас было создано 250 блоков по запросу.
Мы можем посмотреть на наш файл изображения с помощью :
ls -hl
Команда chgrp Linux
Стандарт прав файлов пришёл в Linux из Unix. У каждого файла есть владелец (user) и группа (group), помимо этого описываются права остальных пользователей (other). Права состоят из трёх пунктов: чтение (read), запись (write), выполнение (execute). Для изменения прав используется команда umask, но для изменения непосредственно владельца и группы используются команды chown и chgrp. Для просмотра текущих прав можно использовать команду ls.
Синтаксис и опции chgrp
Общий вид команды chgrp:
$ chgrp новая_группа имя_файла
Список распространённых параметров команды chgrp:
- -h – работать непосредственно с самими символьными ссылками, а не с файлами, на которые они ссылаются;
- —dereference – работать с файлами, а не самими символьными ссылками. Используется по умолчанию;
- -R – рекурсивная обработка каталога со всем его содержимым;
- -H – перейти по символической ссылке и изменить атрибуты файла/каталога. Сама ссылка остаётся без изменений. Используется вместе с параметром -R;
- -L — перейти по символической ссылке и продолжить рекурсивную обработку. Сама ссылка остаётся без изменений. Используется вместе с параметром -R;
- -P – при встрече с символьной ссылкой обрабатывать только её. Используется вместе с параметром -R, является значением по умолчанию;
- —reference=имя_образца – использовать группу образца. Используется вместо новая_группа;
- -c – при обработке выводить только изменения;
- -v – выводить информацию о каждом обработанном файле.
Использование команды chgrp
Рассмотрим сразу несколько случаев использования, с реальным файлом и каталогом, а затем с символическими ссылками на них. Простейший пример использования команды chgrp без параметров. Следующая команда меняет группу на www-data для файла file в текущей папке:
А эта меняет группу на www-data для папки folder:
С реальными файлами и каталогами команда работает весьма предсказуемо, меняя их группу. Файлы в папке остаются неизменными. Если же обрабатывать символические ссылки, то их атрибуты останутся неизменными, а файлы получат новую группу. Такое поведение аналогично работе с параметром —dereference. Например, эти команды, применённые к символическим ссылкам, отработают как показано на снимке:
Теперь посмотрим на то, как будет работать параметр -h, меняющий атрибуты символической ссылки:
С параметром -h изменились только атрибуты ссылок, а не сами файлы. Теперь рассмотрим работу c параметром -R, предназначенным для рекурсивной обработки каталогов:
Новая группа была задана не только каталогу, но и всем файлам внутри
Обратите внимание на то, что поведение изменилось, теперь при обработке символической ссылки атрибуты выставляются для самой ссылки, а не файла
Чтобы увидеть разницу между параметрами -H и -L, рассмотрим ещё пару примеров. Напомним, что их надо использовать совместно с параметром -R:
С использованием параметра -H поведение при обработке символических ссылок изменилось, теперь они обрабатываются так, как будто команды выполняются по отдельности. Атрибуты ссылок не меняются, меняются атрибуты самих файлов, при переходе на каталог рекурсивная обработка прекращается.
С использованием параметра -L при переходе к папке по символической ссылке рекурсивная обработка не прекращается
Обращаем ваше внимание на то, что параметры -H и -L использовать небезопасно, они могут дойти до системных файлов
Вход под суперпользователем
Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.
Вы получите полноценное окружение root с возможностью выполнять все действия, но такой способ очень непрактичный, так как вы теряете все преимущества использования графического интерфейса.
Можно поступить полностью противоположным путем, ввести логин root и его пароль в графическом менеджере входа, чтобы окружение рабочего стола работало от имени root, и мы получаем все права root linux, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.
Заключение
В настоящей статье рассмотрены правовые и практические аспекты понятия «сопровождение программного обеспечения (программ для ЭВМ и баз данных)».
Данное понятие не регулируется в федеральном законодательстве.
На практике и в подзаконных актах к сопровождению ПО и БД относится обширный комплекс различных операций, которые можно сгруппировать в несколько направлений
Очень важно, что данный комплекс не является универсальным, неизменным и обязательным, а регулируется договорами между заказчиками и исполнителями. В ряде случаев в составе сопровождения проводится модификация ПО и БД, которая требует урегулирования вопроса прав на модифицированный продукт
Наконец, учитывая стремительный темп развития информационных технологий, само понятие сопровождения ПО следует охарактеризовать как достаточно динамичное и отражающее самые различные тренды и перспективы.
Как увидеть сообщения, которые выводят процессы
Если при запуске утилиты в командной строке что-то не в порядке (например, отсутствует необходимая зависимость), то программа перед завершением работы выводит сообщение об ошибке. На самом деле, в консоль могут выводиться не только ошибки, но и обычные сообщения о работе программы. К тому же, не только программы с интерфейсом командной строки выводят сообщения, но и программы с графическим интерфейсом, а также демоны (процессы, отсоединённые от терминала), также выводят сообщения, которые хранятся в системных журналах.
Чтобы увидеть ошибки и сообщения, которые выводят процессы запустите команду вида:
sudo journalctl _COMM=ПРОГРАММА
Например, чтобы увидеть сообщения от процесса sshd:
sudo journalctl _COMM=sshd
Если добавить опцию -f, то новые сообщения будут выводиться по мере их появления:
sudo journalctl -f _COMM=NetworkManager
Это работает и для приложений с графическим интерфейсом:
sudo journalctl -f _COMM=chromium
Чтобы увидеть все сообщения от любых служб, выполните такую команду (может пригодиться при выяснении причин, почему не работает веб-сервер, MySQL или SSH сервер или почему не запускается OpenVPN и т.д.):
sudo journalctl -xe
Чтобы показать записи в системном журнале одного процесса с указанным PID:
sudo journalctl _PID=409200