Системный администратор Linux. Вопросы. Часть 2

В комментариях к предыдущему посту (Системный администратор Linux. Вопросы) собрались в основном писатели, а не читатели. Чаще всего звучал вопрос: «а это на какой уровень?». Ответ простой - ни на какой. Это всего часть вопросов от простого к сложному. И в данном посте тоже будет только часть.


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

Системный администратор Linux. Вопросы. Часть 2 Linux, Windows, Сисадмин, Отдел кадров, Пригорело, Собеседование, Длиннопост

Ну а тем, кому интересны вопросы, продолжаем.


В: Как сменить забытый пароль root?

О: Загрузиться с LiveCD, смонтировать файловую систему, сделать chroot, сменить командой passwd. Если файловая система поверх LVM - может понадобиться активировать LV.

В+: А если нет возможности использовать LiveCD?

О+: Можно попробовать загрузиться в Single Mode. В RHEL-based дистрибутивах надо в grub нажать E, найти init и исправить на init=/bin/bash, а так же опцию ro исправить на rw. После этого нажимаем X, система загрузится и сразу запустится shell от root. Далее меняем пароль командой passwd.


В: Вы подключаетесь к серверу по ssh и первое, что надо понять, это физический сервер или виртуальный. Для виртуального надо определить тип гипервизора.

О: Виртуалку можно определить по косвенным признакам. Например, не соответствие количества ядер и названия процессора. Не типовые объёмы диска или памяти. Опять же, вывод dmidecode будет меньше, чем на физическом сервере. В выводе будет фигурировать название гипервизора. Командами lspci, lsusb и dmesg так же можно посмотреть вендора оборудования там тоже будет упоминание гипервизора или вендора гипервизора.

В+: А более гарантировано и проще?

О+: Команда lscpu показывает, что процессор виртуализирован и название вендора гипервизора. На RHEL-based дистрибутивах есть команда virt-what, которая возвращает так же вендор гипервизора.


В: Вы подключились к серверу по ssh, видите, что это нечто линуксоподобное, но надо понять какая именно система перед нами.

О: Можно командой uname -a определить тип архитектуры и версию ядра. Если архитектура sparc - скорее всего перед нами Solaris. Если в названии ядра есть darwin - это macOS. Если в номере версии ядра есть el6, 7 или 8 - это что-то на базе RHEL. Буквы EL - Enterprise Linux. Цифра - мажорная версия. Можно по пакетному менеджеру. Yum, apt, yast, pkg и т.д.

В+: А явно?

О+: В папке /etc должен быть файл с названием, в котором есть слово release. Это centos_release, lsb_release и т.п. Можно сделать cat /etc/*release* и это покажет как название дистрибутива, так и его полную версию. Это работает на Solaris и большинстве Linux дистрибутивов. На mac для этого есть команда sw_vers.


В: При попытке запустить например apache он ругается, что 80 порт занят. Как посмотреть кем?

О: Командой netstat с ключами -p (port) и -l (listen).

В+: А если такой команды нет?

О+: В частном случае можно поискать в /etc конфиги других web серверов. Или можно воспользоваться командой ss с теми же ключами -lp.

В++: Есть ли какие либо ограничения при использовании этих команд?

О++: Да, PID будет показан только если команда исполняется от superuser, например от root. Либо надо дать право на работу с сокетами непривилегированным пользователям.


В: Выстрел самому себе ногу. Сделали chmod -x /bin/chmod. Как вернуть без перезагрузки?

О: Скопировать с другого сервера или с подключённого внешнего носителя.

В+: А без внешних операций?

О+: В linux при копировании происходит копирование его атрибутов. Можно скопировать любой файл в /bin и командой cat влить в него содержимое /bin/chmod. После чего получившимся файлом вернуть права на исходный.


В: Какие есть варианты авторизации по ssh?

О: По логину и паролю, по логину и ключу.

В+: А ещё?

О+: Через pam можно добавить любой другой метод. Например двухфакторную авторизацию сделать или доменную авторизацию без ввода в домен.


В: Как посмотреть все WWN сервера?

О: systool -c fc_host -v | grep ‘port_name’ или cat /sys/class/fc_host/host*/port_name

В+: А что такое WWN?

О+: Грубо говоря, это аналог mac-адреса, но в san сетях.


В: Мне надо запустить один и тот же скрипт 10 раз параллельно. Например некий нагрузочный тест. Как сделать это и как по завершению теста завершить все скрипты одной командой?

О: Надо иметь некий родительский скрипт, который через «&» запустит дочерние. При этом надо не давать завершиться родительскому скрипту. В таком случае сделав kill -9 pid_родительского_скрипта завершатся и дочерние скрипты.

В+: А если родительский скрипт завершится? Кто станет родителем дочерних?

О+: Процессы не могут существовать без родительского. В таком случае их родителем станет init или процесс с PID 0.

В++: Как посмотреть какие процессы были запущены через «&»?

О++: Командой jobs или аналогами.


В: Как посмотреть дерево процессов?

О: Командой pstree или ptree, в зависимости от дистрибутива.

В+: А более развёрнуто?

О+: Например через ps auxwwf


Продолжение следует. Небольших вопросов осталось примерно на один пост. Последний вопрос самый объёмный и он потянет на целый пост.

GNU/Linux

1K постов15.5K подписчиков

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Вы смотрите срез комментариев. Показать все
19
Автор поста оценил этот комментарий

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

ещё комментарии
ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку