Системный администратор – Telegram
Системный администратор
2.53K subscribers
375 photos
497 videos
7 files
199 links
Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS.

По всем вопросам @evgenycarter
Download Telegram
Шпаргалка по Tmux: установка, настройка, работа

Tmux (ти-макс) — это менеджер терминалов, который позволяет работать с несколькими сессиями в одном окне. То есть вместо нескольких открытых окон терминала — вы используете одно, которое можно делить на несколько окон.

Установка и настройка Tmux

Устанавливается Tmux из стандартных репозиториев Linux:
apt-get install tmux

После установки рекомендуем сразу отредактировать конфигурационный файл ти-макса (/etc/tmux.conf) и внести следующие изменения:
set -g mouse on

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


Работа с Tmux

Для работы с ти-миксом используется широкий набор горячих клавиш, состоящих из базового сочетания Ctrl + b и отдельных целевых клавиш (n,p,w,b и т.д.).

Работа с сессиями в Tmux
Для создания рабочей сессии без идентификатора — достаточно ввести tmux в терминале. Будет создана сессия 0:

Идентификатор сессии отображается внизу слева в квадратных скобках. Для создания именной сессии достаточно ввести следующую команду:
tmux new -s название сессии

Поскольку ти-макс завершает соединение с сохранением состояния сессии, правильным способом возобновить работу ти-макса будет его запуск командой:
tmux attach || tmux new

Команда запускает проверку уже созданных сессий и если активных подключений нет — создается новое подключение.
Просмотреть список созданных сессий можно командой:
tmux ls

Команда вернёт список следующего вида:
0: 1 windows (created Mon Aug 30 13:02:31 2021) (attached)

Если в списке одна сессия, то командой tmux attach она будет автоматически восстановлена, а если в списке несколько сессий — необходимо ввести следующую команду:
tmux attach -t наименование сессии

В нашем случае сессия называется 0.
Сменить сессию можно также, находясь в другой сессии. Для этого нужно воспользоваться сочетанием клавиш Ctrl + b, s.

Выйти из сессии можно с помощью сочетания клавиш Ctrl + b, d. А завершить сессию командой:
tmux kill-session -t название сессии

Закрыть все сессии можно командой:
tmux kill-server

👉@i_linux
👍6
Media is too big
VIEW IN TELEGRAM
Зачем вводить системы Linux в домен Microsoft Active Directory?

источник

👉@i_linux
👍6
Cisco. Базовая настройка

Заливаем последнюю прошивку (для SSH необходим минимум Advanced Security), избавляемся от преднастроенного мусора и перегружаемся
erase startup-config

Включаем шифрование паролей
service password-encryption

Используем новую модель ААА и локальную базу пользователей
aaa new-model
aaa authentication login default local


Заводим пользователя с максимальными правами
username user privilege 15 secret password

Назначаем имя роутеру
hostname R1
ip domain-name R1.domain


Генерируем ключ для SSH
crypto key generate rsa

Настраиваем SSH
ip ssh authentication-retries 5
ip ssh version 2
ip ssh time-out 60


Разрешаем telnet и ssh на удаленной консоли и делаем доступ сразу в привилегированный режим 15го уровня line vty 0 4
transport input telnet ssh
privilege level 15


Отключаем доступ по http и https
no ip http server
no ip http secure-server


Настройка временной зоны и ntp
clock timezone MSK 3
ntp server 146.0.32.144


Настраиваем DNS
ip domain name domain
ip name-server 8.8.8.8


Блокируем доступ при определённом количестве неправильных попыток
login block-for 600 attempts 5 within 30

Отключаем ошибку резолва при неправильном наборе чего-либо в консоли
no ip domain-lookup

Задаём timeout неактивности telnet сессии
exec-timeout 15 0

👉@i_linux
👍6
Cisco (защищаем доступ)

Установим пароль на доступ через консольный порт:
line console 0
login
password password


Создаём access-list с разрешёнными для доступа сетями или хостами (пишем сети с обратной маской):
access-list 1 permit 192.168.1.0 0.0.0.255
access-list 1 permit 192.168.2.0 0.0.0.255


Отключаем доступ по виртуальному терминалу для протокола telnet и применяем ранее созданный access-list для ограничения доступа по ssh:
line vty 0 4
transport input ssh
access-class 1 in
privilege level 15
login local


Добавляем watch for login Attacks
login block-for 600 attempts 2 within 30
login delay 5
login quiet-mode access-class 1


👉@i_linux
👍6
Cisco. ACL

Стандартные ACL
access-list 100 permit host 172.16.6.0 0.0.0.255
access-list 100 deny host 172.16.6.0 0.0.0.255


Расширенные ACL
ip access-list extended TEST
permit tcp host 172.16.6.66 host 172.16.0. eq ftp
permit tcp host 172.16.6.66 gt 1023 any eq www


ПРАВИЛА ПРОВЕРЯЮТСЯ СВЕРХУ ВНИЗ. КАК ТОЛЬКО ПРОВЕРКА ДОХОДИТ ДО ПРАВИЛА ПОД КОТОРОЕ ПАКЕТ ПОДПАДАЕТ, ПРОВЕРКА ПРЕКРАЩАЕТСЯ, НЕЗАВИСИМО ОТ ТОГО КАКИЕ ПРАВИЛА ИДУТ ДАЛЬШЕ.

В КОНЦЕ ЗАДАЁТСЯ НЕЯВНОЕ ПРАВИЛО


deny ip any any
Т.Е. ЕСЛИ ЯВНО ЧТО-ТО НЕ РАЗРЕШИТЬ СВЕРХУ, ТО ЭТО БУДЕТ ЗАПРЕЩЕНО

Вешаем ACL на интерфейс(in или out)
ip access-group TEST out

Иногда необходимо удалить конкретную запись в access-list(для примера ip 94.123.2.139). Для этого, сначала смотрим порядковые номера записей
# show access-lists
Standard IP access list 1
10 permit 185.40.30.134
20 permit 94.141.60.123
30 permit 94.123.2.139
90 permit 88.196.234.16
50 permit 222.251.243.67
40 permit 143.35.7.238


Затем удаляем нужную
# conf t
(config)# ip access-list s 1
(config-ext-nacl)# no 30


В данном случае S - Standard Access List
Если вдруг понадобилось вставить запись в конкретное место, делаем так
# conf t
(config)# ip access-list s 1
(config-ext-nacl)# 40 permit 94.123.2.139


OBJECT-GROUP
Предположим, надо составить ACL, выпускающий три определенных адреса в интернет по трем одинаковым портам c перспективой расширения количества адресов и портов.

Создаём список разрешённых портов
object-group service INET-PORTS
denoscription Ports allowed for some hosts
tcp eq www
tcp eq 8080
tcp eq 443


Создаём список разрешённых ипишек
object-group network HOSTS-TO-INET
denoscription Hosts allowed to browse the net
host 172.16.0.2
host 172.16.0.3
host 172.16.0.4


Создаём ACL
ip access-list extended INET-OUT
permit object-group INET-PORTS object-group HOSTS-TO-INET any


И в завершении вешаем ACL на интерфейс
ip access-group TEST out


👉@i_linux
👍3
Как скопировать структуру директорий в Linux

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

Сначала необходимо перейти в директорию, где находятся нужная структура
# cd /dir1

Затем выполняем команду, которая находит директории и сохраняет пути к ни в файл
# find . -type d > dirs.txt

Теперь необходимо перенести этот файл в директорию, где мы хотим воссоздать структуру
# mv ./dirs.txt /dir2

Переходим туда
# cd /dir2

И используя xargs читаем из файла пути и создаем по ним структуру директорий
# xargs mkdir -p < dirs.txt

👉@i_linux
👍3
Карта ядра ОС Linux (Linux kernel map)

https://makelinux.github.io/kernel/map/

👉 @i_linux
👍3🔥1
Media is too big
VIEW IN TELEGRAM
Подключение удаленных USB устройств. USBIP

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

00:00 Вступление
01:14 Настройка на сервере
02:40 Настройка на клиенте
04:37 Графическая утилита

👉 @i_linux
👍4👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥1
Как увеличить размер каталога /tmp/

Иногда необходимо увеличить размер каталога, который в свою очередь находится в корневом каталоге системы.
Решить это можно перемонтированием каталога:
# mount -t tmpfs tmpfs /tmp -o size=1024M,mode=1777,remount

Теперь проверим, есть ли у нас каталог в фстабе:
# cat/etc/fstab

Если нет, создаем, если существует то выполняем следующую команду:
# none /tmp tmpfs size=1024M,mode=1777,rw 0 0

Теперь готов каталог/tmp/ с размером, указанным в операторе “size” размером 1024 mb.

👉 @i_linux
👍3
#vacancy #сисадмин #системныйадминистратор #Linux #Ubuntu #Centos #fulltime #вакансия #москва

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

