Содержание
Пользователь root и sudo
Пользователь root в системах GNU/Linux — это пользователь, имеющий административный доступ к вашей системе. Обычные пользователи не имеют этого доступа по соображениям безвасности. Тем не менее в Kubuntu нет пользователя root. Вместо этого, административный доступ предоставляется отдельным пользователям, которые могут использовать приложение «sudo» для выполнения административных задач. Первая учетная запись, созданная при установке системы по умолчанию будет иметь доступ к приложению sudo. Вы можете запретить доступ к sudo или предоставить его с помощью приложения Пользователи и Группы (см. «Пользователи и Группы»).
Если Вы запустите программу, требующую прав суперпользователя, sudo потребует ввести ваш обычный пользовательский пароль. Это гарантирует, что вредоносные приложения не смогут повредить вашу систему, а также напомнит Вам, что Вы собираетесь выполнить административные действия, которые требуют особой осторожности!
Чтобы использовать sudo в командной строке, просто наберите «sudo» перед командой, которую Вы хотите запустить. После этого sudo попросит ввести ваш пароль.
Sudo будет помнить ваш пароль установленное время (по умолчанию 15 минут). Эта возможность позволяет пользователям выполнять большое количество административных задач без необходимости каждый раз вводить пароль.
Внимание
Будьте осторожны при выполнении административных задач — вы можете испортить вашу систему!
Некоторые советы по использованию sudo:
-
Чтобы использовать терминал пользователя root, наберите «sudo -i» в командной строке
-
Вся группа графических утилит конфигурации в Kubuntu уже использует sudo, так что при необходимости у вас попросят пароль с помощью приложения kdesu, которое является графической оболочкой sudo.
-
За дальнейшей информацией по программе sudo и отсутствию пользователя root в Kubuntu обращайтесь к странице sudo на сайте Ubuntu wiki.
Запуск программ вручную с привилегиями root
Иногда необходимо выполнить программу с привилегиями root. Это легко сделать с помощью диалога Выполнить команду.
Пожалуйста, будьте осторожны, выполняя приложения с привилегиями root, так как это может испортить вашу систему. За дополнительной информацией см. «Пользователь root и sudo».
-
Откройте диалог Выполнить команду, нажав Alt-F2
-
Введите название программы, которую вы хотите выполнить, с префиксом kdesu и нажмите Enter. Например, чтобы запустить файловый менеджер Konqueror с привилегиями root, наберите
kdesu konqueror
4.7. Смена каталога с помощью команды cd
Сменить рабочий каталог на другой очень легко, если известно, где вы находитесь (известен ваш текущий каталог) и где находится каталог, в который необходимо перейти.
Для смены каталога используется команда cd. Если вы введете эту команду без аргументов, вы попадете в свой домашний каталог; чтобы попасть в любой другой каталог, необходимо указать путь (pathname) к нему.
Вы можете использовать или абсолютный, или относительный путь. Абсолютный путь начинается от верха файловой системы, с корневого каталога /, также называемого просто корень (root), и продолжается до запрашиваемого каталога; относительный путь начинается от вашего текущего каталога, где бы он ни находился. Приведенное ниже дерево каталогов показывает, как работает команда cd.
/ /dir1 /dir1/dir2 /dir1/dir2/dir3
Если в данный момент вы находитесь в каталоге dir3 и хотите перейти в dir1, вам необходимо переместиться по дереву каталогов выше.
Если находясь в каталоге dir3 ввести команду
cd dir1
появится сообщение об отсутствии такого каталога. Это происходит потому, что каталога dir1 действительно нет в каталоге dir3.
Чтобы подняться к каталогу dir1, наберите:
cd /dir1
Это пример абсолютного пути. Он дает Linux команду начать с верха дерева каталогов (/) и спуститься до каталога dir1. Путь является абсолютным, если он начинается с /. В противном случае это относительный путь.
Использование абсолютного пути позволяет вам перейти в нужный каталог от корневого каталога /, но для этого надо знать и ввести полный путь до него. Использование относительных путей позволяет изменять каталог относительно текущего каталога, что бывает удобно, если вы переходите в каталог, который является подкаталогом текущего.
Команда cd .. сообщает системе о необходимости подняться на один уровень вверх относительно текущего каталога. Команда cd ../.. позволит подняться на два уровня.
Следующее упражнение поможет вам понять разницу между абсолютным и относительным путями. Находясь в своем домашнем каталоге, введите такой относительный путь:
cd ../../etc/X11
После выполнения этой команды вы должны оказаться в каталоге X11, который содержит конфигурационные файлы и каталоги системы X Window.
Командой cd вы дали системе указание:
-
Подняться из каталога, в который вы попадаете при входе в систему (скорее всего, это каталог /home), на один уровень вверх в родительский каталог.
-
Затем подняться в его родительский каталог (корневой каталог root, или /).
-
Затем спуститься в каталог /etc/.
-
Наконец, перейти в каталог X11/.
В данном случае использование абсолютного пути позволило бы вам попасть в каталог /etc/X11/ быстрее:
cd /etc/X11
Абсолютный путь начинается от корневого каталога (/) и опускается до каталога, указанного вами.
Всегда следует знать, в каком каталоге вы находитесь, прежде чем задавать относительный путь до требуемого каталога или файла. Заметьте, что если вы указываете абсолютный путь к нужному файлу или каталогу, то знать текущий каталог совершенно необязательно. Если вы точно не знаете, где находитесь, введите команду pwd, и полный путь до текущего каталога будет выведен на экран, что поможет вам ориентироваться при задании относительного пути для перехода в другие каталоги.
Команда cd имеет множество опций, описание которых вы найдете в man-странице (наберите в командной строке man cd). В Табл. 4.2, «Примеры использования команды cd» приведены примеры использования команды cd.
Команда | Функция |
---|---|
cd | Возвращает вас в ваш домашний каталог |
cd ~ | Также возвращает вас в ваш домашний каталог |
cd / | Переносит в корневой каталог |
cd /root | Переносит в домашний каталог пользователя root, или суперпользователя, чья учетная запись создается при установке системы; для доступа к этому каталогу вы должны быть суперпользователем |
cd /home | Переносит в каталог home, где обычно находятся каталоги всех пользователей, существующих в системе |
cd .. | Перемещает на один уровень вверх |
cd ~другой_пользователь | Перемещает в домашний каталог другого пользователя при условии, что этот пользователь дал вам соответствующие права |
cd /dir1/subdir | Независимо от того, в каком каталоге вы находитесь, этот абсолютный переход переместит вас в каталог subdir, который является подкаталогом каталога dir1 |
cd ../../dir3/dir2 | Этот относительный путь сначала переместит вас на два уровня вверх, затем в каталог dir3, а затем в каталог dir2 |
Таблица 4.2. Примеры использования команды cd
Теперь, когда вы знаете, как перейти из одного каталога в другой, давайте посмотрим, что произойдет, если попытаться перейти в домашний каталог пользователя root (суперпользователя). Введите:
cd /root
Если вы не вошли в систему как суперпользователь, вам не удастся перейти в этот каталог.
Запрет доступа к файлам суперпользователя и других пользователей — один из способов предотвращения случайного или злонамеренного вмешательства в систему. За более подробной информацией обратитесь к Разд. 4.16, «Владельцы и права доступа».
Чтобы попасть в каталог суперпользователя, используйте команду
su —
Команда su означает подстановку пользователя и позволяет вам временно стать в системе другим пользователем. Если вы вводите просто su и затем нажимаете клавишу , вы становитесь root’ом (еще вас можно будет назвать суперпользователем), оставаясь при этом в вашем домашнем окружении (в вашем пользовательском домашнем каталоге). А если вы вводите su -, становитесь суперпользователем и попадаете в окружение суперпользователя, как если бы вы вошли в систему, используя имя и пароль root’а.
Как только вы введете пароль суперпользователя, командная строка изменится и будет выглядеть примерно так:
Приветствую, коллеги. Долгое время проект NetSkills был посвящен исключительно сетевым технологиям — Курс молодого бойца, Основы GNS, UNetLab. Однако от подписчиков все чаще звучал вопрос: «А что еще должен знать сетевой инженер или системный администратор?”. Тут можно привести большой список технологий/направлений и в итоге сделать вывод, что знать только сети — недостаточно! Совершенно очевидно, что для успешной карьеры нужно намного больше. Поэтому было принято решение расширить проект и для начала выпустить курс «Linux для начинающих”.
Немаловажная деталь, преподаватель — девушка, которая совсем недавно примкнула к проекту NetSkills. Чему же может научить девушка? Если вы заинтересовались, добро пожаловать под кат…
Цель курса – изучить основы администрирования операционных систем Linux. Материал по большей части практический и содержит минимальное количество теории. Курс подойдет как для начинающих системных администраторов, которые занимаются настройкой серверов компании, так и для сетевых инженеров, т.к. бОльшая часть сетевого оборудования работает под управлением Linux (особенно если учитывать тенденцию импортозамещения), поэтому навыки работы с этой системой им однозначно не помешают. Да и вообще, каждый уважающий себя ИТ-шник просто обязан обладать базовыми навыками работы с Linux системами. Ценность такого сотрудника сразу вырастает.
Для тех, кому лень читать выкладываю первый видео урок:
Весь курс будет разделен на две части: базовый и расширенный курс. В базовом курсе мы рассмотрим основные понятия, научимся производить первоначальную настройку сервера, а также настроим шлюз доступа в Интернет. В расширенном курсе мы рассмотрим, как развернуть серверную инфраструктуру компании на основе Linux.
В план базового курса вошли следующие темы:
1.Цели изучения операционной системы Linux, ее основные преимущества.
2.Создание виртуальных машин.
3.Установка операционной системы CentOS.
4.Структура файловой системы Linux.
5.Основные команды, необходимые для работы в консоли Linux (cd, ls, man, grep, find, cp, mv, rm и т.д.).
6.Настройка сети в CentOS. Утилиты Putty, WinSCP.
7.Основы безопасности. Заведение новых пользователей в системе.
8.Установка пакетов. Пакетный менеджер. Репозитории.
9.Файловый менеджер mc, текстовый редактор nano и сетевые утилиты (ifconfig, nslookup, arp, telnet).
10.Настройка шлюза доступа в Интернет. Iptables. NAT. DHCP.
Итак, зачем изучать линукс и каковы его преимущества? Полагаю, стоит начать с определения.
GNU/Linux – это семейство unix-подобных операционных систем, основанных на ядре Linux. ОС из этого семейства распространяются обычно бесплатно в виде так называемых дистрибутивов, содержащих помимо самой ОС еще и набор прикладного ПО (т.е. по сути сборка). Дистрибутивов Linux на сегодняшний день существует огромное количество, но почти все они являются потомками трех основных дистрибутивов: Debian, Slackware и Red Hat. Подробнее о GNU/Linux и дистрибутивах можно прочитать и .
Возможно, у кого-то возник вопрос: почему GNU/Linux, а не просто Linux. Все дело в том, что Linux – это всего лишь ядро, в то время как GNU/Linux – это операционная система. Однако, Linux’ом можно называть как ядро так и ОС – и так и так будет правильно.
Условно говоря, ОС состоит из двух частей: kernel space и user space. Kernel space это ядро, которое непосредственно взаимодействует с устройствами в системе, обслуживает их и производит настройку. В нашем случае – это ядро Linux, разработка которого началась в 1991 году Линусом Торвальдсом, являвшимся на тот момент студентом. Оно поддерживает многозадачность, динамические библиотеки, виртуальную память, отложенную загрузку, большинство сетевых протоколов и производительную систему управления памятью и распространяется по лицензии GNU GPL, т.е. свободно. Подробнее про само ядро и его «увлекательную» систему нумерации версий можно узнать . Пользователи же работают в пространстве user space (пространстве приложений), а это в свою очередь файлы. Вообще говоря, все в Linux’е представлено файлами — настройки, сами приложения, даже процессы. Это очень удобно при настройке и когда пытаешься выяснить почему же все поломалось.
Дистрибутивы Linux распространяются в основном по лицензии GNU General Public License – лицензии на свободное программное обеспечение. Цель GNU GPL — предоставить пользователю права копировать, модифицировать и распространять (в том числе на коммерческой основе) программы, а также гарантировать, что и пользователи всех производных программ получат вышеперечисленные права.
Помимо выше указанных неоспоримых плюсов данной ОС, она обладает еще рядом особенностей:
1.Безопасность
2.Производительность
3.Надежность
4.Масштабируемость
5.Аппаратная совместимость
6.Не требуется импортозамещение
7.Зарплата Linux администраторов выше, чем у обычных администраторов
Благодаря выше перечисленным особенностям, Linux получил широкое распространение и используется во многих сферах: критические сервисы (скоростные поезда в Японии, CERN, системы контроля воздушного трафика), социальные сети, поисковые сервисы, а так же в мобильных телефонах, планшетах, ПК, банкоматах и автомобильной электронике.
Вообще говоря, на основе Linux можно сделать много чего, но мы остановимся на более повседневных вещах. Предположим, в некоторой компании, где работает большое количество пользователей, нужно развернуть серверную инфраструктуру, т.е. пользователям нужно дать доступ в Интернет, запретить в рабочее время сидеть в социальных сетях, организовать корпоративную почту, файловый сервер, и т.д. Что мы можем сделать на основе Linux? На самом деле очень даже многое.
Мы можем:
1.Настроить программный маршрутизатор/ шлюз доступа в Интернет с функциями межсетевого экрана и DHCP сервера
2.Ограничить доступ пользователей к сети Интернет с помощью proxy сервера
3.Организовать почтовый сервер для корпоративной почты
4.Создать веб сервер для корпоративного сайта и внутренних веб ресурсов
6.Настроить первичный и вторичный DNS сервера
7.Развернуть файловый сервер
8.Собирать резервные копии с остальных серверов
9.Развернуть сервер логирования для сбора событий с других серверов
Такую схему мы и будем разворачивать в рамках данного курса.
Полагаю, на этом первый урок можно закончить.
Как узнать uptime в Linux/Unix
Нужно проверить uptime сервера? Нужно узнать когда был последний reboot ( перезагрузка)? Не знаете как? Я расскажу вам как можно проверить uptime вашей ОС (Linux\Unix), приведу в своей статье «Как узнать uptime в Linux/Unix» 3 способа как это можно сделать.
1. Команда top.
Top — программа для слежения за активностью процессора в реальном времени. Он отображает список наиболее ресурсоемких задач в системе и может обеспечить интерактивный интерфейс для управления процессами. Программа может сортировать задачи по загрузке процессора, использование памяти и времени автономной работы. Так же есть улучшенная версия под названием htop, которая дает возможность пролистывать и смотреть каждый процесс. Так же данная программа может показать время последней перезагрузки (uptime), чтобы посмотреть это, выполните:
посмотреть uptime с помощью утилиты top
2. Команда w.
Команда (утилита) w — отображает информацию о пользователях которые в настоящее время есть на машине, и их процессов. Внутри заголовка, показывается текущее время, как долго система работает, сколько пользователей в настоящее время вошли в систему, и среднюю нагрузку системы за последние 1, 5 и 15 минут
посмотреть uptime с помощью утилиты w
3. Команда uptime.
uptime дает одно строчную информацию на экран. Он показывает текущее время, как долго система работает уже, сколько пользователей в настоящее время залогинились в системе и среднюю нагрузку системы за последние 1, 5 и 15 минут.