948

Собеседование.

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

-Как расшифровывается sudo?

-Super User Dostup Open

Дубликаты не найдены

+63

Suka, DO!!

раскрыть ветку 4
+18

SUka, Davay Oozhe!

+2

ахах в голос)) именно это я бормочу когда скрипт не запускается без судо

раскрыть ветку 2
+2

Хуже, когда отредактировал файл, а сохранить без прав не можешь.


:w !sudo tee %

раскрыть ветку 1
+150

Зачем эникею знать, как расшифровывается sudo?

В обязанности эникея входит принтер поправить, ну максимум кабель обжать.

И все, ессно, на теплой ламповой десяточке.

раскрыть ветку 52
+156

Расширю вопрос. Зачем и НЕ эникею (админу, etc.) знать как расшифровывается sudo?

раскрыть ветку 10
+131

чтобы пройти собеседование и став начальником задавать этот вопрос на собеседованиях )

раскрыть ветку 6
+4

Не обязательно знать.


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

+2

очень многие вопросы, которые задают на собеседованиях, админам знать не надо =\

+1

Солидарен. 9 год за линем пошел, но никогда не задавался подобным вопросом...

+9

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

раскрыть ветку 2
-4

Эмм, а тут чего сложного? Этож как таблица умножения. Или вы из тех админов, кто распиновку по стандарту TIA/EIA-568-Bидет гуглить?

раскрыть ветку 1
+2
Я вот не знаю, как расшифровывается, хоть и админ, но знаю, что sudo делает. Да и дома на десктопе у меня суся.
раскрыть ветку 7
+1
В смысле openSUSE или корпоративная SUSE? Просто в последнее время на мой субъективный взгляд openSUSE очень сильно испоганилась.
раскрыть ветку 6
-51

У нас все на никсах сидят. Так исторически сложилось.

Есть список стандартных вопросов, дабы отсеять тех, кто "отсидел" в выше, от тех, кто "отучился".

раскрыть ветку 28
+53

Каким образом неспособность расшифровать "sudo" отражается на способности использовать это sudo и выполнять рабочие обязанности? Блядский цирк из собеседования устроили.

+42

Судя по вашему ответу: "Super User Do" - вы отсидели?

ещё комментарии
+3

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

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

ещё комментарии
+2
То есть без вышки на эникея не берете? Лол
раскрыть ветку 4
+2

17 лет работаю с линуксом, из которых 15 официально(по трудовой админом). Не знаю, из каких слов образована аббревиатура sudo. Мне еще ни разу в жизни это не понадобилось.

0

то есть если б я на собеседовании ответила Super User - хватило бы? %)


просто любопытно :3

раскрыть ветку 2
ещё комментарии
-2

Скорее всего и не нужно, но есть мнение что такими вопросами просто проверяют кругозор/то как человек интересуется своей областью.

+46
Пля, у меня стажа эникейства/админства 14 лет уже, а бы не ответил :D
раскрыть ветку 12
+8

superUser do)
толкьо зачем это знать эникею не понятно.

раскрыть ветку 6
0
раскрыть ветку 5
-2

уважаемый,можно ваш мэил?я  тут несколько вопросов имею по убунте и цент ос,я смею просить вас о помощи советом.

раскрыть ветку 4
+3

Вангую, что тебя всё равно отправят курить маны.

раскрыть ветку 3
+215

IP - istochnik paketov

раскрыть ветку 23
+17

yum - yopt, ustanovi mne :-)

+216

tcp - tuda-cuda-paketi

раскрыть ветку 17
+61

udp - Ushel Daifigsnim paket

раскрыть ветку 1
+116

http - Hrena Ty Tuda Polez?

раскрыть ветку 11
-9
а upd как будет?)
раскрыть ветку 2
ещё комментарии
+24

istochnik porno

+4
Получается, ip - это пакет с пакетами
раскрыть ветку 1
0

Тогда получается, что Винтон Серф имеет русские корни?

+2
+6

Пока на данный пост не наткнулся, так бы и не узнал для себя что расшифровывается, как substitute user and do. Но считаю вопрос преглупейшим, всю свою дорогу с *nix'ами знаю как выполнить что-либо с привилегиями (правами) root. А расшифровкой никогда не интересовался, я думаю корректней спрашивать что это за утилита и для чего она нужна!

раскрыть ветку 2
-1
Да хоть вопрос про ключи можно задать.
раскрыть ветку 1
0

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

+12
А как правильно?
раскрыть ветку 19
+33

