Linux: user management

Создание пользователя
sudo useradd -m -s /bin/bash weril
sudo passwd weril
sudo login weril - тестово логинемся
sudo passwd -e weril - делаем пароль протухшим (после авторизации пользователя заставят поменять пароль)
sudo vi /etc/ssh/sshd_config - добавляем в AllowUsers в sshd (AllowUsers <username>@*)
sudo /etc/init.d/sshd


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

Linux: использование yum в CentOS (обновление, установка, удаление приложений)

  • Аналог статьи про Ubuntu, Gentoo
  • Поиск драйверов для ядра (напр. bnx2)
  • CentOS работает с .rpm пакетами (так же как и RHEL, Fedora, Suse, Mandriva).
  • Вот тут есть очень хорошая шапаргалка. Ниже только самое используемое, остальное проще взять оттуда.

Обновление всех приложений (сразу и обновляем данные из репозиториев о пакетах и ставим эти пакеты)

sudo yum update

Так же может понадобиться добавление репозитория epel (оффициальный репо fedora).

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

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

Все управляющие программы для роботов по сути демоны/службы - работают в бесконечном цикле.

В CentOS, в отличии от Ubuntu, по умолчанию нет Start-stop-daemon для запуска своих процессов в виде демонов. При его наличии запуск приложения в виде демона решается простой командой (главное чтобы скрипт был исполняемым :)).

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

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

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


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

Linux: ядро (kernel), процессы /proc в ОС и работа с ними (proc, ps, kill, killall, top, lsof)

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

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

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

Использование emerge в Gentoo

Аналог статьи про Ubuntu.

https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet – список необходимых команд, все что ниже там есть.

Логи /var/log/emerge.log

Просмотр

Посмотреть все установленные пакеты.

qlist -I (qlist -Iv с версиями)

Смотрим какие версии приложения установлены и какие активны.

$ eselect postgresql list
Available PostgreSQL Slots
 10 * 10.1
Обновление пакетов и ОС

Очень хорошо и подробно описано тут.

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

Linux/BSD: популярные дистрибутивы (general, network)

  • Популярные дистрибутивы могут выбирать не самую продолжительную (отличную от Long term support, LTS) по поддержке сборку Linux Kernel для своей работы (напр. Fedora, Ubuntu) – чтобы как можно раньше находить баги с новыми версиями. Негативный и позитивный примеры в этом контексте (требовался надежный сервер с заведомо рабочей сборкой ПО):
  • Команды чтобы получить информацию по дистрибутиву и выяснить, какой дистрибутив используется можно посмотреть тут.


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

WhatsApp

Из Wiki интересные тех. подробности (явно устаревшие) о WhatsApp – Erlang, FreeBSD, 96ГБ ОП и до 3 млн. соединений на сервер.

Серверное ПО WhatsApp написано на Erlang; в январе 2012 года сервера WhatsApp использовали ОС FreeBSD, в них было установлено по 96 ГБ оперативной памяти, и каждый мог обрабатывать от 1 до 2,8 млн соединений


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