Секреты сисадмина | DevOps, Linux, SRE
25.7K subscribers
666 photos
17 videos
441 files
607 links
Крупнейший справочник системного администратора.

Сотрудничество: @max_excel

РКН: vk.cc/cHhGTz
Download Telegram
В чем разница между sudo su, sudo -i, sudo /bin/bash

Команда su позволяет изменить текущего пользователя терминала на другого. Команда sudo выполняет команду от имени root пользователя. Теперь разберем сам вопрос.

sudo su - выполняет команду su от имени суперпользователя. Таким образом, сначала используется sudo чтобы получить права суперпользователя, а затем пользователь меняется на root с помощью su. При этом вы останетесь в той же директории потому, что выполняется ваш .bashrc. А также .profile пользователя root поэтому вы окажетесь в окружении root.

sudo -i - похожая команда, опция -i указывает утилите что нужно переключиться в консоль от имени суперпользователя. На этот раз вы уже окажетесь в домашней папке root, и будет выполнен его .bashrc и .profile.

sudo /bin/bash - запускает еще одну оболочку bash от имени суперпользователя. Файлы конфигурации не читаются, но выполняется только .bashrc вашего пользователя. Вы не окажетесь в окружении root, а просто останетесь в своем окружении с правами суперпользователя.

#СекретыСисадмина
Работа с файлами в Linux (часть 1)

ls -al — Показывает файлы и каталоги в текущей папке
pwd — Отображает текущий рабочий каталог
mkdir NewFolder — Создает новый каталог с именем "NewFolder".
rm NewFile — Удаляет файл с именем "NewFile"
rm -f NewFile — Принудительное удаление файла с именем "NewFile"
rm -r NewFolder — Рекурсивно удаляет каталог с именем "NewFolder"
rm -rf NewFolder — Принудительное удаление каталога с именем "NewFolder" рекурсивно
cp oldfile1 newfile2 — Копирует содержимое oldfile1 в newfile2
cp -r olddir1 newdir2 — Рекурсивно копирует каталог "olddir1" в "newdir2" (Dir2 будет создан, если он не существует)
mv oldfile1 newfile2 — Переименовывает "oldfile1" в "newfile2".

#СекретыСисадмина
Работа с файлами в Linux (часть 2)

ln -s /etc/log/file logfile — Создает ярлык на файл
touch newfile — Создает пустой файл с именем newfile
cat > newfile — Помещает STDIN в newfile
more newfile — Выводит содержимое newfile по частям
head newfile — Выводит первые 10 строк файла newfile
tail newfile — Вывод последние 10 строк newfile
gpg -c newfile — Шифрует newfile в формат gpg с помощью пароля и сохраняет его в том же каталоге
gpg newfile.gpg — Расшифровывает gpg файл
wc newfile — Выводит количество байт, слов и строк нового файла.

#СекретыСисадмина
Локальные репозитории пакетов

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

#СекретыСисадмина

📁 Скачать/Download 👇
В чем разница между adduser и useradd

Обе команды создают нового пользователя в системе. Но они очень сильно отличаются.

Adduser - утилита для добавления пользователей и групп в систему. Программа учитывает политики дистрибутива по желаемому UID и GID, создает домашний каталог, копирует туда файлы по умолчанию и запускает специальные сценарии.

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

#СекретыСисадмина
Подключение к shadow сессии непривилегированного пользователя

Необходимо выдать права группе пользователей на подключение к shadow сессии на терминальном сервере.

В командной строке терминального сервера выполняем следующую команду:
wmic /namespace:\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName="RDP-Tc

Необходима перезагрузка. Определяем список сессий:
query session /server:terminal01

И выполняем подключение:
mstsc /shadow:5 /control /noconsentprompt

Небольшой скрипт автоматизации подключения:
@echo off
query session
echo
set /p UserSessionID= Enter the session ID:
mstsc /shadow:%UserSessionID% /control /noconsentprompt

#СекретыСисадмина
Ядро Linux

