Virtuozzo Infrastructure Platform. Хранилище данных плюс платформа виртуализации Денис Силаков # vinfra node list # vinfra node join vinfra – h vinfra node join – h # disk-image-create vm centos – t qcow2 – o centos # DIB_RELEASE=trusty disk-image-create – o ubuntu-trusty.qcow2 vm ubuntu # DIB_DEV_USER_PWDLESS_SUDO=1 DIB_DEV_USER_PASSWORD=123 disk-image-create devuser vm centos – t qcow2 – o centos ----------------------------------------------------------------------------------------- Загрузочный носитель на основе GRUB2 for Windows Игорь Орещенков C:\> diskpart DISKPART> list disk DISKPART> select disk 9 DISKPART> detail disk DISKPART> clean DISKPART> list disk DISKPART> create partition efi size=1904 DISKPART> create partition primary size=1904 DISKPART> format FS=FAT32 LABEL="BOOTDISK" QUICK DISKPART> set id=EF DISKPART> select disk 9 DISKPART> select partition 1 DISKPART> create partition primary size=1935 DISKPART> set id=17 DISKPART> create partition primary size=3740 DISKPART> set id=17 DISKPART> exit C:\> dd.exe --list C:\> dd.exe if=Mageia-6-i586-DVD.iso of=Ошибка! Недопустимый объект гиперссылки. bs=1M --progress C:\> dd.exe if=Mageia-6.1-LiveDVD-Xfce-i586-DVD.iso of=Ошибка! Недопустимый объект гиперссылки. bs=1M --progress C:\> grub-install.exe --boot-directory=R:\ --target=i386-PC //./PHYSICALDRIVE9 C:\> grub-install.exe --boot-directory=R:\ --efi-directory=R:\ --removable --target=i386-efi C:\> grub-install.exe --boot-directory=R:\ --efi-directory=R:\ --removable --target=x86_64-efi grub> set pager=1 grub> insmod gettext grub> insmod all_video grub> insmod gfxterm grub> loadfont "unicode" grub> set lang=ru grub> set gfxmode=auto grub> terminal_output gfxterm grub> cat --dos /grub/help.txt insmod test set pcfg="$prefix/$grub_platform.cfg" if [ -e $pcfg ]; then source $pcfg fi submenu "НазваниеРазделаМеню" { menuentry "НазваниеПунктаМеню" { ... последовательность команд ... } } initrd16 (loop0)/ntpasswd/initrd.cgz (loop0)/ntpasswd/scsi.cgz menuentry "Mageia 6.1 Live DVD" { search --set=root --fs-uuid 2018-10-01-18-55-31-00 syslinux_configfile -i /isolinux/isolinux.cfg } menuentry "Mageia 6 Installation DVD" { search --set=root --fs-uuid 2017-07-15-07-08-52-00 syslinux_configfile -i /isolinux/isolinux.cfg } grub> ls -l ----------------------------------------------------------------------------------------- Служебная программа CMPivot Сергей Болдин сущность | оператор1 | оператор2 | ... OS | where (version like '10.%') Ccmlog('Scripts') | where (LogText like 'Execut%') Service | where name like 'WinRM' File('%windir%\\system32\\cmd.exe') | where (version > '8%') CCMRecentlyUsedApplications | summarize dcount(Device) by ProductName | top 10 by dcount_ | render barchart OperatingSystem | summarize count() by Caption | render piechart LogicalDisk | summarize sum(FreeSpace) by Device | order by sum_ desc | render columnchart ----------------------------------------------------------------------------------------- Внедряем смарт-карты в домене Станислав Шпак <% If bNewThanNT4 And "Enterprise"=sServerType Then %> Request a certificate for a smart card on behalf of another user by using the smart card certificate enrollment station.
Note: You must have an enrollment agent certificate to submit a request on behalf of another user.
<%End If%> ----------------------------------------------------------------------------------------- Контролируем изменения в конфигурационных файлах Владимир Легеза $ hg --version $ id $ echo >~/.hgrc< [ui] > editor = vim > fallbackencoding = UTF-8 > username = John Doe EOF $ su # id # who am i # hg init / # chmod 700 /.gh # ls -ld /.hg # cp hglock /usr/bin/ # cat >>/.hg/hgrc< [hooks] > port-commit = hglock -C > post-add = hglock -A > EOF # echo `^` >/.hgignore # hg add /etc/inet/hosts # hg add /usr/local/apache2/conf/httpd.conf # hg add /var/spool/cron/crontabs/root # hg status # cat /.hg/locksfile # hg commit -m "Init" # cat /.hg/locksfile # hg locate # hg root # hglock /etc/inet/hosts # hglock /etc/inet/hosts # cd /etc/inet # sed –e "s/oldalias/newalias/" hosts > /tmp/1 # mv /tmp/1 hosts # hg status # hg commit –m “first change” /etc/inet/hosts # cd /etc/inet # hg log hosts # hg diff -r 0 -r 1 # rm hosts # hg log hosts # hg cat -r 1 hosts > hosts # cat hosts ----------------------------------------------------------------------------------------- Исследование уязвимостей с помощью Metasploit Framework Павел Троицкий rpm -ihv *.rpm yum install ... # service httpd stop # /etc/rc.d/init.d/httpd stop # iptables -I INPUT -i eth0 -p tcp –sport 1024:65535 –dport 8081 -j ACCEPT # iptables -I OUTPUT-o eth0 -p tcp –dport 1024:65535 –sport 8081 -j ACCEPT ----------------------------------------------------------------------------------------- Исследование уязвимостей с помощью Metasploit Framework Павел Троицкий #ZONE TYPE OPTIONS IN OUT # OPTIONS OPTIONS fw firewall net ipv4 loc ipv4 #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST loc net ACCEPT all all REJECT info #SOURCE DEST POLICY LOG LEVEL LIMIT:BURST loc net ACCEPT net all DROP info all all REJECT info #ZONE INTERFACE BROADCAST OPTIONS net th0 detect dhcp,tcpflags,routefilter,nosmurfs,logmartians loc eth1 detect tcpflags,nosmurfs #INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK eth0 eth1 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK # PORT PORT(S) DEST LIMIT GROUP DNS/ACCEPT $FW net SSH/ACCEPT loc $FW Ping/ACCEPT loc $FW Ping/DROP net $FW ACCEPT $FW loc icmp ACCEPT $FW net icmp #ACTION SOURCE DEST PROTO DEST SOURCE RATE USER/ # PORT(S) PORT(S) LIMIT GROUP PARAM - - udp 53 PARAM - - tcp 53 #ACTION SOURCE DEST ICQ/LOG:info loc:!192.168.0.10 net ICQ/REJECT loc:!192.168.0.10 net # shorewall start # shorewall check # shorewall show #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # PORT PORT(S) DEST REDIRECT loc 3128 tcp www - !192.168.0.2 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE # PORT PORT(S) DEST LIMIT DNAT net loc:192.168.0.2 tcp http - - 3/sec:10 #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # PORT PORT(S) DEST DNAT- loc net:1.2.3.4 tcp 25 - 192.168.0.1 ROUTER_IP=192.168.0.1 SMTP=$(get_current_smtp) #ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL # PORT PORT(S) DEST DNAT- loc net:$SMTP tcp 25 - $ROUTER_IP ----------------------------------------------------------------------------------------- Доступ к данным на основе хранимых процедур в веб-приложениях Антон Гришан /* Выбрать все города в стране с заданным кодом, * динамическая генерация запроса */ $countryCode = 'RU'; $result = mysqli_query ($db, "SELECT Cities.name FROM Countries, Cities WHERE Cities.countryId = Countries.id AND Countries.code = '".mysqli_real_escape_string($db, $countryCode)."'"); DELIMITER $$ CREATE PROCEDURE `getCities`(countryCode char(2)) BEGIN SELECT Cities.name FROM Countries, Cities WHERE Cities.countryId = Countries.id AND Countries.code = countryCode; END$$ DELIMITER ; CALL `getCities`('RU'); /* Выбрать все города в стране с заданным кодом, * вызов хранимой процедуры */ $countryCode = 'RU'; mysqli_multi_query($db, "CALL getCities('".mysqli_real_escape_string($db, $countryCode)."');"); getCities('RU'); // Обрабатываем полученный результат (массив данных) var_dump($result); ?> db = new mysqli($host, $login, $password, $dbName, $port); $this->db->set_charset($charset); } public function __call($storeProcedureName, $params) { $quotedParams = array(); foreach($params as $param) { array_push($quotedParams, $param === null ? 'NULL' : '\''.$this->db->escape_string($param).'\''); } $sql = 'CALL `'.$storeProcedureName.'`('.implode(',', $quotedParams).');'; $this->db->multi_query($sql); $results = array(); do { if ($result = $this->db->store_result()) { $rows = array(); while ($row = $result->fetch_assoc()) { array_push($rows, $row); } $result->close(); array_push($results, $rows); } } while ($this->db->more_results() && $this->db->next_result()); return($results); } } ?> $db->loadUser($email, $password);. ----------------------------------------------------------------------------------------- Обманчивая простота языка BF: генезис или мутация? Алексей Вторников ,. [[][[[]]]] [[][]]] [[[][]] >+++++++++[<++++++++>-]<.>+++++++ [<++++>-]<+.+++++++..+++.[-]>++++ ++++ [<++++>-]<.>+++++++++++[<++ +++>-]<.>++++++++[<+++>-]<.+++.-- ----.--------.[-] >++++++++[<++++> -]<+.[-]++++++++++. ----------------------------------------------------------------------------------------- Программная реализация решения головоломки «Господин S и господин P» по Арсаку в 1С Кирилл Ткаченко Перем ЗмеяЛестница; Перем ГПСЧ; Процедура Инициализация() Перем НомерИгры; НомерИгры = 1; ЗмеяЛестница = Новый Соответствие(); ЗмеяЛестница.Вставить(4, 14); ЗмеяЛестница.Вставить(9, 31); ЗмеяЛестница.Вставить(17, 7); ЗмеяЛестница.Вставить(20, 38); ЗмеяЛестница.Вставить(28, 84); ЗмеяЛестница.Вставить(40, 59); ЗмеяЛестница.Вставить(51, 67); ЗмеяЛестница.Вставить(54, 34); ЗмеяЛестница.Вставить(62, 19); ЗмеяЛестница.Вставить(63, 81); ЗмеяЛестница.Вставить(64, 60); ЗмеяЛестница.Вставить(71, 91); ЗмеяЛестница.Вставить(87, 24); ЗмеяЛестница.Вставить(93, 73); ЗмеяЛестница.Вставить(95, 75); ЗмеяЛестница.Вставить(99, 78); ГПСЧ = Новый ГенераторСлучайныхЧисел(НомерИгры); КонецПроцедуры; Функция Ход(НомерИгрока, НомерПоля) Перем Очки; Перем НомерПоляТек; Перем НомерПоляСлед; НомерПоляТек = НомерПоля; Очки = ГПСЧ.СлучайноеЧисло(1, 6); Сообщить("Игрок № " + НомерИгрока + ", на поле № " + НомерПоляТек + ", очки " + Очки); Если НомерПоляТек + Очки > 100 Тогда Сообщить("Игрок № " + НомерИгрока + " не может перемещаться. Ход следующего игрока."); Возврат НомерПоляТек; Иначе НомерПоляТек = НомерПоляТек + Очки; Сообщить("Игрок № " + НомерИгрока + " перемещается на поле № " + НомерПоляТек); КонецЕсли; Если ЗмеяЛестница.Получить(НомерПоляТек) = Неопределено Тогда НомерПоляСлед = НомерПоляТек; Иначе НомерПоляСлед = ЗмеяЛестница.Получить(НомерПоляТек); КонецЕсли; Если НомерПоляТек < НомерПоляСлед Тогда Сообщить("Игрок № " + НомерИгрока + " приземлился на лестницу и поднялся на поле № " + НомерПоляСлед); ИначеЕсли НомерПоляТек > НомерПоляСлед Тогда Сообщить("Игрок № " + НомерИгрока + " приземлился на змею и соскользнул на поле № " + НомерПоляСлед); КонецЕсли; Возврат НомерПоляСлед; КонецФункции Процедура Главная() Перем НомерПоляИгрока; Перем НомерИгрока, НовыйНомерПоля; Инициализация(); НомерПоляИгрока = Новый Массив(); НомерПоляИгрока.Добавить(1); НомерПоляИгрока.Добавить(1); НомерПоляИгрока.Добавить(1); Пока Истина Цикл Для НомерИгрока = 0 По НомерПоляИгрока.Количество() - 1 Цикл НовыйНомерПоля = Ход(НомерИгрока + 1, НомерПоляИгрока[НомерИгрока]); Если НовыйНомерПоля = 100 Тогда Сообщить("Игрок № " + (НомерИгрока + 1) + " победил!"); Возврат; КонецЕсли; НомерПоляИгрока[НомерИгрока] = НовыйНомерПоля; Сообщить(""); КонецЦикла; КонецЦикла; КонецПроцедуры Главная(); ----------------------------------------------------------------------------------------- Аналитическое моделирование систем массового обслуживания Кирилл Ткаченко алг SAMAG нач СМО(4, 7, 30, 17); кон алг СМО(цел K, цел N, вещ lam, вещ mu) нач вещ rho, rhos; вещ p0, potk; вещ Kz; вещ Wq, Tq; вещ Ws, Ts; вещ psost; цел i, j; вещ Числ, Знам; вещ KФакт; rho := lam / mu; вывод "rho = ", rho:6:4, нс; rhos := rho / K; вывод "rho_s = ", rhos:6:4, нс; p0 := 1; Числ := 1; Знам := 1; нц для j от 1 до K - 1 Числ := Числ * rho; Знам := Знам * j; p0 := p0 + Числ / Знам; кц Числ := Числ * rho * (1 - rhos ** (N + 1)); KФакт := Знам * K; p0 := p0 + Числ / (KФакт * (1 - rhos)); p0 := 1 / p0; вывод "p0 = ", p0:6:4, нс; potk := (rho ** (K + N) * p0) / (KФакт * K ** N); вывод "potk = ", potk:6:4, нс; Kz := rho * (1 - potk); вывод "Kz = ", Kz:6:4, нс; Wq := (rho ** (K + 1) * p0) / (KФакт * K); Wq := Wq * (1 - (rhos ** N) * (N + 1 - N * rhos)) / (1 - rhos) ** 2; вывод "Wq = ", Wq:6:4, нс; Tq := Wq / lam; вывод "Tq = ", Tq:6:4, нс; Ws := Wq + Kz; вывод "Ws = ", Ws:6:4, нс; Ts := Tq + (1 - potk) / mu; вывод "Ts = ", Ts:6:4, нс; Числ := p0; Знам := 1; нц для i от 1 до K Числ := Числ * rho; Знам := Знам * i; psost := Числ / Знам; вывод "p", i, " = ", psost:6:4, нс; кц нц для i от K + 1 до K + N - 1 Числ := Числ * rho; Знам := Знам * K; psost := Числ / Знам; вывод "p", i, " = ", psost:6:4, нс; кц кон -----------------------------------------------------------------------------------------