Установка и использование Dante в качестве сервера Socks5 на Ubuntu 16

Множество вариантов проще описанного ниже – деплой своего прокси/VPN сервера это вариант не для простых пользователей.

В свете огромной вероятности блокировки telegram в ближайшее время возник вопрос в установке и использовании Dante в качестве сервера Socks5 на Ubuntu 16.

Большая часть инфы нагло взята из офф.

Читать дальше

Демонизация приложений, делаем демон приложения в CentOS (Debian), работа с сервисами systemctl

  • systemctl (system control) без запущенных аргументов выдает список сервисов/демонов, запущенных в системе
root@serv:~# systemctl
UNIT LOAD ACTIVE SUB DESCRIPTION 
proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point 
sys-devices-pci0000:00-0000:00:07.1-ata2-host1-target1:0:0-1:0:0:0-block-sr0.device loaded active plugged VMware_Virtual_IDE_CDROM_Drive 
sys-devices-pci0000:00-0000:00:10.0-host2-target2:0:0-2:0:0:0-block-sda-sda1.device loaded active plugged Virtual_disk 1 
sys-devices-pci0000:00-0000:00:10.0-host2-target2:0:0-2:0:0:0-block-sda-sda2.device


Читать дальше

Поднимаем TFTP сервер на CentOS 7

Пошаговый гайд

0) Отключаем SELinux если раньше это не сделали и перезагружаем сервер (если уверены что он нам не нужен или не умеем с ним работать). Если без отключения для заливки файлов должна помочь строка setsebool -P tftp_anon_write 1

sudo vi /etc/selinux/config
SELINUX=disabled

1) Загружаем сервер, клиент и xinetd (без него никак, через него работает tftpd)

sudo yum install tftp tftp-server xinetd

2) Редактируем файл с конфигурацией /etc/xinetd.d/tftp.

Читать дальше

Скрипт на событие логина по SSH

Пришла идея создания скрипта для логгирования события подключения по SSH в таблицу SQL и уведомления о подключении определенных пользователей определенным пользователям:
  • писать всем пользователям о подключении их самих – сами пользователи знают, когда заходят и заход тогда, когда ты это делать не мог – есть повод обеспокоиться
  • админу писать о подключении всех пользователей, имеющих права на sudo
В целом логгирование в linux встроено по умолчанию – утилита last показывает полный лог авторизаций с момента создания файла /var/log/wtmp и продолжительность pts, а в lastlog есть информация о последнем подключении.


Читать дальше

Linux, BSD: использование screen

Хорошая шапаргалка

screen в основном используют для создания нескольких сессий, в том числе на одном экране с использованием split функционала (смотри ниже) и быстрого переключения между ними (по сути аналог tab’ов в secureCRT).

Кроме того у сессий screen есть существенное (для кого то единственно значимое) преимущество по сравнению с “обычными ssh-сессиями” (звучит криво, но это user experience):

    • независимость от активности ssh-сессии по причине отключения хоста/проблем в сети между сервером и хостом/etc (хотя только для задачи отвязки shell от ssh сессии проще использовать nohup, mosh, atd now с игнорированием SIGHUP для процесса)
    • возможность подключения к сессии без привязки к ssh-сессии – на работе поставил скрипт, а из дома, открыв окно, посмотрел результат

У screen есть мощные альтернативы (напр.

Читать дальше

Ruby простая отправка писем

Простая отправка писем в ruby без вложений:
#!/usr/bin/env ruby
#coding: utf-8
 
require 'net/smtp'
 
from = 'login@exmpl.com'
to = [ "mail_to@exmpl.com", "mail_to2@exmpl.com" ]
theme = 'Subj!'
text= "Msg"
message = ""
message<<"From: admin <#{from}>\n"
message<<"To: #{to}\n"
message<<"Subject: #{theme}\n"
message<<text
Net::SMTP.start('smtp.exmpl.com', 25, 'exmpl.ru',


Читать дальше

Email разные заметки (mta, mda, msa, mua, pop, imap; mutt, mail, ssmt; Cisco ESA, Outlook)

Терминология, протоколы, описание работы
  • Mail Transfer Agent (MTA) – это mail server (mail router, mail exchanger or MX, SMTP gateway), MTA (почтовый сервер) отвечает за передачу сообщений от отправителя получателю. В DNS для обозначения MTA для доменов используется запись MX. Для MX записи так же можно задать значение preference для нескольких записей, если компания использует несколько mail серверов (отказоустойчивость и балансировка).


Читать дальше

Работа с утилитой join, ошибка join is not sorted (данные файла не отсортированы)

Join – полезная утилита для объединения нескольких текстовых файлов по какому-то общему идентификатору. Название намекает на аналогию с функцией join в SQL.

~$ cat >1
asd 1
bsd 2
csd 3
~$ cat >2
asd test
bsd testtest
csd testtesttest

~$ join 1 2
asd 1 test
bsd 2 testtest
csd 3 testtesttest
Delimeter

join -t”;” – задаем разделитель для csv.

Читать дальше

Linux: ядро (kernel), процессы /proc в ОС и работа с ними (proc, ps, lsof, nice, kill, killall, top, lscpu, interrupts, smp irq affinity, isolcpus, taskset, cpuset/cset shield), утилизация процессора (user/system/idle/iowait/softirq)

  • kernel parameters /proc/cmdline (можно редактировать конфигом GRUB)
  • kernel parameters modification /etc/sysctl.confВ Linux все рассматривается как файлы, включая устройства (/dev) и процессы (/proc).
  • Про перевод процессов в background в Linux подробнее в hotkeys (jobs, fg, bg, ctrl+z)

Процессы запускаются самой системой для функционирования системы, такие процессы называют background/daemon process.

Читать дальше