sudo (англ. substitute user and do, дословно «подменить пользователя и выполнить»)

раскрыть ветку 5
+17
И зачем это знать вообще нужно?
раскрыть ветку 4
+6

Shut Up and DO (заткнись и делай)

-76
Super User Do
раскрыть ветку 11
+44
Сам не в курсе как расшифровывается аббревиатура и собеседования проводишь?
раскрыть ветку 7
+21

Нет, Substitute User Do


https://www.sudo.ws/intro.html


Sudo (su "do")


https://linux.die.net/man/1/su


su - run a shell with substitute user and group IDs

+23
Супер пользователь делает) лол
+4

ну и лол

ещё комментарии
+5

Очередной идиотский вопрос на собеседовании. Кому нужно знать как расшифровываются буквы в команде? Достаточно просто знать для чего эта команда и всё.

+5

Я админ с 5-летним доступом, и до сегодняшнего дня, даже не задумывался. А за такие вопросы плюнул бы в лицо. Лучше бы спросили, что и как команда делает.

+10

Тak vse pravilno skazal)

+3

Знание расшифровок команд конечно не обязательно, но их знание сильно уменьшает вероятность ошибок. Обычно с sudo ограничиваются пониманием, что команда, введенная после этого, будет выполнена от имени супер-пользователя (root), однако с его помощью можно выполнять команды от любого пользователя системы (при условии, что ты знаешь пароль этого пользователя) указав ключ -u и имя пользователя.

раскрыть ветку 4
0
Твои логические суждения мне по нраву. С удовольствием взял бы тебя на работу.
раскрыть ветку 1
+2
В посте написано, что Вы ищете эникея, но я разработчик, причем в достаточно специфичной области. На самом деле ждать такой логики от эникеев не приходится. У них свой спектр обязанностей и они нужны, чтобы максимально быстро и эффективно решать простые задачи. Им по специфике не нужно знать как что-то работает, а они должны знать, что нужно сделать (или где найти решение), для фикса проблемы.
И я бы, если бы был на Вашем месте, всерьез опасался брать эникея с таким подходом на работу, так как он с вероятностью 90% быстро перерастет эту должность, и Вам придется искать нового человека.
0

нет, там требуется свой пароль, а не того пользователя, чьими правами подменяешь действие. Как подтверждение своей личности и прав на sudo.

То есть, если мне понадобится проверить скрипт бэкапа от соответствующего пользователя я сделаю sudo -u backuper test.sh и введу СВОЙ пароль.

sudo -u backuper -sH даст мне его шелл и все переменные окружения (хомяк там и тд)

раскрыть ветку 1
0

Спасибо за дополнение! Вы правы, я не корректно выразился выше.

+3

Более никчёмные вопросы на собеседованиях задают только HR

+3

Возможно, он понял, что намного умнее предлагаемой должности и ответил саркастично, на детский (для него вопрос) и отправился на другое собеседование

+2
Мож вам википедию надо на работу нанять
+2

Видно вопросики составляли ТПшки-эйчары.

+2

мне одному кажется что важнее знать что команда ДЕЛАЕТ а не свистоперделки в духе "кто придумал эту команду?", "в каком году ее придумали?", и прочее

+2

хотят получить админа на з/п эникейщика сцуки!

+3

эникейщик - это кто ?

раскрыть ветку 19
+23

когда на экране появляется надпись, "нажмите любую клавишу" его зовут)

раскрыть ветку 10
+2
Блин, а логично же
раскрыть ветку 9
+3

это который чинит "у меня что-то выскочило, я нажала ОК и всё сломалось, верни мне всё".

причем тут "судо" и почему обязательно знать расшифровку аббревиатуры, я не очень-то понимаю)

раскрыть ветку 3
0

Я всегда думал что они системными админами зовутся, типо пост крутой шутки, пришел эникейщик и не знает как расшифровать sudo, я один не знал кто такой эникейщик и как расшифровать судо, чтобы оценить эту тонкую шутку?

раскрыть ветку 2
0
Нажми да вставь.
-12

"Тыжпрограмист"

раскрыть ветку 2
+9

емае как завуалировали) Так взяли то или "Мы Вам позвоним" ?

Иллюстрация к комментарию
раскрыть ветку 1
ещё комментарии
0
Вопрос дибильный. Меня, уже давно не эникейщика а инженера сетей, недавно спросили на собеседовании, что значит tcp. Я честно не задумываясь ответил, что это транспортный протокол. На что эйчар покачал головой и сказал что мне явно надо пойти и доучиться. Человеку блять со стажем 17 лет и ccnp на руках. Пусть теперь эта фирма ищет и дальше сетевика. Я и так от безвыхода согласился на 60к. Другие сетевики нахер пошлют за такую зп.
раскрыть ветку 1
0

Повезло тебе)

0

Я конечно все понимаю, но зачем человеку знать расшифровку термина для его использования? Я думаю, что не очень много людей знает значение такого термина как W/C. однако, почти каждый может в самых ярких красках описать, что это и для чего (особенно те, кто хоть раз был в аэропорту).

раскрыть ветку 1
0

Я раньше думал, что что это Women Closet ))))

0
Tpr(запрос на телепортацию в игре Rust) tp razhreshi pls
0

почему-то,когда в слух проиграл диалог, заржал как конь

0

Никогда не задумывался как sudo расшифровывается...

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

можно узнать, в чем подвох? каких 2 варианта?

раскрыть ветку 2
0
Есть два варианта. Скажем, если открыть русскую википедию, то мы увидим там расшифровку, как "substitute user & do" (https://ru.m.wikipedia.org/wiki/Sudo), это правильный вариант. Но изначальное значение все же "super user do", если переключиться на английский язык в той же статье, то там будет упомянание именно о таком изначальном сокращении от sudo, и это тоже правильный вариант. Ссылку привел просто как пруф. Соответственно, рядовой эникейщик вряд ли будет знать такой нюанс про два значения.
раскрыть ветку 1
0

На детскую считалочку похоже. Шишел-мышел которая.

0

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

Иллюстрация к комментарию
раскрыть ветку 1
+4

с таким видом может оказаться ссаным дауншифтером, коорый не может в sudo

-1

Super-Uslovno-Dosro4noe-Osvobo}l{denie

Похожие посты
211

Рабочие пространства после 15032385536-го идут не по порядку

Так как я склонен использовать много рабочих пространств, это большая проблема для меня.

Посмотрите, пространства от 0 до 15032385535 работают хорошо, но когда я пытаюсь сделать что-то серьезное мне нужно больше рабочих пространств. И если я достигаю пространства 15032385536, порядок ломается, как будто это число отрицательное.  Это ежедневно мешает моему рабочему процессу, и мне бы очень хотелось, чтобы это исправили.


Комментарий:

Мой рабочий процесс основан на этой особенности. Пожалуйста, не исправляйте.

Рабочие пространства после 15032385536-го идут не по порядку Unix, Linux, Юмор, IT юмор
1332

В память о великом человеке

В память о великом человеке Unix, Linux, Freebsd, Qnx, История, Создатель, Flex, Bison

Имя Дениса Ритчи (Dennis Ritchie) не многим известно. А ведь это человек, который сделал для нашей цивилизации больше, чем иной лауреат Нобелевской премии.

Мне было грустно и обидно, что об умершем в одиночестве через неделю после Стива Джобса Денисе Ритчи никто не вспоминал. Какое неблагодарное человечество!

Что с нами сделала погоня за богатством?

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

Ведь все продукты Эпл, да и большинства других компаний были бы невозможны без того, что создал Денис Ритчи.

Совместно с Кеном Томпсоном Денис Ритче создал самую лучшую на сегодня операционную систему Unix.

Совместно с Брайаном Керниганом Ритче создал язык программирования C.

На языке C написаны все операционные системы (их десятки если не сотни).

Все компиляторы и интерпретаторы других языков написаны на C.

Зачастую не напрямую, но инструменты, на которых пишут другие языки программирования пишут на C (Flex и Bison, например).

Java очень сильно смахивает на C, что выдает ее происхождение. Да и "C++" -- это развитие языка C, который включает C как подмножество.

На основе Unix создано множество операционных систем, они все называются Posix системами. VxWorks единственная Posix OS не написанная по мотивам Unix. Но там имело место натягивание совы на глобус.

Назову только самые известные производные Unix:

MacOS, FreeBSD, Linux, QNX.

Микро$офт не осилило сделать такой надежной системы как Unix и сделал возможность установить Линукс как часть Виндоус 10. Раньше Линукс под Виндоус использовали при помощи Cygwin.

Обратите внимание, что и язык С и Unix были созданы в конце 60 годов 20 века. Они были настолько безупречны, что с тех пор человечеству не понадобилось заменить их чем-то поновее. Развивали, допоплняли, но основу получше не разрабатывали.

Давайте будем помнить Великого Человека Дениса Ритче, а не только великих маркетологов.


Отсель

186

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

«Всё, что имеет начало, имеет и конец, Нео».

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

Серия вопросов подходит к завершению и остался последний, самый объёмный вопрос:


В: У Вас маленькая организация. Есть некий сервер, который совмещает в себе много разных функций. Шлюз, файлопомойка, прокси, web-сервер, даже есть виртуалка на KVM, внутри которой крутится условная 1С на windows. В один прекрасный момент к Вам начинают сыпаться сообщения от пользователей, что «Всё тормозит и ничего не работает». Ваши действия? Что и как диагностировать будете? Какими командами? Гуглить времени нет из-за ощущения влажного дыхания директора в затылок.


О: Диагностику можно условно разделить на четыре этапа. По количеству компонентов, которые могли стать «слабым звеном». Это процессор, память, диск и сеть. Но, в первую очередь, надо смотреть в логи. Основное - dmesg, syslog, messages. Зачастую это сэкономит массу времени. Так же не стоит забывать про встроенные средства обзорного мониторинга. Например sar позволяет понять что происходило с системой в последнее время без внешнего мониторинга. Так же различные средства внешнего мониторинга позволят получить обзор системы за последнее время и понять какие метрики являются аномальными. Если этого нет, метрик недостаточно или нужно смотреть в реальном времени - по шагам смотрим каждый компонент:


- Процессор. Необходимо понимать и знать какая нагрузка на процессор данного сервера является штатной. Т.е. нагрузка в 80% может быть вполне нормальной для сервера, а 20% может быть повышенной. Для этого нужен какой-либо мониторинг, который обеспечивает хранение исторических данных, внешний - zabbix, observium, spectrum, munin, или внутренний - sar. Текущую нагрузку можно посмотреть командой top и её производными, htop, atop и прочими, либо sysstat, vmstat. Можно посмотреть load average командой uptime. Если нагрузка аномальна - надо понимать из чего она складывается. Тут три основных компонента - User time, IO wait и System или kernel time. Соответственно это время процессора, затраченное на приложения пользователя, ожидания ввода/вывода и на работу самом системы. С user time всё относительно просто. Достаточно определить проблемное приложение и «поправить» его настройки или просто перезапустить его. IO wait - скорее всего проблема с дисковой подсистемой и более детально об этом будет ниже. Если повышен System time - значит сама система потребляет завышенное количество ресурсов. Причин может быть много и надо иметь более детальное представление о системе. Например старые версии Ubuntu имели глючный kswapd, который утилизировал процессор на 100% при своей работе. Или большое количество сетевых пакетов в следствии той или иной разновидность dos/ddos. Или «залипло» некое приложение пользователя и плодит тяжелые для системы операции, такие как выделение/освобождение памяти или создание большого количества процессов и их завершение.


- Память. Утилизацию можно посмотреть командами top, free, cat /proc/meminfo, vmstat, sar. Необходимо обратить внимание на объём свободной памяти и использование swap. Надо понимать, что метрика «free» не всегда отображает реальное положение дел. В частности буферы/кеш, которые могу занимать память, но могут выгружаться из неё при необходимости. Так же надо знать какие данные попадают в swap. Например, почему при свободной памяти может использоваться swap.


- Диск. Крайне желательно понимать что за диски, как они подключены и собраны. Информацию по использованию можно посмотреть командами iostat или iotop. Первая работает в разрезе блочных устройств, вторая по приложениям. Метрики на которые надо обратить внимание - скорость чтения/записи, время ожидания, количество операций, утилизация устройства. Далее, в зависимости от типа дисков, есть разные варианты развития событий. У виртуальных машин при аномалиях нужно смотреть на диски гипервизора и их утилизацию. У физических серверов - на тип диска и транспорт подключения. Если это обычный диск - смотрим smart и прочие метрики диска командами smartctl, hddtemp, hddparm. Большое количество bad-блоков или перегрев диска могут отрицательно влиять на скорость. Если диски собраны в raid - смотрим на его состояние. Если это программный рейд - команды mdadm или zpool. Для аппаратных через утилиты производителя или через iLO. Для внешних диском надо смотреть из транспорт. Это FC или сеть. Для FC смотрим статистику портов на SAN свичах командами sfpshow, porterrshow и т.д. Для сети смотрим количество ошибок портах командами ifconfig, ip, cat /proc/net/dev. Для внешних дисков так же надо смотреть нагрузку на дисковом массиве или SDS. Так же это могут быть так называемые шумные соседи, которые при отсутствии QOS или его неправильной настройке могут оказывать взаимное влияние.


- Сеть. Для начала можно просто проверить пингом. Обычным и тяжелыми пакетами, размером 1кб. Далее смотрим ошибки на портах сервера или на коммутаторе (если есть доступ). Команды выше. Проверяем настройки командой ethtool. Смотрим скорость интерфейса и подключения. Смотрим внешний мониторинг на предмет утилизации сети. Пробуем проверить качество канала чем то простым, вроде ftp. Если сервер удалённый - смотрим маршруты, на предмет потерь и перестройки. Для этого можно использовать tracepath или mtr.


На этом всё. Для тех, кто дочитал до конца всю серию постов и кому это всё интересно - у меня есть небольшой бонус:


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


To be continued…

Показать полностью
370

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

Данный пост является продолжением серии постов про собеседования на должность системного администратора linux. По традиции комментарии к предыдущему посту (Системный администратор Linux. Вопросы. Часть 2) в большинстве своём скатились в срач. Адекватных были единицы, но ради них эти посты я и пишу.


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

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

Вводные завершены, продолжаем список вопросов и ответов.


В: Как отключить iptables на RHEL/Centos 7?

О: Начиная с 7й версии было изменено название демона с iptables на firewalld. Для отключения надо сделать systemctl stop firewalld, а так же отключить его запуск при загрузке systemctl disable firewalld.

В+: Всегда ли этого достаточно?

О+: Нет. Иногда используются надстройки и кастомные скрипты для восстановления правил iptables после перезагрузки. Надо просмотреть вывод systemctl status на предмет скриптов восстановления iptables, а так же post-up, pre-up, post-down, pre-down скрипты в /etc/sysconfig/network-scripts/.


В: Как выполнить некий скрипт на условной 1000 серверов?

О: Можно написать скрипт, который будет обходить сервера по списку и выполнять на них нужные действия.

В+: А есть какие то готовые решения?

О+: Да. Сейчас особенно популярен Ansible. Помимо него есть puppet, chef и т.д. Так же есть различные web-интерфейсы для данных систем. Такие как платный Ansible Tower или бесплатные AWX, Foreman.


В: Необходимо сделать резервное копирование неких данных. Что бы Вы использовали? Как сделать дёшево и как правильно?

О: Самое простое и дешевое решение это архивация неких данных и вынос на внешний носитель. Для работы с обычными файлами этот метод вполне рабочий. А вот для копирования баз данных, особенно больших и нагруженных, такой метод не подходит. Всё дело в том, что между началом копирования и завершением проходит достаточно много изменений в базе и на выходе получается не консистентный бекап. В таких случаях используется логирование действий для последующей «догонки» базы до актуального состояния. Например в psql для этого используется WAL, у oracle это FRA и т.д., но это уже в зоне ответственности администратора баз данных. Виртуальные машины можно бекапить снапшотами с ротацией и выносом их на другой носитель.

В+: А более «взрослые» решения?

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


В: Есть безлимитный бюджет и задача построить максимально отказоустойчивую инфраструктуру. Ваши действия.

О: Основное правило - всех элементов по два. Если говорить про сервер, под систему должно быть два диска в зеркале (тут обычно спрашивается про то, какие raid бывают) или загрузка по SAN, две сетевые карты с LACP или иной active-active агрегацией, два независимых HBA адаптера в двух PCI слотах, каждый из которых подключается в отдельную SAN фабрику. Два блока питания на раздельных линиях питания. Разумеется таких серверов должно быть тоже два. Желательно в разных, георазнесённых, ЦОДах.

В+: А что касается остальной, не серверной части?

О+: Тот же принцип - всего по два. Главное, что бы приложение, которое работает в этой инфраструктуре, тоже умело резервироваться. Т.е. работало по принципу active-active или active-standby без участия человека. Так же, надо учитывать, что одно «плечо» должно тянуть суммарную нагрузку и при этом не упираться в свой предел. Например, штатный максимум по нагрузке на CPU одного плеча - 40%. При падении старого плеча будет 80%. И останется 20% на непредвиденные ситуации, которые часто в таких случаях появляются.


В: Что нужно для кластерной виртуализации?

О: Основное требование - наличие общего хранилища. Так же желательно иметь одинаковые настройки сети на всех нодах кластера. Это нужно для горячей миграции и для миграции машин при авариях.


В: Каким образом можно подключить диски к кластеру?

О: Общее хранилище может быть реализовано различными средствами - SAN, iSCSI, Ceph.

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

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


В: В чём преимущество Fibre Channel перед iSCSI?

О: В SAN сетях есть гарантированная доставка, меньше накладных ресурсов, сеть разрабатывалась как транспорт для дисковых носителей. В тоже время iSCSI это надстройка над ethernet, со всеми его недостатками.

В+: Допустим у нас есть два простых FC свича и два Ethernet свича. Каждую пару свичей мы соединим двумя линками. Что с ними произойдёт?

О+: FC свичи, при наличии лицензии, объединят два линка в один с удвоенной пропускной способностью. Ethernet свичи получат так «кольцо» и перестанут работать спустя какое-то время, которое зависит от объёма траффика в данном сегменте сети.


В: Есть некая виртуальная машина на VMWare. У машины 2 гигабайта памяти. В настройках машины стоят галочки «Можно добавлять память на горячую» и «Можно добавлять процессор на горячую». Внутри машины стоят все нужные гостевые дополнения. Система стоит x64. Можно ли сделать машине 6 гигабайт памяти на горячую?

О: Нет. На горячую можно будет подойти к отметке в 4 гигабайта, но пересечь её не получится.

В+: Почему? Система, ведь, поддерживает?

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


В: Есть неограниченный бюджет и некая абстрактная платформа, которая умеет много памяти. Какой теоретический максимум памяти можно установить в такой сервер если система x86 и если система x64?

О: Предел x86 - 32 бита непрерывного адресного пространства, т.е. 4 гигабайта. Однако с использованием PAE объём памяти увеличивается до 64 гигабайт, но не более 4 гигабайт на процесс, т.к. адресная шина так и сталось 32 бита. Теоретический предел существующих x64 систем - 48 бит адресного пространства.

В+: Из чего получаются эти 48 бит?

О+: Размер страницы памяти 4 килобайта или 12 бит. Нумерация страниц - 36 бит. Итого получается 256 терабайт памяти.


На этом пока всё. Остался последний большой вопрос, объёмом на отдельный пост.

Показать полностью
104

Системный администратор 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


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

Показать полностью
179

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

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


Если кто пропустил, вот начало: Системный администратор Linux и продолжение: Продолжение поста «Системный администратор Linux»


В комментариях к предыдущим постам было высказано много мнений по поводу тематики и самих вопросов. Была и критика, и занудство, и здравые мысли. От себя могу сказать, что это не универсальный список вопросов для собеседования. Это то, с чем у нас приходится сталкиваться чаще всего, что надо понимать и без чего рост компетенций будет заметно усложнён. Часть вопросов просто для понимания кругозора кандидата.

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

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


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


Готовы? Ну тогда поехали!


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

О: uname -a

В+: А если только версию?


О+: uname -r


В: Как узнать какие модули ядра загружены?

О: lsmod

В+: Как загрузить и выгрузить модуль?

О+: Загрузить командой modprobe, выгрузить ей же, но с ключом --remove, если модуль не используется.


В: Есть сервер с двумя интерфейсами. Один интерфейс смотрит в интернет, другой в локалку. На обоих адреса прописаны статикой. Как пользователей из локалки выпустить в интернет через этот сервер?

О: Маршрут по умолчанию должен быть назначен на интерфейс с интернетом, нужно поднять NAT через iptables и SNAT/DNAT или MASQUERADE, надо включить forward пакетов.

В+: Как именно это сделать?

О+: Для примера шлюз будет на RHEL-based дистрибутиве. В других дистрибутивах есть созвучные или аналогичные опции. В настройках интерфейса с локалкой надо прописать defroute=no, на интерфейсе с интернетом defroute=yes. Либо можно указать маршрут в файле route-название_интерфейса, который располагается рядом с файлом настроек интерфейса. Настройка NAT будет зависеть от того, фиксирован ли список клиентов в локалке или нет. Если фиксирован - настройка через SNAT, если не фиксирован - MASQUERADE. Так же, если к клиенту будут обращения из внешней сети, придётся использовать DNAT. Включить forward пакетов можно временно командой echo 1 > /proc/sys/net/ipv4/ip_forward или постоянно, прописав net.ipv4.ip_forward = 1 в файл /etc/sysctl.conf и загрузить их из файла командой sysctl -p.

О++: Можно ещё поднять прокси и выпустить через него. Например squid. При этом либо явно указав этот прокси у клиентов, либо прозрачно, через iptables и POSTROUTING.


[Дословный синтаксис команд не нужен. Главное, что кандидат понимает что именно и как он будет делать. Если кандидат расскажет ещё что такое этот ip_forward - это будет дополнительным плюсом.]


В: Есть сервер с двумя интерфейсами, к каждому из которых подключён отдельный интернет провайдер. Например первый 100 мегабит, второй 50. Можно ли как-то получить суммарный внешний канал в 150 мегабит?

О: Штатно - нельзя. Но можно поставить пакет iproute2, который позволяет сделать два маршрута по умолчанию, каждый из которых будет иметь свой вес. Например вес первого интерфейса сделать вес 2, а второго - 1. Тогда трафик будет пытаться направляться в соотношении 2 к 1 относительно интерфейсов. В идеальных условиях это даст суммарные 150 мегабит. В реальных - будет зависимость и «тяжелых» сессий, которые будут привязываться к одному конкретному интерфейсу.


В: Как посмотреть какой DNS использует система? У нас настроен DHCP и «в лоб» в настройках на клиенте ничего нет. Файл /etc/resolv.conf много где считается устаревшим и там может быть пусто.

О: Попробовать отрезольвить любой адрес. Например командами nslookup, host или dig. Они показывают какой DNS сервер был использован.

В+: А если у нас какая нибудь Ubuntu, которая из коробки за собой тянет dnsmasq? В таком случае эти команды будут говорить, что DNS сервером является 127.0.1.1 или 127.0.0.53. Как быть?

О+: Если есть dnsmasq, значит у него есть конфиги и логи, в которых можно посмотреть что он использует. В крайнем случае можно использовать tcpdump и посмотреть какие есть исходящие подключения на 53 порт.


В: Как посмотреть таблицу маршрутизации на любой системе?

О: Это можно сделать командами route -n или ip r

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

О+: Команда netstat -rn работает везде, на Linux, Windows, MacOS, Solaris. Даже на Android. В некоторых системах это единственный вариант посмотреть маршруты.


В: Есть LVM. На одной VG есть 2 LV. Один смонтирован в корень системы, другой в /home. При создании разделов ошиблись и создали корень слишком маленький, а home слишком большой. Можно ли как-то перекинуть место из одного раздела в другой? Оба раздела содержат данные, которые нельзя удалять. В разделе home есть достаточно свободного места. Систему нельзя перезагружать.

О: Уменьшить можно, если файловая система позволяет уменьшать свой размер. Например ext4 позволяет это сделать, а xfs - нет. Увеличивать разделы можно «на горячую». Для уменьшения надо размонтировать /home, уменьшить файловую систему, уменьшить LV с этим разделом, смонтировать /home, увеличить LV раздела с корнем, увеличить файловую систему. Командой lvextend с ключом -r последние два действия можно совместить.

В+: А есть там xfs?

О+: Тогда придётся использовать временный диск. Скопировать на него данные из /home, пересоздать раздел меньшего размера, скопировать данные обратно. Можно командами pvs или vgs посмотреть свободное место на LVM. Возможно не всё пространство было размечено и его можно будет использовать вместо временного диска.


В: Как определить тип файловой системы, в которую отформатирован LV раздел в LVM? Команда fdisk -l показывает, что код раздела 83 или 8E, т.е. раздел Linux или LVM раздел.

О: Если раздел смонтирован можно командами df -T, mount или findmnt

В+: А если не смонтирован?

О+: Команда lsblk с ключом -f показывает тип файловой системы и метки, например для oracleasm дисков.


В: Как получить сводку о всём железе?

О: Командами группы ls. Например lspci, lsusb и т.д. Либо cat /proc/cpuinfo, cat /proc/meminfo и т.д.

В+: А более развёрнуто? Например с серийными номерами памяти и количеством плашек памяти?

О+: Можно через smbios командой dmidecode. Либо через ipmitool подключиться к менеджменту, если он есть, и через его shell достать данные.


В: Как обновить все пакеты, кроме одного? Например кроме ядра.

О: В RHEL-based командой yum update --exclude kernel*. В других дистрибутивах должен быть похожий ключ, который можно посмотреть в man’е к пакетному менеджеру.

В+: А если постоянно исключить из обновления?

О+: Можно использовать yum versionlock kernel*. В других дистрибутивах так же можно поискать в man’е по словам lock, hold или freeze.


Для начала, думаю, достаточно. Продолжение будет в следующих постах. Постараюсь сильно с ними не затягивать.

Показать полностью
35

Опубликован Exim 4.92.3 с устранением четвёртой за год критической уязвимости

Опубликован экстренный выпуск почтового сервера Exim 4.92.3 с устранением очередной критической уязвимости (CVE-2019-16928), потенциально позволяющей удалённо выполнить свой код на сервере через передачу специально оформленной строки в команде EHLO. Уязвимость проявляется на стадии после сброса привилегий и ограничена выполнением кода с правами непривилегированного пользователя, под которым выполняется обработчик поступающих сообщений.


Проблема проявляется только в ветке Exim 4.92 (4.92.0, 4.92.1 и 4.92.2) и не пересекается с устранённой в начале месяца уязвимостью CVE-2019-15846. Уязвимость вызвана переполнением буфера в функции string_vformat(), определённой в файле string.c. Продемонстрированный эксплоит позволяет вызвать крах через передачу длинной строки (несколько килобайт) в команде EHLO, но уязвимость может быть эксплуатирована и через другие команды, а также потенциально может быть использована для организации выполнения кода.


Обходные пути блокирования уязвимости отсутствуют, поэтому всем пользователям рекомендовано срочно установить обновление, применить патч или убедиться в использовании предоставляемых дистрибутивами пакетов, в которых перенесены исправления актуальных уязвимостей. Исправление выпущено для Ubuntu (затрагивает только ветку 19.04), Arch Linux, FreeBSD, Debian (затрагивает только Debian 10 Buster) и Fedora. RHEL и CentOS проблеме не подвержены, так как Exim не входит в их штатный репозиторий пакетов (в EPEL7 обновление пока отсутствует). В SUSE/openSUSE уязвимость не проявляется из-за применения ветки Exim 4.88.

228

75 лет Эндрю Таненбауму

Сегодня 75 лет исполняется Эндрю Таненбауму, профессору Амстердамского свободного университета. Большую часть своей жизни он посвятил преподаванию, 5 лет назад прочитал последнюю лекцию в стенах университета и вышел на пенсию.Известен как автор ОС Minix и множества книг по компьютерным наукам, которые многие используют как учебники.

75 лет Эндрю Таненбауму Unix, Linux, IT
1659

Основы администрирования и безопасности Linux, unix систем.

P.S. не заостряйте внимание на первые 15-20 минут ролика, так как курсы велись он лайн, естественно нужно затратить время на короткую презентацию и все приготовления + знакомство с аудиторией.

+Курс МГУ

Лектор: Георгий Курячий

Лектор: Алёхова Елена

ВНИМАНИЕ!!! Здесь лектор на превью смотрит прямо в душу.

Показать полностью 4
46

Подборка полезных книг для администраторов и пользователей Linux

1. Linux. Установка, настройка, администрирование 2013 (Михаэль Кофлер)


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

Подборка полезных книг для администраторов и пользователей Linux Самоучитель, Linux, Unix, Администрирование, Длиннопост

2. Unix и Linux. Руководство системного администратора 2012г (Эви Немет, Гарт Снайдер, Трент Хейн, Бэн Уэйли)


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

Подборка полезных книг для администраторов и пользователей Linux Самоучитель, Linux, Unix, Администрирование, Длиннопост

3. Linux. Системное программирование 2008 (Роберт Лав)


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

Подборка полезных книг для администраторов и пользователей Linux Самоучитель, Linux, Unix, Администрирование, Длиннопост

4. Основы программирования в Linux 2009 ( Нейл Мэттью, Ричард Стоунз)


В понятной и доступной форме описывается программирование в среде Linux на C/C++/Bash

Подборка полезных книг для администраторов и пользователей Linux Самоучитель, Linux, Unix, Администрирование, Длиннопост

5. Компьютерные сети. Принципы, технологии, протоколы. 2016 (Виктор Олифер, Наталия Олифер)


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

Подборка полезных книг для администраторов и пользователей Linux Самоучитель, Linux, Unix, Администрирование, Длиннопост

6. Операционная система UNIX 2010 (Андрей Робачевский, Сергей Немнюгин, Ольга Стесик)


Добротная книга, рассказывающая о том, как устроен Unix.

Подборка полезных книг для администраторов и пользователей Linux Самоучитель, Linux, Unix, Администрирование, Длиннопост

Список не претендует на полноценность, если вам есть что добавить к нему, добавляйте в комментарии.

Показать полностью 4
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: