Linux
3.92K subscribers
369 photos
567 videos
7 files
244 links
Все для системного администратора, новости и информация из мира Linux


По всем вопросам @evgenycarter
Download Telegram
Как заставить пользователя изменить пароль при следующем входе в систему

Существует несколько способов.

Использование команды passwd
sudo passwd --expire [username]

Использование команды chage
sudo chage --lastday 0 [username]

Срок действия паролей
chage -l
Будет выведена следующая информация:
Когда пароль был последний раз изменен;
Дата окончания действия пароля;
Сколько дней осталось до окончания действия пароля;
Когда учетная запись пользователя будет закончена (можно, пожалуйста, далее мы будем говорить «заэкспайрится»?)
Минимальное количество дней между итерацией смены пароля;
Максимальное количество дней между итерацией смены пароля;

Заставляем пользователя менять пароль каждые 90 дней
sudo chage -M 90

Задаем срок жизни учетной записи (до 12 июня 2023)
sudo chage -E 2023-06-12 serg
sudo chage -E 2023-06-12 oleg


Сколько времени на смену пароля?
В примере даем Борису 10 дней на смену пароля с момента как пароль заэкспайрился
sudo chage -I 10 boris

Уведомление о смене пароля заранее
Через 25 дней истекает срок годности пароля Бориса
sudo chage -W 25 boris

Защищаемся от частой смены паролей пользователя
Минимальное количество дней между сменой паролей
sudo chage -m 25 boris

Удалить ограничение в днях
sudo chage -m 0 sergey

👉 @linuxchmod
👍4🔥3
DHCP сервер

DHCP (англ. Dynamic Host Configuration Protocol — протокол динамической настройки узла) — сетевой протокол, позволяющий сетевым устройствам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети TCP/IP. Данный протокол работает по модели «клиент-сервер». Для автоматической конфигурации компьютер-клиент на этапе конфигурации сетевого устройства обращается к так называемому серверу DHCP и получает от него нужные параметры. Сетевой администратор может задать диапазон адресов, распределяемых сервером среди компьютеров. Это позволяет избежать ручной настройки компьютеров сети и уменьшает количество ошибок. Протокол DHCP используется в большинстве сетей TCP/IP.

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

источник

👉 @linuxchmod
👍4🔥2
GoAccess

Анализатор веб-журналов в режиме реального времени, который работает в терминале на системах *nix или через ваш браузер.

Предоставляет быструю и цельную статистику HTTP для системных администраторов, которым требуется визуальный отчет сервера на лету

https://github.com/allinurl/goaccess

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

👉 @linuxchmod
🔥3💯1🏆1
Media is too big
VIEW IN TELEGRAM
Объяснение Traceroute / Демо на Windows, Linux, macOS
Видео на английском

Понимает ли Элон Маск, как работает Интернет? Может ли он правильно объяснить traceroute и tracert? Ну... давайте посмотрим... Я покажу, как несколько операционных систем: Windows 11, MacOS, Linux используют traceroute.

Различия есть, в том числе и в том, что Windows использует ICMP, а macOS и Linux - UDP и ICMP.