Ядро является главной частью любой операционной системы. Существует точка зрения, которая приравнивает понятие операционной системы к ядру. Есть точка зрения, когда в понятие операционной системы включают как ее ядро, так и системные программы, позволяющие пользователю обращаться через ядро к аппаратным ресурсам.

#СекретыСисадмина

📁 Скачать/Download 👇
Команда sudo – администрирование системы

В Unix-подобных операционных системах должен быть привилегированный пользователь – суперпользователь, он же администратор. Логин его учетной записи – root, а домашний каталог находится в / root. Этот пользователь предназначен для администрирования системы, а значит обладает правами на операции с системными файлами, установку программного обеспечения, создание и удаление других пользователей, предоставление им различных доступов.

#СекретыСисадмина

📁 Скачать/Download 👇
Полезные команды Linux. Архивация и сжатие файлов

# gzip -9 file1
Поместить файл file1 в архив gzip с максимальной степенью сжатия
# rar a file1.rar file1 file2 dir1
Создать rar архив file1.rar, заархивировав файлы: file1, file2 и директорию: dir1
# rar a file1.rar test_file
Упаковать в rar архив file1.rar файл test_file
# rar x file.rar
Разархивировать rar архив file.rar
# bzip2 file1
Сжимает файл file1
# bunzip2 file1.bz2
Разжимает файл file1.bz2
# gzip file1
Сжимает файл file1
# gunzip file1.gz
Разжимает файл file1.gz
# tar -cvf archive.tar file
Упаковать в tar-архив archive.tar файл file
# tar -tf archive.tar
Вывести содержимое tar архива
# tar -xvf archive.tar -C /tmp
Распаковать архив в /tmp
# tar -cvfz archive.tar.gz dir1
Создать tar архив и сжать его с помощью программы gzip
# zip file1.zip file1
Создать сжатый zip-архив
# unrar x file1.rar
Распаковать rar-архив

#СекретыСисадмина
Управление процессами в Linux

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

#СекретыСисадмина

📁 Скачать/Download 👇
Команда findmnt

Это простая утилита командной строки, используемая для отображения списка подключенных файловых систем или поиска файловой системы.

Для отображения списка подключенных файловых систем, выполните в командной строке следующую команду.
По умолчанию findmnt отображает файловые системы в древовидном формате:
# findmnt

Чтобы отобразить информацию в виде обычного списка, используйте параметр -l:
# findmnt -l

Можно выбрать отображение файловых систем только определенного типа, например XFS или EXT4:
# findmnt --fstab -t xfs или # findmnt --fstab -t ext4

Отобразить только точку монтирования, в которой смонтирована файловая система с меткой «/boot»:
# findmnt -n --raw --evaluate --output=target LABEL=/boot

Отследить действия по монтированию, размонтированию, перемонтированию и перемещению каталога, например, в /mnt/test:
# findmnt --poll --mountpoint /mnt/test

Если вы хотите получить больше информации в выводе, используйте ключ –verbose:
# findmnt --real --verbose

#СекретыСисадмина
Enter-PSSession: интерактивное управление удаленным компьютером из PowerShell

#СекретыСисадмина

📁 Скачать/Download 👇
Когда TCP-сокеты отказываются умирать

В поисках причин, почему установленные соединения не разрываются в некоторых случаях, автор набрёл на отличную статью в блоге Cloudflare. Которая в итоге помогла найти не только решение этой проблемы, но и помогла лучше понять как работают таймауты TCP соединений в Linux.

Читать

#СекретыСисадмина
- Как быстро разобраться в N-звенной архитектуре приложения?
- Как траблшутить развертывание микросервисов?
- Как в сетевом окружении обнаружить некорректные настройки Firewall, VPN, DNS?

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

Попробуй свои силы на открытом воркшопе серии "Продвинутый траблшутинг в N-звенной и микросервисной архитектурах" 29 ноября.
Это именно практический воркшоп, а не вебинар. Каждый участник в консоли песочницы примет участие в решении той или иной задачи.

Сложность 5 из 5 (для мидлов/сеньоров QA, DEV, Sysanalyst, DevOps).
Только 15 мест.
Бот для записи → "Хочу на ADTS"