Системный Администратор (Сисадмин)
13.8K subscribers
1.68K photos
1.54K videos
87 files
1.71K links
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter

РКН clck.ru/3KoGJ3
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Команды Linux для управления процессами

1. kill
Эта команда служит для принудительного завершения процессов. Нужно ввести kill PID_процесса.

PID процесса можно узнать, введя top.

2. xkill
Ещё одна команда для завершения процессов. Введите её, затем щёлкните по тому окну, которое нужно закрыть.

3. killall
Убивает процессы c определённым именем. К примеру, killall firefox.

4. top
Отображает перечень запущенных процессов, сортируя их в зависимости от потребления ресурсов CPU. Своего рода терминальный «системный монитор». Нажмите q, чтобы выйти из просмотра.

5. htop
Представляет более интерактивную и удобную версию команды top, которая отображает список процессов с использованием графиков и позволяет легко управлять ими. Для установки выполните sudo apt install htop или sudo dnf install htop, в зависимости от вашего дистрибутива.

👉 @sysadminof
👍5
Команды Linux: Файлы и директории.

cd /home — перейти в директорию '/home'
cd .. — перейти в директорию уровнем выше
cd ../.. — перейти в директорию двумя уровнями выше
cd — перейти в домашнюю директорию
cd ~user — перейти в домашнюю директорию пользователя user
cd - — перейти в директорию, в которой находились до перехода в текущую директорию
pwd — показать текущую директорию
ls — отобразить содержимое текущей директории
ls -F — отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип
ls -l — показать детализированное представление файлов и директорий в текущей директории
ls -a — показать скрытые файлы и директории в текущей директории
ls *[0-9]* — показать файлы и директории содержащие в имени цифры
tree или lstree — показать дерево файлов и директорий, начиная от корня (/)
mkdir dir1 — создать директорию с именем 'dir1'
mkdir dir1 dir2 — создать две директории одновременно
mkdir -p /tmp/dir1/dir2 — создать дерево директорий
rm -f file1 — удалить файл с именем 'file1'
rmdir dir1 — удалить директорию с именем 'dir1'
rm -rf dir1 — удалить директорию с именем 'dir1' и рекурсивно всё её содержимое
rm -rf dir1 dir2 — удалить две директории и рекурсивно их содержимое
mv dir1 new_dir — переименовать или переместить файл или директорию
cp file1 file2 — скопировать файл file1 в файл file2
cp dir/* . — копировать все файлы директории dir в текущую директорию
cp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директорию
cp -a dir1 dir2 — копировать директорию dir1 в директорию dir2
ln -s file1 lnk1* — создать символическую ссылку на файл или директорию
ln file1 lnk1 — создать «жёсткую» (физическую) ссылку на файл или директорию
touch -t 0712250000 fileditest — модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)

👉 @sysadminof
👍102
Шифрование информации в Linux

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

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

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

Я расскажу о том, как сохранить конфиденциальность своей информации с помощью инструмента GPG.

https://habr.com/ru/articles/659755/

👉 @sysadminof
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Команды Linux для работы с разделами

1. lsblk
Эта команда демонстрирует, какие диски есть в вашей системе и на какие разделы они поделены. Также она отображает имена ваших разделов и накопителей в формате sda1, sda2 и так далее.

2. mount
Монтирует накопители, устройства или файловые системы Linux, чтобы вы могли с ними работать. Обычно устройства подключаются автоматически, как только вы щёлкнете по ним в файловом менеджере. Но иногда может понадобиться примонтировать что‑то вручную. Вы можете подключать что угодно: диски, внешние накопители, разделы и даже ISO‑образы. Эту команду нужно выполнять с правами суперпользователя. Чтобы примонтировать имеющийся диск или раздел, введите mount sdX.

3. umount
Демонтирует файловые системы. Комбинация umount sdX отключит файловую систему внешнего носителя, чтобы вы могли извлечь его.

4. dd
Эта команда копирует и преобразовывает файлы и разделы. У неё множество различных применений.

Например, dd if=/dev/sda of=/dev/sdb сделает точную копию раздела sda на разделе sdb.

dd if=/dev/zero of=/dev/sdX затрёт содержимое указанного носителя нулями, чтобы информацию было невозможно восстановить.

dd if=~/Downloads/ubuntu.iso of=/dev/sdX bs=4M сделает загрузочный носитель из скачанного вами образа с дистрибутивом.

👉 @sysadminof
👍8🔥32
Сеть (LAN и WiFi)

ifconfig eth0 — показать конфигурацию сетевого интерфейса eth0
ifup eth0 — активировать (поднять) интерфейс eth0
ifdown eth0 — деактивировать (опустить) интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 — выставить интерфейсу eth0 IP-адрес и маску подсети
ifconfig eth0 promisc — перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)
ifconfig eth0 -promisc — отключить promiscuous-режим на интерфейсе eth0
dhclient eth0 — активировать интерфейс eth0 в dhcp-режиме.
route -n
netstat -rn — вывести локальную таблицу маршрутизации
route add -net 0/0 gw IP_Gateway — задать IP-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 — добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с IP-адресом 192.168.1.1
route del 0/0 gw IP_gateway — удалить IP-адрес шлюза по умолчанию (default gateway)
echo "1" > /proc/sys/net/ipv4/ip_forward — разрешить пересылку пакетов (forwarding)
hostname — отобразить имя компьютера
host www.example.com или host 192.0.43.10 — разрешить имя www.example.com хоста в IP-адрес и наоборот
ip link show — отобразить состояние всех интерфейсов
mii-tool eth0 — отобразить статус и тип соединения для интерфейса eth0
ethtool eth0 — отображает статистику интерфейса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupn — отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в IP-адреса и PID'ы и имена процессов, обеспечивающих эти соединения
netstat -tupln — отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в IP-адреса и PID'ы и имена процессов, слушающих порты
tcpdump tcp port 80 — отобразить весь трафик на TCP-порт 80 (обычно — HTTP)
iwlist scan — просканировать эфир на предмет, доступности беспроводных точек доступа
iwconfig eth1 — показать конфигурацию беспроводного сетевого интерфейса eth1

👉 @sysadminof
👍81
This media is not supported in your browser
VIEW IN TELEGRAM
Осторожно данное видео может вызвать психологическое расстройство 😎

Подписывайтесь на канал 👉@tipsysdmin
😱8🔥4👍2🤡2
Команды Linux: IPTABLES (firewall)

iptables -t filter -nL
iptables -nL — отобразить все цепочки правил
iptables -t nat -L — отобразить все цепочки правил в NAT-таблице
iptables -t filter -F или iptables -F — очистить все цепочки правил в filter-таблице
iptables -t nat -F — очистить все цепочки правил в NAT-таблице
iptables -t filter -X — удалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT — позволить входящее подключение telnet'ом
iptables -t filter -A OUTPUT -p tcp --dport http -j DROP — блокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT — позволить «прокидывать» (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG --log-prefix "DROP INPUT" — включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE — включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми IP-адресами.
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 — перенаправление пакетов, адресованных одному хосту, на другой хост

👉 @sysadminof
👍5🔥2
Работает не трогай 😁

Подписывайтесь на канал 👉@tipsysdmin
😁9👏3💩2
NFS \ Rsync \ Backup

NFS сервер:
на сервер ставим apt-get install nfs-kernel-server nfs-common portmap
/usr/allbackup тут все будут бэкапы
nano /etc/exports тут ставим какие нужны каталоги
/usr/allbackup/name_catalog ip_clienta(rw,sync,no_root_squash,no_subtree_check)
применить команду exportfs -a


NFS на клиенте:
apt-get install nfs-common portmap rsync
mkdir /nfs/name_catalog -p
nano /etc/fstab
ip_server:/usr/allbackup/name_catalog /nfs/name_catalog nfs rw,sync,hard,intr 0 0


Создаем каталоги для бэкапа:
mkdir -p /root/backup/{www,etc,sql}


Скрипт для бэкапа:
touch /root/backupwww
----------------------------------------
#!/bin/bash
#[Changes Directory]
cd /root/backup
#[Stamps the file name with a date]
TIMESTAMP=`date +%m-%d-%y-%H%M`
#[DB Backup Scripts]
# DB Name
HOST=localhost
DBNAME="basename"
USER="username"
PASSWORD="password"
DUMP_PATH=/root/backup/sql
BACK_PATH=/root/backup/www
BACK_PATH3=/root/backup/etc
#dbname
mysqldump --opt -c -e -Q -h$HOST -u$USER -p$PASSWORD $DBNAME > $DBNAME.sql
tar czpf $DUMP_PATH/$DBNAME.$TIMESTAMP.tar.gz $DBNAME.sql
rm -f $DBNAME.sql
#Backing up files
tar cvzpf $BACK_PATH/www.$TIMESTAMP.tar.gz --same-owner --exclude=/var/www/site/gruzims/* /var/www
tar cvzpf $BACK_PATH3/etc.$TIMESTAMP.tar.gz /etc
-----------------------------------------


Cкрипт стиралки:
touch /root/delbackup
-----------------------------------------
#!/bin/bash
cd /var/backup/
find /var/backup/mysql -name "*.tar.gz" -mtime +30 |xargs /bin/rm -f {};
find /var/backup/www -name "*.tar.gz" -mtime +30 |xargs /bin/rm -f {};
----------------------------------------


Настройка crontab:
crontab -e
----------------------------------------
0 5 * * * /usr/bin/rsync -a /root/ /nfs/folder синхронизируем бэкапы на сервер nfs
0 2 * * * /root/backupwww скрипт бэкапа
----------------------------------------

👉 @sysadminof
👍6🔥2
Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)

Чтобы получить доступ к файлам в Linux, используются разрешения. Эти разрешения назначаются трем объектам: файлу, группе и другому объекту (то есть всем остальным). В этой статье вы узнаете, как применять разрешения.

Статья начинается с обзора основных понятий, после чего обсуждаются специальные разрешения (Special permissions) и списки контроля доступа (ACL). В конце этой статьи рассматривается настройка прав доступа по умолчанию через umask, а также управление расширенными атрибутами пользователя.

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

https://habr.com/ru/articles/469667/

👉 @sysadminof
👍61🔥1
Ставим пароль на папку \ .htpasswd

1. редактируем конфиг апача httpd.conf
nano /etc/apache2/httpd.conf
<Directory "/var/www/folderpass">
AuthName "Введите пароль"
AuthType Basic
AuthUserFile /var/www/folderpass/.htpasswd файл с паролем
require vasya пользователь
require valid-user
</Directory>

2. Создание самого пароля
htpasswd -c /var/www/folderpass/.htpasswd 123456789

👉 @sysadminof
👍41
Команды Linux для управления файлами

1. cat
Когда команда используется с одним текстовым файлом (вот так: cat путь_к_файлу), она отображает его содержимое в окне терминала. Если указать два файла и больше (cat путь_к_файлу_1 путь_к_файлу_2), она склеит их. А если ввести cat путь_к_файлу_1 > новый_файл — объединит содержимое упомянутых файлов в новый документ.

2. chmod
Позволяет изменять права доступа к файлу. Может пригодиться, если вы хотите внести изменения в системный файл.

3. chown
Изменяет владельца файла или каталога. Следует выполнять с правами суперпользователя. Например, chown user:group ваш_файл изменит владельца и группу файла на заданные.

4. file
Выводит информацию об указанном файле.

5. nano
Открывает простой текстовый редактор. Можно создать новый текстовый файл или открыть существующий: nano путь_к_файлу.

6. rename
Переименовывает один или несколько файлов. Команду можно использовать и для массового переименования по маске.

7. touch
Изменяет дату последнего открытия или модификации указанного файла.

8. tar
Команда для создания или извлечения архивов tar. Например, tar -cvf архив.tar ваши_файлы создаст архив архив.tar из указанных документов, а tar -xvf архив.tar извлечёт их.

9. zip
Аналогичным образом распаковывает и сжимает архивы ZIP. Например, zip -r9 архив. zip папка создаст архив архив. zip, содержащий все файлы и подкаталоги из папки, с максимальным уровнем сжатия.

10. mkdir
Создаёт новую папку в текущей терминальной или в указанной папке: mkdir путь_к_папке.

11. rmdir
Удаляет упомянутую папку.

12. rm
Удаляет файлы. Может работать как с отдельными элементами, так и с группой, соответствующей определённым признакам.

13. cp
Создаёт копию нужного файла в папке терминала: cp путь_к_файлу. Также вы можете указать назначение cp путь_к_файлу путь_для_копии.

14. mv
Перемещает файл из одной папки в другую. Вы можете указать имя для перемещаемого файла. Забавно, но в Linux эта команда может использоваться и для переименования документов. Просто укажите ту же папку, где находится файл, и другое название.

15. find
Поиск файлов по определённым критериям, таким как имя, тип, размер, владелец, дата создания и модификации.

16. grep
Поиск текстовых файлов, содержащих определённые строки. Критерии очень гибко настраиваются.

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

👉 @sysadminof
👍8
Сегодня у меня для вас рекомендация — два полезных канала для системных администраторов:

📚 @it_secur — Литература для системных администраторов и ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.

👨🏻‍💻 @infosecurity — Авторский Telegram канал, посвященный информационной безопасности, OSINT и социальной
👍1
Монтирование файловых систем.

mount /dev/hda2 /mnt/hda2 — монтирует раздел 'hda2' в точку монтирования '/mnt/hda2'. Убедитесь в наличии директории-точки монтирования '/mnt/hda2'
umount /dev/hda2 — размонтирует раздел 'hda2'. Перед выполнением, покиньте '/mnt/hda2'
fuser -km /mnt/hda2 — принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем
umount -n /mnt/hda2 — выполнить размонтирование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске
mount /dev/fd0 /mnt/floppy — монтировать флоппи-диск
mount /dev/cdrom /mnt/cdrom — монтировать CD или DVD
mount /dev/hdc /mnt/cdrecorder — монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)
mount -o loop file.iso /mnt/cdrom — смонтировать ISO-образ
mount -t vfat /dev/hda5 /mnt/hda5 — монтировать файловую систему Windows FAT32
mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share — монтировать сетевую файловую систему Windows (SMB/CIFS)
mount -o bind /home/user/prg /var/ftp/user — «монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user

👉 @sysadminof
👍5
htop и многое другое на пальцах

На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?

Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.

https://habr.com/ru/post/316806/

👉 @sysadminof
👍7
Монтирование и fstab

Монтирование и fstab
Монтирование и пункты меню "Переход"
Конфигурационный файл /etc/fstab

https://help.ubuntu.ru/manual/fstab

👉 @sysadminof
👍4
Типы памяти SIMM, DIMM, DDR, DDR2, DDR3

👉 @sysadminof
👍8