0:00 Introduction
0:08 Elon Musk Babylon Bee interview video
1:11 How trace route works
1:40 What is ping?
1:48 Internet Control Message Protocol (ICMP)
2:32 How trace route (tracert) works on Windows
3:50 What is a router?
4:10 Wireshark packet captures
5:21 Time To Live (TTL)
10:18 Domain lookup using Whois
10:55 Time To Live (TTL) (cont'd)
12:10 Trace route phone application
13:43 Submarine cable map
15:22 Traceroute on MacOS
18:34 UDP explanation
19:56 Traceroute on Linux
21:42 Conclusion

источник

👉 @linuxchmod
👍5🔥2🎉1
🛡 Шпаргалка для сисадмина: SSH + Безопасность

🔑 Подключение и передача файлов


# Подключение к серверу
ssh user@host

# Копирование файла
scp file.txt user@host:/path/

# SFTP-сессия
sftp user@host

# Синхронизация директорий
rsync -avz -e ssh /local/path user@host:/remote/path



⚙️ Настройка /etc/ssh/sshd_config


Port 2222 # Меняем порт
PermitRootLogin no # Запрет root-входа
PasswordAuthentication no # Только по ключам
MaxAuthTries 3 # Лимит попыток входа
AllowUsers admin user1 # Белый список пользователей


Перезапуск:


systemctl restart sshd



🔒 Ключи SSH


# Генерация ключа
ssh-keygen -t ed25519 -C "admin@myserver"

# Установка ключа на сервер
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host



🛡 Fail2Ban

Установка и запуск:


apt install fail2ban # Debian/Ubuntu
yum install fail2ban # CentOS/RHEL
systemctl enable --now fail2ban


Конфиг /etc/fail2ban/jail.local:


[sshd]
enabled = true
port = 2222
filter = sshd
maxretry = 3
bantime = 3600



🔥 Firewall

UFW


ufw allow 2222/tcp
ufw enable
ufw status


iptables


iptables -A INPUT -p tcp --dport 2222 -j ACCEPT
iptables -A INPUT -j DROP


firewalld


firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --reload



💡 Советы по безопасности:

1. 🚫 Не пускаем root по SSH
2. 🔑 Только ключи, никаких паролей
3. 📌 Ставим нестандартный порт
4. 🛡 Лимитируем доступ по IP
5. 🚨 Включаем Fail2Ban

👉 @linuxchmod
🔥6👍5🎉1
Работает не трогай 😁

👉 @linuxchmod
😁2🤔2
Вывод cron всех пользователей

Вывод задач в cron для текущего пользователя осуществляется просто:
crontab -l

Список задач другого пользователя (например, oracle) можно посмотреть так:
crontab -u oracle -l

Но иногда требуется посмотреть список задач в cron для всех пользователей, сделать это можно следующей командой:
for user in $(cut -d':' -f1 /etc/passwd); do crontab -u $user -l; done

Если это требуется не единожды, а постоянно, можно написать небольшой скрипт, для этого в файле ~/.bashrc прописываем:
# Цвета вывода
red='\e[0;31m'
RED='\e[1;31m'
green='\e[0;32m'
GREEN='\e[1;32m'
NC='\e[0m'


# Определение функции вывода задач cron всех пользователей
function allcrontab() {
for user in $(cut -d':' -f1 /etc/passwd); do
usercrontab=$(crontab -l -u ${user} 2>/dev/null)
if [ -n "${usercrontab}" ]; then
echo -e "${RED}====== Start crontab for user ${NC}${GREEN}${user}${NC} ${RED}======${NC}"
crontab -l -u ${user} | sed '/ *#/d; /^ *$/d'
echo -e "${RED}====== End crontab for user ${NC}${GREEN}${user}${NC} ${RED}========${NC}\n"
fi
done
}


Выполнив source ~/.bashrc или просто перелогинившись в консоли, можем выполнить команду allcrontab и получить красивый вывод списка задач cron всех пользователей в системе.

👉 @linuxchmod
👍4🔥1
Шпаргалка по SSH-туннелям 💡

• Локальное перенаправление порта (Local port forwarding): доступ к приватным конечным точкам (endpoints), возможно через bastion-хост, как будто это локально открытые порты.
• Удалённое перенаправление порта (Remote port forwarding): публикация локальных портов или адресов в приватной сети наружу через exit-нод.

Оба варианта реализуются с помощью старого доброго SSH 👆

👉 @linuxchmod
👍3🔥1
MikroTik Scripting

Lesson 1 - Development environment
Lesson 2 - Hello World
Lesson 3 (Part 1): Probe 1 - Temperature Checker
Lesson 3 (Part 2): Probe 1 - Temperature Checker
Lesson 04 (Part 1): Probe 2 - Interface Utilization Monitor
Lesson 04 (Part 2): Probe 2 - Interface Utilization Monitor
Lesson 05 (Part 1): Probe 3 - Web Monitor
Lesson 05 (Part 2): Probe 3 - Web Monitor
Lesson 06 (Part 1): Telegram Reporter
Lesson 06 (Part 2): Telegram Reporter
Lesson 06 (Part 3): Telegram Reporter

источник

👉 @linuxchmod
👍3🔥1