Support NTFS-3G Mac OS 10.8 x64NTFS-3G на Mac OS 10.8 x64

Для того чтобы ваша Mac OS смогла не только читать, но и записывать на носители, которые отформатированы в файловой системе NTFS, нам просто необходимо поставить FUSE for OS X. Скачать его вы можете либо с sourceforge.net, либо из раздела ЗАГРУЗКИ. На вопрос о том, какие компоненты будем устанавливать — решительно отметим все галочки(см. картинку). После установки НЕ ТРЕБУЕТСЯ перезагрузка. Смело вставляем внешний носитель «куда надо» и радуемся что наш Mac OS теперь не только читает NTFS, но и может записывать.

osxfuse

Неверное время в логах vsftpd

Тестируя fail2ban для защиты своего сервера Elastix, я обнаружил, что при попытке подбора паролей к vsftpd — fail2ban не блокирует IP адрес, с которого ведется атака. Долго не мог понять в чем может быть причина. Дошел до тестирования регулярного выражения fail2ban:

fail2ban-regex /var/log/vsftpd.log '\[.+\] FAIL LOGIN: Client "\<HOST\>"'

И вот тут я увидел, что время отличается от системного(где были раньше мои глаза? =)) (далее…)

Провека целостности пакетов в Debian / Ubuntu / RHEL / CentOS

linuxconfСегодня я продемонстрирую вам 2 команды  для Debian и Ubuntu, RHEL и CentOS, которые проверят целостность бинарных файлов в нашей Linux-системе. Способ описан в одном из последних номеров журнала Хакер.

Для чего это может понадобится вариантов множество, начиная от взломанной системы(когда какие-то бинарники модифицированы) и заканчивая просто «шаловливыми рученками» =).

Debian / Ubuntu

Установим пакет debsums, который содержит  md5-checksums:

sudo apt-get install -y debsums

Проверить систему можно командой:

sudo debsums -c

Итоговая команда для переустановки всех модифицированных бинарников для Debian-подобных систем будет выглядеть так: (далее…)

Перенос образа из VirtualBox в XEN

vbxenelastixДля того, чтобы перенести ваш образ, созданный в VirtualBox в XEN необходимо сконвертировать VDI-диск в IMG формат. Для этого воспользуемся утилитой VBoxManage, поставляемой вместе с VirtualBox. Поскольку переношу я на MacOS, я воспользуюсь Terminal (поскольку программа консольная).

Итак, перейдите в каталог, где располагается ваш VDI-диск и выполните команду:

VBoxManage internalcommands converttoraw machine-name.vdi newmachine-name.img

После этого в консоли вы увидите сообщение:

Converting image "machine-name.vdi" with size 8908701696 bytes (8496MB) to raw...

Учтите, что процесс может занять длительное время, все зависит от размера вашего VDI-диска. После успешного конвертирования любым удобным способом заливаем newmachine-name.img на сервер с установленным гипервизором XEN.

Далее необходимо будет создать конфигурационный файл. (далее…)

Как сделать резервную копию MySql всех баз данных

Хочу поделится с вами небольшим скриптом для создания резервных копий всех баз данных MySql.

#!/bin/bash

MyUSER="dbuser"
MyPASS="dbpass"
MyHOST="localhost"

MYSQL="$(which mysql)"
MYSQLDUMP="$(which mysqldump)"

#MYSQL="/usr/local/bin/mysql"
#MYSQLDUMP="/usr/local/bin/mysqldump"

CHOWN="$(which chown)"
CHMOD="$(which chmod)"
GZIP="$(which gzip)"

DEST="./db_backup"

MBD="$DEST"
HOST="$(hostname)"
NOW="$(date +"%Y%m%d")"

FILE=""
DBS=""

# DO NOT BACKUP these databases, delemiter SPACE
IGN="information_schema"

# Get all database list first
DBS="$($MYSQL -u $MyUSER -h $MyHOST -p$MyPASS -Bse 'show databases')"

