2 полезных канала для системных администраторов:
📚 @it_secur — Литература для системных администраторов и ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.
👨🏻💻 @infosecurity — Самый крупный ресурс в Telegram, посвященный информационной безопасности, OSINT и Cоциальной Инженерии.
📚 @it_secur — Литература для системных администраторов и ИБ специалистов любого уровня и направления. Читайте, развивайтесь, практикуйте.
👨🏻💻 @infosecurity — Самый крупный ресурс в Telegram, посвященный информационной безопасности, OSINT и Cоциальной Инженерии.
Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки
Скорей всего, матерым системным администраторам статья будет не очень интересна. В первую очередь она ориентирована на новичков, а также на людей, которые столкнулись с подобной проблемой — необходимостью удалить огромное количество файлов из одной папки в ОС Linux (Debian в моем случае), а также с закончившимся местом на диске, когда df -h выдает что почти 30% свободно.
https://habr.com/ru/articles/152193/
👉 @sysadminof
Скорей всего, матерым системным администраторам статья будет не очень интересна. В первую очередь она ориентирована на новичков, а также на людей, которые столкнулись с подобной проблемой — необходимостью удалить огромное количество файлов из одной папки в ОС Linux (Debian в моем случае), а также с закончившимся местом на диске, когда df -h выдает что почти 30% свободно.
https://habr.com/ru/articles/152193/
👉 @sysadminof
👍3
HDD Блок
Что такое блок?
Будьте внимательны, когда речь заходит о «блоках».
Обычно при этом имеется в виду размер блока,
предусмотренный в ядре Linux, — 1024 байт (в частности при работе с командами df, du и fdisk).
HDD Цилиндр
Цилиндр (8 225 280 байт, около 7,8 Мбайт) — размер цилиндра равен произведению размера дорожки на количество читающих головок.
При этом самым большим жестким дискам, используемым в Linux, присваивается условное количество головок, равное 255, таким образом,
размер цилиндра оказывается равен 255 - 32 256 ~ 8 225 280 байт.
Количество 255 является максимально возможным, так как для ноля предусмотрено всего 8 бит.
Чтобы узнать количество цилиндров, необходимо разделить мощность жесткого диска на размер цилиндра.
Как правило, на жестком диске размером 1 Тбайт имеется 1 000 000 000 000 = 212 байт места, что составляет около 121 600 цилиндров.
(Производители жестких дисков охотнее считают в десятичной системе, а не в двоичной, так как мощности кажутся «больше».
На самом деле, если считать в двоичной системе, то в одном терабайте будет 240 = 1 099 511 627 776 байт,
то есть примерно на 10 % «больше», чем в десятичном терабайте!)
Раньше эти термины отражали физическую архитектуру жесткого диска.
Нынешняя архитектура уже давно не такая — даже у традиционных жестких дисков, не говоря уже о SSD.
Так или иначе, в некоторых программах для секционирования, в частности в fdisk, расчеты по-прежнему проводятся в этих единицах.
Разумеется, при работе с Linux границы цилиндров не имеют никакого значения;
раздел может начинаться прямо в центре цилиндра (даже условного)!
HDD Дорожка
Дорожка (32 256 байт) — на всех современных жестких дисках дорожка состоит из 63 секторов, то есть из 63 * 512 = 32 256 байт.
Первоначально по количеству секторов можно было узнать, сколько их на одной окружности жесткого диска.
Сегодня это количество является условным. Максимально допустимое значение — 63,
так как уже в течение многих лет на хранение количества секторов отводится всего 6 бит.
HDD Сектор
Сектор (512 байт) — мельчайшей единицей жесткого диска является сектор, состоящий из 512 байт.
На некоторых новых жестких дисках размер сектора увеличен и составляет 4 Кбайт,
но из соображений совместимости размер сектора и далее объявляется равным 512 байт.
👉 @sysadminof
Что такое блок?
Будьте внимательны, когда речь заходит о «блоках».
Обычно при этом имеется в виду размер блока,
предусмотренный в ядре Linux, — 1024 байт (в частности при работе с командами df, du и fdisk).
HDD Цилиндр
Цилиндр (8 225 280 байт, около 7,8 Мбайт) — размер цилиндра равен произведению размера дорожки на количество читающих головок.
При этом самым большим жестким дискам, используемым в Linux, присваивается условное количество головок, равное 255, таким образом,
размер цилиндра оказывается равен 255 - 32 256 ~ 8 225 280 байт.
Количество 255 является максимально возможным, так как для ноля предусмотрено всего 8 бит.
Чтобы узнать количество цилиндров, необходимо разделить мощность жесткого диска на размер цилиндра.
Как правило, на жестком диске размером 1 Тбайт имеется 1 000 000 000 000 = 212 байт места, что составляет около 121 600 цилиндров.
(Производители жестких дисков охотнее считают в десятичной системе, а не в двоичной, так как мощности кажутся «больше».
На самом деле, если считать в двоичной системе, то в одном терабайте будет 240 = 1 099 511 627 776 байт,
то есть примерно на 10 % «больше», чем в десятичном терабайте!)
Раньше эти термины отражали физическую архитектуру жесткого диска.
Нынешняя архитектура уже давно не такая — даже у традиционных жестких дисков, не говоря уже о SSD.
Так или иначе, в некоторых программах для секционирования, в частности в fdisk, расчеты по-прежнему проводятся в этих единицах.
Разумеется, при работе с Linux границы цилиндров не имеют никакого значения;
раздел может начинаться прямо в центре цилиндра (даже условного)!
HDD Дорожка
Дорожка (32 256 байт) — на всех современных жестких дисках дорожка состоит из 63 секторов, то есть из 63 * 512 = 32 256 байт.
Первоначально по количеству секторов можно было узнать, сколько их на одной окружности жесткого диска.
Сегодня это количество является условным. Максимально допустимое значение — 63,
так как уже в течение многих лет на хранение количества секторов отводится всего 6 бит.
HDD Сектор
Сектор (512 байт) — мельчайшей единицей жесткого диска является сектор, состоящий из 512 байт.
На некоторых новых жестких дисках размер сектора увеличен и составляет 4 Кбайт,
но из соображений совместимости размер сектора и далее объявляется равным 512 байт.
👉 @sysadminof
👍8
👍6
Подборка Telegram каналов для программистов
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.
https://t.me/sysadminoff Новости Линукс Linux
https://t.me/tikon_1 Новости высоких технологий, науки и техники💡
https://t.me/mir_teh Мир технологий (Technology World)
https://t.me/rust_lib Полезный контент по программированию на Rust
https://t.me/golang_lib Библиотека Go (Golang) разработчика
https://t.me/itmozg Программисты, дизайнеры, новости из мира IT.
https://t.me/phis_mat Обучающие видео, книги по Физике и Математике
https://t.me/php_lib Библиотека PHP программиста 👨🏼💻👩💻
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста
1C разработка 📌
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++
https://t.me/cpp_geek Учим C/C++ на примерах
Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus
Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus
https://t.me/java_geek Учим Java на примерах
GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных
Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков
https://t.me/frontend_sovet Frontend советы, примеры и практика!
https://t.me/React_lib Подборки по React js и все что с ним связано
Разработка игр 📌
https://t.me/game_devv Все о разработке игр
Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT
Чат программистов📌
https://t.me/developers_ru
Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов
https://t.me/books_reserv Книги для программистов
БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning
Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию
QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика
Шутки программистов 📌
https://t.me/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности
https://t.me/xakep_1 Статьи из "Хакера"
Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
Английский 📌
https://t.me/UchuEnglish Английский с нуля
Математика 📌
https://t.me/Pomatematike Канал по математике
Excel лайфхак📌
https://t.me/Excel_lifehack
👍2❤1
Файловые системы \ FS \ sfdisk \ e2label \ mkfs \
предоставляющая возможность журналирования с целью
сохранения данных и возможность быстро перезагружать
систему после некорректного завершения ее работы
не поддерживающая функцию журналирования
iso9660 - появилась из файловой системы High Sierra (была стандартом для компакт-дисков)
и может содержать расширения Rock Ridge для обеспечения возможности
использования длинных имен файлов и других функций (полномочия доступа
к файлу, права собственности и ссылки)
эффективной работы с USB-накопителями
с большими файловыми системами и средами с высокой производительностью
носители MS-DOS, например старые дискеты
в файловые системы Windows (с двойной загрузкой или на сменных носителях)
Slackware и других операционных системах Linux
данных и используемая на многих Live CD Linux
когда оперативная память временно недоступна
и SunOS от корпорации Sun Microsystems
если файловым системам нужно обмениваться файлами
с более старыми системами Windows (с двойной загрузкой или на сменных носителях)
размер которой может расширяться до многих терабайт данных,
а скорость передачи данных в которой исчисляется гигабайтами в секунду
(например в /etc/fstab монтирование по метке)
поиск поврежденных блоков
и добавляет разделу метку
umount /mnt/image - отмонтмровать /mnt/image
👉 @sysadminof
ext3
- Наиболее распространенная файловая система Linux, предоставляющая возможность журналирования с целью
сохранения данных и возможность быстро перезагружать
систему после некорректного завершения ее работы
ext2
- Файловая система, предшествующая ext3, не поддерживающая функцию журналирования
iso9660 - появилась из файловой системы High Sierra (была стандартом для компакт-дисков)
и может содержать расширения Rock Ridge для обеспечения возможности
использования длинных имен файлов и других функций (полномочия доступа
к файлу, права собственности и ссылки)
jffs2
- Журналируемая файловая система для флэш-носителей, созданная для эффективной работы с USB-накопителями
jfs
- Файловая система, используемая на IBM в OS/2 Warp и настроенная на работу с большими файловыми системами и средами с высокой производительностью
msdos
- Может использоваться для монтирования файловых систем на устаревшие носители MS-DOS, например старые дискеты
ntfs
- Может быть полезна, когда есть необходимость передавать файлы в файловые системы Windows (с двойной загрузкой или на сменных носителях)
reiserfs
- Журналируемая файловая система, иногда используемая по умолчанию на SUSE, Slackware и других операционных системах Linux
squashfs
- Запакованная файловая система, предназначенная только для чтения данных и используемая на многих Live CD Linux
swap
- Используется на разделах подкачки для временного хранения данных, когда оперативная память временно недоступна
ufs
- Популярная файловая система операционных систем Solaris и SunOS от корпорации Sun Microsystems
vfat
- Расширенная файловая система FAT (VFAT), которая полезна, если файловым системам нужно обмениваться файлами
с более старыми системами Windows (с двойной загрузкой или на сменных носителях)
xfs
- Журналируемая файловая система для среды с высокой производительностью, размер которой может расширяться до многих терабайт данных,
а скорость передачи данных в которой исчисляется гигабайтами в секунду
sfdisk
- программа для работы с таблицей разделов жесткого дискаsfdisk -d /dev/sda > sda-table
- Выполняет резервное копирование таблицы разбиения в файл sfdisk /dev/sda < sda-table
- Восстанавливает таблицу разбиения из файлаsfdisk -d /dev/sda | sfdisk /dev/sdb
- Копирует таблицу разбиения с одного диска на другойfdisk
- программа для работы с таблицей разделов жесткого диска (устарела)e2label /dev/sda2
- посмотреть метку второго разделаe2label /dev/sda2 my_lable_name
- назначить метку my_lable_name второму разделуfindfs LABEL=my_lable_name
- ищем раздел по метке (например в /etc/fstab монтирование по метке)
mkfs -t ext3 /dev/sdb1
- Создает файловую систему ext3 на разделе sba1mkfs -t ext3 -v -c /dev/sdb1
- Расширенная команда, выполняющая также поиск поврежденных блоков
mkfs.ext3 -с /dev/sdb1
- Создает файловую систему ext3 на разделе sba1mkfs.ext3 -с -L mypartition /dev/sdb1
- Создает файловую систему ext3 на разделе sba1 и добавляет разделу метку
dd if=/dev/scd0 of=name_file.iso bs=2048
- извлекаем образ iso с cd/dvd dd if=/dev/zero of=my_disk count=2048000
- Создаем заполненный нулями файл объемом 1 Гбайтdu -sh my_disk
- Проверяем размер виртуальной файловой системыmkfs -t ext3 my_disk
- Создаем файловую систему на mydiskmkdir /mnt/image
- создаем пустой каталогmount -o loop my_disk /mnt/image
- монтируем my_disk в пустой каталог cd /mnt/image
- переходим в каталог /mnt/imagemkdir test
- создаем каталог test cp /etc/hosts
- копируем /etc/hosts в текущий каталогcd
.. - переходим на уровень выше (выходим из текущего каталога)umount /mnt/image - отмонтмровать /mnt/image
👉 @sysadminof
👍7👎3❤1
iptables
Управление iptables
Включение ip forward (трафик меджу интерфейсами):
tools:
Очистка таблицы filter:
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
Очистка таблицы nat:
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
Очистка таблицы mangle:
iptables -t mangle -F PREROUTING
Очистка правил подробно:
Чистим ветки логов:
iptables -F undef_in
iptables -F undef_out
iptables -F undef_fw
iptables -X undef_in
iptables -X undef_out
iptables -X undef_fw
Закрываем всё:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Включаем NAT:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Разрешаем принимать трафик на loopback-интерфейсе:
iptables -A INPUT eth2 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i lo -o eth1 -j ACCEPT$IPT -A FORWARD -i eth2 -o lo -j ACCEPT
iptables -A FORWARD -i lo -o eth2 -j ACCEPT$IPT -A FORWARD -i eth1 -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Разрешение исходящего трафика:
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A OUTPUT -o eth2 -j ACCEPT
Разрешить соединения, которые инициированы изнутри
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Следующими правилами разрешаем коннекты на наш сервер из вне:
iptables -A INPUT -p udp --dport 33434:33523 -j ACCEPT - Разрешить traceroute
iptables -A INPUT -p tcp --dport 22 -j ACCEPT - Разрешаем SSH
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT - Разрешаем webmin
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT - Доступ на http
Проброс RDP на сервер терминалов:
iptables -t nat -A PREROUTING -p tcp --dport 3389 -i eth0 -j DNAT --to 192.168.0.100
iptables -A FORWARD -i eth0 -d 192.168.0.100 -p tcp --dport 3389 -j ACCEPT
Выход из локалки на почтовые сервера
iptables -A FORWARD -d smtp.mail.ru -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A FORWARD -d smtp.masterhost.ru -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT
👉 @sysadminof
Управление iptables
service iptables stop
- Остановкаservice iptables start
- Запускservice iptables restart
- Перезагрузкаservice iptables save
- Сохранить правила брандмауэра (CentOS / RHEL / Fedora Linux)iptables-save
- Сохранить правилаiptables-save > /root/my.active.firewall.rules
- Сохранить правила (в других дистрибутивах)Включение ip forward (трафик меджу интерфейсами):
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p
tools:
iptables -L
- вывести список правилiptables -S
- вывести список правилiptables -L -n -v
- вывести список правил (-n не резолвить IP) (-v Отображение подробной информации)iptables -L -n -v --line-numbers
- просмотр правил с номером строкиiptables -L INPUT -n -v
- просмотра INPUTiptables -L OUTPUT -n -v --line-numbers
- просмотра OUTPUTiptables -L INPUT -n --line-numbers
- просмотр правил с номером строки в INPUTiptables -L OUTPUT -n --line-numbers
- просмотр правил с номером строки в OUTPUTiptables -L OUTPUT -n --line-numbers | less
- просмотр правил с номером строки в OUTPUT перенаправив вывод в lessiptables -L OUTPUT -n --line-numbers | grep 8.8.8.8
- просмотр правил с номером строки в OUTPUT грепаем 8.8.8.8Очистка таблицы filter:
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
Очистка таблицы nat:
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
Очистка таблицы mangle:
iptables -t mangle -F PREROUTING
Очистка правил подробно:
iptables -F
- Удаление всех правил (flushing)iptables -X
- Удаление цепочкиiptables -t nat -F
- Выбрать таблицу и удалить правилаiptables -t nat -X
- Выбрать таблицу и удалить правилаiptables -t mangle -F
- Выбрать таблицу и удалить правилаiptables -t mangle -X
- Выбрать таблицу и удалить правилаiptables -P INPUT ACCEPT
- Установить политику по умолчаниюiptables -P OUTPUT ACCEPT
- Установить политику по умолчаниюiptables -P FORWARD ACCEPT
- Установить политику по умолчаниюЧистим ветки логов:
iptables -F undef_in
iptables -F undef_out
iptables -F undef_fw
iptables -X undef_in
iptables -X undef_out
iptables -X undef_fw
Закрываем всё:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
Включаем NAT:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Разрешаем принимать трафик на loopback-интерфейсе:
iptables -A INPUT eth2 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i lo -o eth1 -j ACCEPT$IPT -A FORWARD -i eth2 -o lo -j ACCEPT
iptables -A FORWARD -i lo -o eth2 -j ACCEPT$IPT -A FORWARD -i eth1 -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
Разрешение исходящего трафика:
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A OUTPUT -o eth2 -j ACCEPT
Разрешить соединения, которые инициированы изнутри
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Следующими правилами разрешаем коннекты на наш сервер из вне:
iptables -A INPUT -p udp --dport 33434:33523 -j ACCEPT - Разрешить traceroute
iptables -A INPUT -p tcp --dport 22 -j ACCEPT - Разрешаем SSH
iptables -A INPUT -p tcp --dport 10000 -j ACCEPT - Разрешаем webmin
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT - Доступ на http
Проброс RDP на сервер терминалов:
iptables -t nat -A PREROUTING -p tcp --dport 3389 -i eth0 -j DNAT --to 192.168.0.100
iptables -A FORWARD -i eth0 -d 192.168.0.100 -p tcp --dport 3389 -j ACCEPT
Выход из локалки на почтовые сервера
iptables -A FORWARD -d smtp.mail.ru -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A FORWARD -d smtp.masterhost.ru -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT
👉 @sysadminof
👍13❤2
iptables
Заворачиваем трафик на порт сквида:
iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081,3128,9090 -s 0/0 -d 0/0 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p udp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081,3128,9090 -s 0/0 -d 0/0 -j REDIRECT --to-port 3128
Если прокси не установлена,либо нет нужды в использовании SQUID, то просто форвардим нужные порты:
iptables -A FORWARD -o eth0 -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081,3128,9090 -j ACCEPT
Прячем NAT:
iptables -t mangle -A PREROUTING -j TTL --ttl-set 64
iptables -t mangle -A PREROUTING -j RETURN
Все что не разрешено, но ломится отправим в цепочку undef:
iptables -N undef_in
iptables -N undef_out
iptables -N undef_fw
iptables -A INPUT -i vlan2 -j undef_in
iptables -A OUTPUT -j undef_out
iptables -A FORWARD -j undef_fw
Логировать все из цепочки undef:
iptables -A undef_in -j LOG --log-level info --log-prefix "--- IN --- DROP "
iptables -A undef_in -j DROP
iptables -A undef_out -j LOG --log-level info --log-prefix " --- OUT --- DROP "
iptables -A undef_out -j DROP
iptables -A undef_fw -j LOG --log-level info --log-prefix "--- FW --- DROP "
iptables -A undef_fw -j DROP
Антибрут ssh:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
После этого хосты, пытающиеся перебирать пароль, будут блокироваться:
все IP из черного списка будут фиксироваться в файле /proc/net/ipt_recent/SSH
Разрешаем некоторые ICMP-сообщения
https://ru.wikipedia.org/wiki/ICMP - icmp-type
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 11 -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 12 -j ACCEPT
open firewall:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT # Небольшая защита от DoS
iptables -A INPUT -p all -m state --state RELATED,ESTABLISHED -j ACCEPT # Разрешаем уже установленные соединения
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT # Разрешаем 22 порт
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT # Разрешаем 80 порт
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 3 -j ACCEPT # Разрешаем некоторые ICMP-сообщения
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 11 -j ACCEPT # Разрешаем некоторые ICMP-сообщения
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 12 -j ACCEPT # Разрешаем некоторые ICMP-сообщения
iptables -A INPUT DROP
👉 @sysadminof
Заворачиваем трафик на порт сквида:
iptables -t nat -A PREROUTING -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081,3128,9090 -s 0/0 -d 0/0 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -p udp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081,3128,9090 -s 0/0 -d 0/0 -j REDIRECT --to-port 3128
Если прокси не установлена,либо нет нужды в использовании SQUID, то просто форвардим нужные порты:
iptables -A FORWARD -o eth0 -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081,3128,9090 -j ACCEPT
Прячем NAT:
iptables -t mangle -A PREROUTING -j TTL --ttl-set 64
iptables -t mangle -A PREROUTING -j RETURN
Все что не разрешено, но ломится отправим в цепочку undef:
iptables -N undef_in
iptables -N undef_out
iptables -N undef_fw
iptables -A INPUT -i vlan2 -j undef_in
iptables -A OUTPUT -j undef_out
iptables -A FORWARD -j undef_fw
Логировать все из цепочки undef:
iptables -A undef_in -j LOG --log-level info --log-prefix "--- IN --- DROP "
iptables -A undef_in -j DROP
iptables -A undef_out -j LOG --log-level info --log-prefix " --- OUT --- DROP "
iptables -A undef_out -j DROP
iptables -A undef_fw -j LOG --log-level info --log-prefix "--- FW --- DROP "
iptables -A undef_fw -j DROP
Антибрут ssh:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 --rttl --name SSH -j DROP
iptables -A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -j ACCEPT
После этого хосты, пытающиеся перебирать пароль, будут блокироваться:
все IP из черного списка будут фиксироваться в файле /proc/net/ipt_recent/SSH
Разрешаем некоторые ICMP-сообщения
https://ru.wikipedia.org/wiki/ICMP - icmp-type
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 11 -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 12 -j ACCEPT
open firewall:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT # Небольшая защита от DoS
iptables -A INPUT -p all -m state --state RELATED,ESTABLISHED -j ACCEPT # Разрешаем уже установленные соединения
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT # Разрешаем 22 порт
iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT # Разрешаем 80 порт
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 3 -j ACCEPT # Разрешаем некоторые ICMP-сообщения
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 11 -j ACCEPT # Разрешаем некоторые ICMP-сообщения
iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 12 -j ACCEPT # Разрешаем некоторые ICMP-сообщения
iptables -A INPUT DROP
👉 @sysadminof
👍7
Forwarded from GitHub Сообщество
Tipi - персональный домашний сервер для всех
Настройка одной командой, установка любимых приложений одним щелчком мыши. ✨
https://github.com/meienberger/runtipi
👉 @Githublib
Настройка одной командой, установка любимых приложений одним щелчком мыши. ✨
https://github.com/meienberger/runtipi
👉 @Githublib
🔥5👍2
Погрузитесь в мир 🐳 DevOps и станьте devops-инженером за рекордные 4 месяца с курсом от Merion Academy!
Все, кому интересно, получат 🚀 2 бесплатных урока, где расскажут, кто такой DevOps-инженер, какие инструменты использует, куда и как развивает карьеру. Познакомитесь с Docker и контейнирезацией и закрепите знания.
🎁 Бонус – интенсив по развитию карьеры, где HR-эксперты расскажут как создавать сильные резюме и проходить собеседования.
📜 Плюс гайд по командам Docker.
🕺У ребят одна из самых доступных цен, которая в разы ниже, чем в других онлайн-школах, а еще есть рассрочка для тех, кто хочет учиться сейчас и платить по чуть-чуть ежемесячно.
👉 Регистрируйтесь по ссылке чтобы забирать бесплатные уроки, интенсив по карьере и гайд.
Merion Academy – это экосистема доступного образования, которая включает в себя:
📍IT-базу знаний с полезными статьями.
📍Youtube-канал ,где простыми словами говорят о сложных вещах.
📍 IT-академию, где обучат востребованным направлениям по самым доступным ценам.
Все, кому интересно, получат 🚀 2 бесплатных урока, где расскажут, кто такой DevOps-инженер, какие инструменты использует, куда и как развивает карьеру. Познакомитесь с Docker и контейнирезацией и закрепите знания.
🎁 Бонус – интенсив по развитию карьеры, где HR-эксперты расскажут как создавать сильные резюме и проходить собеседования.
📜 Плюс гайд по командам Docker.
🕺У ребят одна из самых доступных цен, которая в разы ниже, чем в других онлайн-школах, а еще есть рассрочка для тех, кто хочет учиться сейчас и платить по чуть-чуть ежемесячно.
👉 Регистрируйтесь по ссылке чтобы забирать бесплатные уроки, интенсив по карьере и гайд.
Merion Academy – это экосистема доступного образования, которая включает в себя:
📍IT-базу знаний с полезными статьями.
📍Youtube-канал ,где простыми словами говорят о сложных вещах.
📍 IT-академию, где обучат востребованным направлениям по самым доступным ценам.
👍3👎1
Полезные советы для написания bash скриптов в Linux
Всегда используйте комментарии в скриптах
Комментарии начинаются со знака решетки — #.
Настраивайте завершение выполнения скрипта при ошибке
Так бывает, что bash может продолжать выполнять скрипт, несмотря на сбои в выполнении определенной команды.
Можно использовать следующую команду для выхода из скрипта в случае ошибке:
# let script exit if a command fails
set -o errexit
# OR
set -e
ls -xyz # command with error
echo "you will not see this message"
Настраивайте завершение выполнения скрипта при обнаружении необъявленной переменной
Также bash может попытаться использовать переменную, не объявленную ранее в коде сценария. Чтобы bash завершал выполнение скрипта в такой ситуации — добавьте в код следующую команду:
#let script exit if an unsed variable is used
set -o nounset
# OR
set -u
echo $ThisVariableAreNotDefined
echo "you will not see this message"
Используйте двойные кавычки для ссылки на переменные
Использование двойных кавычек при обращении к переменным предотвращает разбиение строк при наличии в них пробелов на слова, а также — другие возможные сбои.
Используйте функции в скриптах
Скрипт, который разбит на функции, становится более модульным. Такой код проще прочитать и понять, чем длинную последовательность предписаний.
Используйте знак = для сравнения строк
Во многих популярных языках программирования сравнение на равенство проверяется двойным знаком «равно» ==. Однако в сценариях командной строки Линукс для этого используется одинарное равно =.
Используйте знак $ вместо знаков “
Существует несколько способов подстановки команд. Вы можете использовать обратные апострофы
user=`echo “qwerty” `
user1=$(echo “abcde”)
Объявляйте статические переменные с опцией readonly
Статическая переменная — это переменная, которая не меняется. Встроенная команда readonly используется для пометки переменных, доступных только для чтения (то есть — неизменяемых). Это подразумевает, что изменить ее в будущем уже будет нельзя.
Используйте верхний регистр для названий переменных среды, нижний — для названий пользовательских переменных
Все переменные среды bash, такие как HOSTNAME, BASH, GROUPS и другие — следует писать заглавными буквами. Тогда как для именования пользовательских переменных лучше использовать строчные буквы. В коде большого скрипта при использовании множества различных переменных высок риск назвать некоторые из них одинаково, что может привести к неожиданным или даже критическим ошибка.
Выполняйте отладку скриптов
👉 @sysadminof
Всегда используйте комментарии в скриптах
Комментарии начинаются со знака решетки — #.
Настраивайте завершение выполнения скрипта при ошибке
Так бывает, что bash может продолжать выполнять скрипт, несмотря на сбои в выполнении определенной команды.
Можно использовать следующую команду для выхода из скрипта в случае ошибке:
# let script exit if a command fails
set -o errexit
# OR
set -e
ls -xyz # command with error
echo "you will not see this message"
Настраивайте завершение выполнения скрипта при обнаружении необъявленной переменной
Также bash может попытаться использовать переменную, не объявленную ранее в коде сценария. Чтобы bash завершал выполнение скрипта в такой ситуации — добавьте в код следующую команду:
#let script exit if an unsed variable is used
set -o nounset
# OR
set -u
echo $ThisVariableAreNotDefined
echo "you will not see this message"
Используйте двойные кавычки для ссылки на переменные
Использование двойных кавычек при обращении к переменным предотвращает разбиение строк при наличии в них пробелов на слова, а также — другие возможные сбои.
Используйте функции в скриптах
Скрипт, который разбит на функции, становится более модульным. Такой код проще прочитать и понять, чем длинную последовательность предписаний.
Используйте знак = для сравнения строк
Во многих популярных языках программирования сравнение на равенство проверяется двойным знаком «равно» ==. Однако в сценариях командной строки Линукс для этого используется одинарное равно =.
Используйте знак $ вместо знаков “
Существует несколько способов подстановки команд. Вы можете использовать обратные апострофы
command
для заключения команды в них, либо же использовать конструкцию $(command). На сегодняшний день рекомендуется использовать именно второй вариант с использованием $, что подтверждается рекомендациями shellcheck, инструментом для анализа кода скриптов. Например:user=`echo “qwerty” `
user1=$(echo “abcde”)
Объявляйте статические переменные с опцией readonly
Статическая переменная — это переменная, которая не меняется. Встроенная команда readonly используется для пометки переменных, доступных только для чтения (то есть — неизменяемых). Это подразумевает, что изменить ее в будущем уже будет нельзя.
Используйте верхний регистр для названий переменных среды, нижний — для названий пользовательских переменных
Все переменные среды bash, такие как HOSTNAME, BASH, GROUPS и другие — следует писать заглавными буквами. Тогда как для именования пользовательских переменных лучше использовать строчные буквы. В коде большого скрипта при использовании множества различных переменных высок риск назвать некоторые из них одинаково, что может привести к неожиданным или даже критическим ошибка.
Выполняйте отладку скриптов
👉 @sysadminof
👍7
Как настроить сеть в Ubuntu: пошаговая инструкция
Как только вы установили операционную систему, нужно подключить компьютер или сервер к интернету. В Ubuntu настройки сети нужно задавать самостоятельно. Пользователи, которые делают это впервые, часто сталкиваются с трудностями. В этой статье мы рассмотрим несколько способов подключения и основные параметры.
https://telegra.ph/Kak-nastroit-set-v-Ubuntu-poshagovaya-instrukciya-09-13
👉 @sysadminof
Как только вы установили операционную систему, нужно подключить компьютер или сервер к интернету. В Ubuntu настройки сети нужно задавать самостоятельно. Пользователи, которые делают это впервые, часто сталкиваются с трудностями. В этой статье мы рассмотрим несколько способов подключения и основные параметры.
https://telegra.ph/Kak-nastroit-set-v-Ubuntu-poshagovaya-instrukciya-09-13
👉 @sysadminof
❤5👍4
ssh — sshfs монтирование шары
SSHFS - монтирование файловых систем средствами ssh
apt-get install sshfs - установка
mkdir /mnt/docs - создаем папку для монтирования
sshfs user@server.com:/var/docs /mnt/docs - монтируем фс используя sshfs
fusermount -u /var/docs - демонтируем удаленную папку
монтирование шары sshfs /etc/fstab:
ИМЯ@ИП:/REMOTE/DIR /LOCAL/MOUNT fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/ИМЯ/.ssh/id_rsa,allow_other,default_permissions,uid=ИД,gid=ИД 0 0
sshfs для windows:
Dokan SSHFS - монтирование удаленного сетевого хранилища при помощи ssh для Windows
https://github.com/dokan-dev/dokany/releases/tag/v1.1.0.2000
sshfs — монтирование удаленной папки подробней:
Fuse - это модуль ядра (недавно он был принят в официальную ветку 2.6), позволяющий непривилегированным пользователям монтировать различные файловые системы.
Sshfs - это программа, созданная самим автором fuse, которая позволяет монтировать удаленные папки или файловые системы, используя ssh.
Суть проста - удаленная папка монтируются в папку локальной файловой системы.
После этого все операции над этой папкой производятся, как если бы это была обычная локальная папка, с той только разницей, что файлы перемещаются через ssh в фоновом режиме.
После установки программы остается только добавить пользователя, которому мы хотим предоставить право на монтирование файловых систем через ssh, в группу fuse
# usermod -G -a fuse user1
или
# adduser user1 fuse
или вручную отредактировав файл /etc/group.
Также необходимо, чтобы был загружен модуль fuse:
# modprobe fuse
Если мы планируем использовать fuse и sshfs регулярно, то нужно добавить fuse в файл /etc/modules.
sshfs user1@remote_server:/tmp ~/remote_folder - смонтировать удаленную папку с помощью sshfs
fusermount -u ~/remote_folder - мы можем отмантировать ее
Если мы постоянно работаем с этой папкой, то можно добавить ее в таблицу /etc/fstab.
При этом она будет автоматически монтироваться при загрузки системы,
/tmp /home/user1/remote_folder/ fuse defaults,auto 0 0
👉 @sysadminof
SSHFS - монтирование файловых систем средствами ssh
apt-get install sshfs - установка
mkdir /mnt/docs - создаем папку для монтирования
sshfs user@server.com:/var/docs /mnt/docs - монтируем фс используя sshfs
fusermount -u /var/docs - демонтируем удаленную папку
монтирование шары sshfs /etc/fstab:
ИМЯ@ИП:/REMOTE/DIR /LOCAL/MOUNT fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/ИМЯ/.ssh/id_rsa,allow_other,default_permissions,uid=ИД,gid=ИД 0 0
sshfs для windows:
Dokan SSHFS - монтирование удаленного сетевого хранилища при помощи ssh для Windows
https://github.com/dokan-dev/dokany/releases/tag/v1.1.0.2000
sshfs — монтирование удаленной папки подробней:
Fuse - это модуль ядра (недавно он был принят в официальную ветку 2.6), позволяющий непривилегированным пользователям монтировать различные файловые системы.
Sshfs - это программа, созданная самим автором fuse, которая позволяет монтировать удаленные папки или файловые системы, используя ssh.
Суть проста - удаленная папка монтируются в папку локальной файловой системы.
После этого все операции над этой папкой производятся, как если бы это была обычная локальная папка, с той только разницей, что файлы перемещаются через ssh в фоновом режиме.
После установки программы остается только добавить пользователя, которому мы хотим предоставить право на монтирование файловых систем через ssh, в группу fuse
# usermod -G -a fuse user1
или
# adduser user1 fuse
или вручную отредактировав файл /etc/group.
Также необходимо, чтобы был загружен модуль fuse:
# modprobe fuse
Если мы планируем использовать fuse и sshfs регулярно, то нужно добавить fuse в файл /etc/modules.
sshfs user1@remote_server:/tmp ~/remote_folder - смонтировать удаленную папку с помощью sshfs
fusermount -u ~/remote_folder - мы можем отмантировать ее
Если мы постоянно работаем с этой папкой, то можно добавить ее в таблицу /etc/fstab.
При этом она будет автоматически монтироваться при загрузки системы,
/tmp /home/user1/remote_folder/ fuse defaults,auto 0 0
👉 @sysadminof
GitHub
Release 1.1.0.2000 · dokan-dev/dokany
This is a minor version that required an update of the dokan kernel and library.
This version fix a lock issue on the kernel and also implement a new feature of Windows 10 RS1 (creator update).
The...
This version fix a lock issue on the kernel and also implement a new feature of Windows 10 RS1 (creator update).
The...
👍8❤1
Cron — лучшие практики
Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.
Rus https://habr.com/ru/companies/skillfactory/articles/656423/
Original https://blog.sanctum.geek.nz/cron-best-practices/
👉 @sysadminof
Планировщик задач cron(8) существует с 7 версии Unix, а его синтаксис crontab(5) знаком даже тем, кто нечасто сталкивается с системным администрированием Unix. Это стандартизированный, довольно гибкий, простой в настройке и надёжно работающий планировщик, которому пользователи и системные пакеты доверяют управление важными задачами. Материалом о лучших практиках работы с cron делимся к старту курса по Fullstack-разработке на Python.
Rus https://habr.com/ru/companies/skillfactory/articles/656423/
Original https://blog.sanctum.geek.nz/cron-best-practices/
👉 @sysadminof
👍5
Выставление/изменение полномочий на файлы \ chmod \ chown \
👉 @sysadminof
ls -lh
- просмотр полномочий на файлы и директории в текущей директорииchmod go-rwx directory1
- отобрать у группы и всех остальных все полномочия на директорию directory1.chown user1 file1
- назначить владельцем файла file1 пользователя user1chown -R user1 directory1
- назначить рекурсивно владельцем директории directory1 пользователя user1chgrp group1 file1
- сменить группу-владельца файла file1 на group1chown user1:group1 file1
- сменить владельца и группу владельца файла file1find / -perm -u+s
- найти, начиная от корня, все файлы с выставленным SUIDchmod u+s /bin/binary_file
- назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.chmod u-s /bin/binary_file
- снять SUID-бит с файла /bin/binary_file.chmod g+s /home/public
- назначить SGID-бит директории /home/public.chmod g-s /home/public
- снять SGID-бит с директории /home/public.chmod o+t /home/public
- назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцамchmod o-t /home/public
- снять STIKY-бит с директории /home/public👉 @sysadminof
👍1
Подборка облачных хранилищ и файлообменников
Передача больших файлов другим пользователям чаще всего осуществляется через облачные хранилища и файлообменники. Принцип работы прост: вы загружаете необходимые данные на один из таких сервисов и предоставляете получателям доступ к ним, предоставив ссылку. Далее представлена подборка известных инструментов для передачи крупных файлов.
https://bookflow.ru/podborka-oblachnyh-hranilishh-i-fajloobmennikov/
👉 @sysadminof
Передача больших файлов другим пользователям чаще всего осуществляется через облачные хранилища и файлообменники. Принцип работы прост: вы загружаете необходимые данные на один из таких сервисов и предоставляете получателям доступ к ним, предоставив ссылку. Далее представлена подборка известных инструментов для передачи крупных файлов.
https://bookflow.ru/podborka-oblachnyh-hranilishh-i-fajloobmennikov/
👉 @sysadminof
👍2
Очистка системы \ временные файлы \ кеш обновлений \
!!! Будь осторожен можно сломать дистрибутив
👉 @sysadminof
!!! Будь осторожен можно сломать дистрибутив
sudo apt-get autoremove -y
- удаление не нужных файлов после установки ПОsudo apt-get autoclean -y
- удалить скачанные файлы архивовsudo apt-get clean -y
- удалить старые скачанные файлы архивовsudo apt-get install -f -y
- решение проблем с установкой по👉 @sysadminof
👍7