Категорії
Misc, staff, other Security

rssh – разрешить scp/sftp, но не ssh

rssh is a restricted shell for use with OpenSSH, allowing only scp and/or sftp. It now also includes support for rdist, rsync, and cvs. For example, if you have a server which you only want to allow users to copy files off of via scp, without providing shell access, you can use rssh to do that. For a list of platforms on which rssh is known to work, see the Platform Support Page.

Небольшой пример использования можно найти здесь

Категорії
Misc, staff, other

Генераторы трафика

Scapy is a powerful interactive packet manipulation program. It is able to forge or decode packets of a wide number of protocols, send them on the wire, capture them, match requests and replies, and much more. It can easily handle most classical tasks like scanning, tracerouting, probing, unit tests, attacks or network discovery (it can replace hping, 85% of nmap, arpspoof, arp-sk, arping, tcpdump, tethereal, p0f, etc.).

 

Категорії
Misc, staff, other

Путь сетевого пакета

Высокоуровневый путь, по которому проходит пакет от прибытия до приёмного буфера сокета выглядит так:

Категорії
DataBases Misc, staff, other

[mysql] Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used

ERROR 1144 (42000): Illegal GRANT/REVOKE command; please consult the manual to see which privileges can be used

Такая ошибка появляется, когда вы пытаетесь дать права на объект, на который права не могут распространяться. К примеру, нельзя дать права execute, create temporary table на конкретную таблицу. То есть, сначала сверяемся с мануалом , и, если всё правильно, пробуем по одному удалять “гранты” в надежде найти проблемный.

Категорії
FreeBSD Linux Misc, staff, other OpenBSD Solaris

Гарантированный запуск единичной копии скрипта

Принцип ее работы прост: для каждого процесса она создает файл и вешает на него lock. Как только процесс завершается, лок пропадает. Лок также пропадает в случае внезапной смерти процесса, и нет необходимости проверять pid на существование или делать другие телодвижения. Если процесс запускается повторно, а лок-файл еще не освободился, работа скрипта прерывается и выдается сообщение в STDERR.

Категорії
FreeBSD Linux Misc, staff, other Solaris

Заморозка пакета/порта при обновлении

FreeBSD

Чтобы порт не обновлялся, в /etc/make.conf добавить

.if ${.CURDIR:M*devel/tevent}
IGNORE=yes
.endif

ПС. Подсмотрено в рассылке по freebsd.

А для пакетов так

Заморозить:

# pkg lock <pkg-name>

Разморозить:

# pkg unlock <pkg-name>

Solaris

Заморозить:

# pkg freeze <package-name>

Разморозить:

# pkg unfreeze <package-name>

Linux (Debian)

Заморозить:

# apt-mark hold <package-name>

Разморозить:

# apt-mark unhold <package-name>

Категорії
Misc, staff, other Solaris

Solaris: установка пакета, когда идёт ругань на swap

Пробуем ставить:

# pkg update -v network/zabbix_agent
pkg: update failed (linked image exception(s)):
A 'zone1' operation failed for child 'zone:zone1' with an unexpected
exception:
[Errno 28] No space left on device

смотрим dmesg:

tmpfs: [ID 518458 kern.warning] WARNING: /tmp: File system full, swap space limit exceeded

Категорії
Misc, staff, other WWW

[nginx] proxy_pass и hostname

Если хотите, что бы proxy_pass правильно передавал hostname, нужно дополнительно это указать среди проксируемых заголовков:

proxy_pass       http://upstream;
proxy_set_header Host            $host;

В противном случае nginx будет выставлять имя hostname по имени апстрима.

Категорії
Misc, staff, other

rclone – rsync для облаков

Состоялся выпуск утилиты rclone 1.35, которая представляет собой аналог rsync, предназначенный для копирования и синхронизации данных между локальной системой и различными облачными хранилищами, такими как Google Drive, Amazon Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Cloudfiles, Google Cloud Storage и Yandex Files. Код проекта написан на языке Go и распространяется под лицензией MIT.

Категорії
Misc, staff, other

netcat get http unix socket

Если нужно выполнить get-запрос к unix-сокету, подойдёт такой вариант:

(printf "GET / HTTP/1.1\r\nHost: domain.com\r\n\r\n"; sleep 1) | nc -U /var/run/nginx.sock

либо через socat:

(printf "GET / HTTP/1.1\r\nHost: domain.com\r\n\r\n"; sleep 1) | socat unix-connect:/var/run/nginx.sock stdio

ПС. sleep нужен для того, что бы не закрывать соединение до получения ответа из сокета. В противном случае вы ничего не увидите.

Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP