28 апр. 2011 г.

[Linux] Как сделать безопасный рестарт, если компьютер завис

Удерживая кнопки Alt+SysRq (PrintScreen) нажимайте последовательно следующие кнопки: R, E, I, S, U, B. После этого ваш компьютер перезагрузится.
  • R - возвращает управление мышке и клавиатуре.
  • E - посылает сигнал SIGTERM всем запущенным процессам, кроме init. Другими словами производится попытка безопасного (с сохранением данных) завершения всех процессов, кроме процесса init.
  • I - посылает сигнал SIGKILL всем запущенным процессам, кроме init. Это значит, что все процессы кроме init будут уничтожены и данные будут утеряны.
  • S - переписывает все данные из кэш-памяти на жесткий диск, происходит синхронизация, уменьшает шанс повреждения данных.
  • U - перемонтирует все примонтированные файловые системы в режиме только чтение. После использования этого ключа вы можете перезагружать систему нажатием Alt + SysRq + B без ущерба для системы.
  • B - перезагрузка системы. Использование этого ключа без использования других ключей равноценно «холодной» перезагрузке.

[Linux] Fail2Ban

Fail2Ban - простой локальный сервис, который просматривает логи на предмет попытки подоброать пароли к ssh, ftp, http-сервисам. Если такие попытки найдены, fail2ban блокирует ip-адрес источника. Сервис очень гибко настраивается - возможна блокировка через iptables или /etc/hosts.allow (deny), способен оповещать по email, писать лог, сбрасывать блокировку через заданное время и прочее.

Для проверки числа попыток подбора паролей можно воспользоваться командой:
zcat /var/log/auth.log* | grep 'Failed password' | grep sshd | awk '{print $1,$2}' | sort -k 1,1M -k 2n | uniq -c

21 апр. 2011 г.

[Mac] Отключение Swap

Первая команда отключает использование swap-файлов:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Вторая команда удаляет swap-файлы из системного каталога для освобождения места на диске:
sudo rm /private/var/vm/swapfile*

Если понадобится вернуть все обратно:
sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

[Linux] Легкий веб-сервер Nginx



/etc/nginx/sites-available/default

server {
        listen 80;
        server_name  _;
        server_name_in_redirect  off;
      
    if ($host ~* ^(www\.)(.+)) {
        set $rawdomain $2;
        rewrite ^/(.*)$  http://$rawdomain/$1 permanent;
    }
  
        access_log  off;

    location / {
        root   /var/www/$host;
        index  index.html index.htm;
        }

}