Локация: Москва
ЗП: 250к-350к net
Занятость: Полная, Гибридный формат
Оформление: ТКРФ
Компания: Федеральное Медико-биологическое агентство

ЦСП ФМБА занимается научными исследованиями связанными с геномом человека и анализом полученных данных.
Группа разработки создает внутренние сервисы для автоматизации движения, обработки и распределенного хранения больших объемов данных.

Требования:
• Высокий уровень системного администрирование и траблшутинг серверных операционных систем Linux (Ubuntu,Centos)
• Виртуализация VMWare, Proxmox, KVM.
• Знания и практический опыт в области развертывания и обслуживания СУБД (Postgresql,mysql);
• Опыт проектирования и развертывания сетевых служб DNS,DHCP
• Знания технологий RAID;
• Опыт работы с сетевым оборудованием: DELL, MikroTik, Mellanox, HP; знание и понимание принципов работы сетей TCP/IP, маршрутизации, VLAN;
• Опыт работы с серверными платформами: Dell, Supermicro, IBM
• Опыт внедрения и администрирования терминальных ферм, знание правил и принципов;
• Практические навыки написания скриптов (Bash,Python);
• Практический опыт работы с Zabbix, написания триггеров.

Чем предстоит заниматься:
- Развертывание, настройка и поддержка инфраструктуры
- Настройка и работа с виртуализацией
- Взаимодействие с командой разработки по ключевым вопросам

Мы предлагаем:
Москва, офис недалеко от метро Щукинская
График работы 5/2
Гибридный режим работы
Официальное оформление по ТК РФ
Белая стабильная заработная плата
Бронь от мобилизации
Обслуживание в корпоративной поликлинике


Резюме отправлять: @ddsh_kl
Уровни «RAID» 0, 1, 2, 3, 4, 5, 6, 7 и что они означают

Главный основополагающий принцип работы «RAID» заключается в размещении пользовательских данных на нескольких дисках. Данный подход позволяет операциям ввода-вывода («I / O»), напрямую связанными с передачей данных на компьютер или с компьютера, сбалансированным образом перекрывать друг друга, существенно улучшая итоговую производительность.

https://telegra.ph/Urovni-RAID-0-1-2-3-4-5-6-7-i-chto-oni-oznachayut-04-16

👉 @i_linux
👍2
Подборка из 4 альтернативых SSH клиентов

1. Mosh

Mosh - это замена интерактивных терминалов SSH. Он более надежен и отзывчив, особенно при работе через Wi-Fi, сотовую связь и на дальних расстояниях.
Mosh - это свободное программное обеспечение, доступное для GNU/Linux, BSD, macOS, Solaris, Android, Chrome и iOS.


2. Teleport

Teleport с открытым исходным кодом был разработан для обеспечения доступа к необходимой инфраструктуре без замедления работы. С помощью одного инструмента инженеры получают унифицированный доступ к серверам Linux и Windows, кластерам Kubernetes, базам данных и приложениям DevOps, таким как AWS Management Console, CI/CD, контроль версий и панели мониторинга во всех средах.


3. Eternal Terminal

Удаленный терминал для занятых и нетерпеливых
Eternal Terminal (ET) - это удаленная оболочка, которая автоматически переподключается, не прерывая сеанса.

4. tmux

tmux - это терминальный мультиплексор: он позволяет создавать несколько терминалов, получать к ним доступ и управлять ими с одного экрана. tmux может работать в фоновом режиме.

Работает на OpenBSD, FreeBSD, NetBSD, Linux, macOS и Solaris.

👉 @i_linux
👍3🤮1
Cамые нужные команд SSH

Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
$ ssh user@host df -h
А так — перезагрузить ее:
$ ssh user@host sudo reboot

Составляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
$ ssh user@host "`cat file.txt`"

Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
$ gvim scp://user@host//путь/к/файлу

Копируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
$ ssh user@host cat /путь/к/файлу | xclip
А так можно скопировать вывод команды:
$ ssh user@host uname -a | xclip

Сравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
$ ssh user@host cat /путь/к/удаленному/файлу | diff /путь/к/лoкальному/файлу -

Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
$ sudo apt-get install sshfs
Создать каталог для подключения «сетевого диска»:
$ mkdir remote_files
И подключить его:
$ sshfs user@host:/home/user ~/remote_files/
Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.

Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
$ ssh-copy-id user@host
При этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
$ ssh-copy-id -i ~/my_key.pub user@host

Создай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no

А затем создай соединение:
$ ssh -MNf user@host

👉 @i_linux
👍61