Новые курсы в Специалист :)

После окончания курса по Linux вы в виде бонуса приобретаете новые специальности 🙂

Обратите внимание на список успешно пройденных курсов 🙂 Поскольку плохо видно, напишу что там написано. OS UNIX (Linux) Adminstration Fundamental 2002/2003, Exel 2002/2003, Outlook 2002/2003. Internet)

Вообщем секретариат опять облажался.

Кстати, большинство слушателей этого курса просили не исправлять сертификат и забрали эту бумажку в первозданном виде. И это правильно! Нормальные сертификаты об окончании получить легко. А вот ЧУДО сертификаты — это большая редкость.

Сорри, за плохое качество фото, пользовался камерой встроенной в телефон :(.

Vista ГАВНО!!!!!!!!!!

Решил вернуть Висту на ноутбук. С буком поставлялся фирменный диск с родной вистой.

VISTA С ЭТОГО ДИСКА НЕ УСТАНАВЛИВАЕТСЯ!!!!
ОНА ЗАВИСАЕТ В ПРОЦЕССЕ УСТАНОВКИ!!!!

Скажите мне, почему они это ГАВНО продают нам за деньги?????

Предвидя вопросы, зачем я ее хотел поставить обратно, отвечу — мне потребовалось запускать некоторые программы, которые к сожалению есть только для винды (ДА ЭТО ИГРЫ, а куда без них). Поэтому я решим 60 гигов выделить под висту, а остальное оставить для Linux.

З.Ы. Я ее все таки установил, но как это все через жопу сделано…

Вот блин…

Как я уже писал, я снес Висту с ноута. На днях решил поставить туда ХР. Бананас… половины драйверов нет. Под Висту есть, а под ХР нет. Вот козлы… Хотя бы сначала вылизали свою долбанную Висту, и только потом переводили на нее железо.

Зато я нашел дистрибутив, который без напильника ставится на мой комп — Open SuSE 10.3. Все работает «из коробки». Все просто замечательно.

Политехнический музей.

На выходные ходили всей семьёй в Политехнический музей. Наконец то я показал сыну на каких компах в молодости работал папка 🙂
И еще — я впервые увидел куб на ферритовых кольцах в сборе! Сбылась мечта идиота 🙂 Для тех кто не знает — это такая RAM была у старинных компьютеров.
Очень понравился раздел посвящённый фотографии и микроскопам. Надо бы Хартова туда заслать, что бы глянул какие правильные фотоаппараты были! 🙂

Контроллер домена Samba + LDAP

Проблема: необходимо добавить Windows машину в домен на стороне виндовой машины. Т.е. не средствами LDAP на стороне Linux. По умолчанию это можно сделать только с правами пользователя root. Но заводить root в LDAP — это чертовски неправильно.

Задача: дать возможность другому, не root, пользователю заводить машины в домен.

Решение.

В конфигурационном файле smb.conf в глобальной секции добавляем параметр:


enable privileges = yes

Перечитываем конфигурационный файл:


smbcontrol smbd reload-config

Смотрим какие привилегии доступны. Пользователь admin — это пользователь в LDAP с правами администратора.


ows:~ # net -U admin rpc rights list
Password:
SeMachineAccountPrivilege Add machines to domain
SeTakeOwnershipPrivilege Take ownership of files or other objects
SeBackupPrivilege Back up files and directories
SeRestorePrivilege Restore files and directories
SeRemoteShutdownPrivilege Force shutdown from a remote system
SePrintOperatorPrivilege Manage printers
SeAddUsersPrivilege Add users and groups to the domain
SeDiskOperatorPrivilege Manage disk shares
ows:~ #

Смотрим чего может пользователь admin:


ows:~ # net -U admin rpc rights list admin
Password:
ows:~ #

Как видите — ничего не может :(. Разрешим ему добавлять машины в домен.


ows:~ # net -U admin rpc rights grant admin SeMachineAccountPrivilege
Password:
Successfully granted rights.
ows:~ #

И снова глянем, что ему разрешено:


ows:~ # net -U admin rpc rights list admin
Password:
SeMachineAccountPrivilege
ows:~ #

Все, при добавлении машины в домен можно использовать пользователя admin.

Источник информации: Re: [Samba] PDC + LDAP, cannot access LDAP when not root (SOLVED)

Vmware server

Поставил на серваке vmware server, в котором крутятся два Linux и один Windows Server. Позитивная штука! Особенно понравилась возможность удалённого подключения к серверу и доступ к виртуальным машинам.
Ну и, как это не странно звучит, vmware server абсолютно бесплатный 🙂

Скрипт для инициализации Wi-Fi

Не понравилось мне как реализована система инициализации Wi-Fi в Slackware. Поэтому написал свой собственный скрипт. Он расчитан только на один тип Wi-Fi контроллера. Если вы используете другой контроллер, перепишите функции загрузки и выгрузки модуля.

Основной скрипт wireless.sh:

#! /bin/bash

#(c) 2007 Artur Kryukov
# License GNU GPL v2.

# Директория в которой должны находится файлы *.net
# с описанием Wi-Fi сетей.
CONF_DIR=/usr/local/etc/wireless.sh
PATH=/bin:/sbin:/usr/sbin

# !!!!!! ВНИМАНИЕ !!!!!
# Эта функция поддерживает загрузку ТОЛЬКО модуля ipw3945
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
load_module()
{
remove_module
modprobe ipw3945
sleep 1
/sbin/ipw3945d --quiet
}

remove_module()
{
echo remove
if [ -f /var/run/ipw3945d.pid ] ; then
/sbin/ipw3945d --kill
fi
if lsmod | grep ipw3945 > /dev/null 2>&1; then
modprobe -r ipw3945
fi
}

usage()
{
echo "Usage: wireless.sh start - start Wi-Fi network"
echo " wireless.sh stop - stop Wi-Fi network"
echo " wireless.sh --help - this screen"
echo "----"
echo "Current config directory:"
echo "$CONF_DIR"
echo "Current config files:"
echo "$(ls ${CONF_DIR}*.net)"
}

start()
{
load_module
sleep 4
for I in $CONF_DIR/*.net
do
. $I
# Проверка на наличие такой сети
if iwlist scan 2> /dev/null | grep $SSID > /dev/null 2>&1
then
# Если сеть есть, настраиваем ее
# Проверяем метод аутентификации
case $MET in
share)
set_share $IF $SSID $KEY $KEYN $DHCP
;;
WPA)
set_wpa $IF $SSID $CONF_WPA_FILE $DHCP
;;
esac
fi
done
}

stop()
{
remove_module
}

# Настройка сети с прешареными ключами
# $1 - сетевой интерфейс
# $2 - SSID
# $3 - KEY
# $4 - номер ключа
# $5 - DHCP
set_share()
{
iwconfig $1 essid $2 key $3 [$4] key open key [$4]
if [ $5 = "yes" ]; then
# Пытаемся получить IP по DHCP
if route -n | grep ^0.0.0.0 ; then
route del default
fi
sleep 2
dhcpcd $1
fi
}

# Настройка сети с поддержкой WPA
# $1 - сетевой интерфейс
# $2 - SSID
# $3 - CONF_WPA_FILE
# $4 - DHCP
set_wpa()
{
# Проверим наличие конфигурационного файла
if [ ! -f $3 ]; then
echo "Cant't finde config file this WPA attributes!!!"
echo "File $3 not found"
exit 21
fi
iwconfig $1 essid $2
wpa_supplicant -i$1 -c$3 -Dwext -B
if [ $4 = "yes" ]; then
if route -n | grep ^0.0.0.0 ; then
route del default
fi
# Пытаемся получить IP по DHCP
sleep 10
dhcpcd $1
fi
}

case $1 in
start) start ;;
stop) stop ;;
--help) usage ;;
*) usage ;;
esac

Для работы скрипта требуется определить директорию, в которой будут находиться конфигурационные файлы, описывающие Wi-Fi сети. Для определения такой директории используется параметр

CONF_DIR=/usr/local/etc/wireless.sh

В нашем случае необходимо создать директорию /usr/local/etc/wireless.sh, в которой будут размещаться конфигурационные файлы с расширением *.net и *.wpa

Пример конфигурации open Wi-Fi.

Создаём файл /usr/local/etc/wireless.sh/My.net, следующего содержания:

SSID=Ngrade
MET=share
KEY=1a2d-4cd7-8901-a2aa-5abc-aa1a-23
KEYN=3
IF=eth1
DHCP=yes # or no

При помощи переменных указываем параметры:

  • MET — share или wpa
  • KEY — ключ шифрования (о формате записи ключей смотрите man iwconfig)
  • KEYN — номер используемого ключа
  • IF — имя интерфейса
  • DHCP — yes — получить атрибуты интерфейса по DHCP, no — не получать по DHCP. В последнем случае придётся в командной строке самостоятельно задавать параметры интерфейса.

Пример конфигурации WPA соединения.

В этом случае необходимо создать два файла: *.net и *.wpa
Net файл (Ngrade_wpa.net):

SSID=Ngrade_WPA
MET=WPA
IF=eth1
CONF_WPA_FILE=/root/bin/Ngrade_wpa.wpa
DHCP=yes # or no

Параметр CONF_WPA_FILE определяет путь к файлу, описывающему параметры WPA соединения. Я не стал выдумывать свой формат для этого файла, я взял стандартный формат файла программы wpa_supplicant.

Файл Ngrade_wpa.wpa:

ctrl_interface=/var/run/wpa_supplicant
# By default, only root (group 0) may use wpa_cli
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1

# WPA protected network, supply your own ESSID and WPAPSK here:
network={
scan_ssid=0
ssid="Ngrade_WPA"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="TheSecretPassword"
}

Работать со скриптом просто:

  • wireless.sh start — запускает сеть, Причём скрипт самостоятельно ищет одну из описанных сетей, и подключает её.
  • wireless.sh stop — выгружает модуль.

По поводу stop, тут я еще не до конца разобрался что к чему, поэтому просто выгружаю модуль. Хотя, наверное надо сначала гасить интерфейс. Вообщем я еще поколдую над этим вопросом.