for db in $DBS
do

    skipdb=-1
    if [ "$IGN" != "" ]; then
        for i in $IGN
        do
            [ "$db" == "$i" ] && skipdb=1 || :
        done
    fi

    if [ "$skipdb" == "-1" ] ; then
        MBD="$DEST/$db"    	
        [ ! -d $MBD ] && mkdir -p $MBD || :
        FILE="$MBD/$NOW.sql.gz"
            $MYSQLDUMP --opt -u $MyUSER -h $MyHOST -p$MyPASS $db | $GZIP -9 > $FILE
        FNUM="$(find $MBD/* | wc -l)"
        if [ $FNUM -ge 0 ] ; then
            find $MBD/* -type f -mtime 20 -exec rm -rf {} \;
        fi
    fi

done

Apple Remote Desktop: запуск службы из Terminal (kickstart)

Вы можете использовать kickstart для управления любыми настройками Apple Remote Desktop. Утилита находится по пути:

/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart

Вам понадобятся права администратора системы, чтобы использовать kickstart, поэтому любые действия с утилитой начинаются с фразы «sudo».

Примеры использования kickstart для запуска службы Apple Remote Desktop:

1. Активируем Remote Desktop Sharing, даем доступ для всех пользователей системы, перезапускаем ARD Agent:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all

2. Активируем Remote Desktop Sharing, даем полный доступ пользователю admin, перезапускаем ARD Agent:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -users admin -privs -all -restart -agent -menu

3. Активируем Remote Desktop Sharing, запрещаем доступ всем пользователям:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -off

4. Остановка  ARD Agent:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -agent -stop

5. Деактивация  ARD Agent:

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off

6. ARD 3.2 и выше: дать всем пользователям полный доступ

sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers -privs -all

Создание пользователей в Elastix на php

В этой заметке я покажу как с помощью PHP создать группу в Elastix, добавить в нее пользователя, и назначить права. Собственно сам скрипт:

#!/usr/bin/php -q
<?
include_once("/var/www/html/libs/paloSantoACL.class.php");
include_once("/var/www/html/libs/paloSantoDB.class.php");
include_once("/var/www/html/modules/group_permission/libs/paloSantoGroupPermission.class.php");

$pDB = new paloDB("sqlite3:////var/www/db/acl.db");
$pACL = new paloACL($pDB);

echo "================= CREATING GROUPS=================\n";
$pACL->createGroup('PBXAdmin','NEOPbx Administrator',1);
$idGroupA=$pACL->getIdGroup("PBXAdmin");
echo "ID PBXAdmin:".$idGroupA."\n";

echo "============ SET GROUP PERMISSIONS ============\n";
$pACLGP = new paloSantoGroupPermission();
$arrResources=$pACLGP->loadGroupPermissionsACL($pACL->getIdGroup("administrator"));
$listaPermisosNuevosGrupo = array();
foreach($arrResources as $resource) {
    $listaPermisosNuevosGrupo[]   = $resource["resource_id"];
}
echo "Set permissions for group PBXAdmin: ";
$pACLGP -> saveGroupPermissions("access",$idGroupA,$listaPermisosNuevosGrupo);
echo "OK\n";

echo "============ ADD USERS ============\n";
echo "Creating user 'adminvirt': ";
$pwd=randomPassword();
$pACL->createUser("adminvirt","adminvirt",md5($pwd),"","","");
$pACL->addToGroup($pACL->getIdUser("adminvirt"),$idGroupA);
echo "OK\n";
echo "Password user 'adminvirt': $pwd\n";

echo "============ INSTALLATION COMPLETE ============\n";

function randomPassword() {
    $alphabet = "abcdefghijklmnopqrstuwxyzABCDEFGHIJKLMNOPQRSTUWXYZ0123456789";
    $pass = '';                           //password is a string
    $alphaLength = strlen($alphabet) - 1; //put the length -1 in cache
    for ($i = 0; $i < 20; $i++) {
	$n = mt_rand(0, $alphaLength);    
        $pass = $pass.$alphabet[$n];      //append a random character
    }
    return ($pass); 
}

?>

Вышло новое ядро Linux 3.10

В воскресенье вечером официально вышло новое ядро Linux 3.10. По словам Линуса Торвальдса, ядро получилось самым большим по объему нововведений за последние несколько лет. Первоначально Линус предполагал выпустить еще один релиз-кандидат, но склонился к тому, чтобы выпустить финальный релиз 3.10 — и в своем сообщении он замечает, что новое ядро, как и Linux 3.9, не склонно к проблемам с работоспособностью, и готово к повседневному использованию.

В анонсе RC-версии Торвальдс писал, что обычно он включал список имен людей, которые прислали те или иные части кода, однако на сей раз этот список был столь велик, что его нельзя было привести целиком в одном листе рассылки.

Неполный список внесённых в ядро 3.10 изменений: (далее…)