LINUX.ORG.RU

Избранные сообщения Grotesque

Ansible + ldap: организация доступа к серверному парку

Форум — Admin

Приветствую, гуру! Пытаясь внедрить ansible в свою инфраструктуру задался вопросом совмещения его с ldap.

Что дано:

  • ansible 2.0.0.2
  • Windows AD

Что хочу:

  • Костылём брать из AD группы серверов, группы пользователей, имена серверов и имена пользователей и на всём имеющемся сервером парке настроить и поддерживать доступы с помощью ansible. Сейчас этим занимается puppet.

Собственно вопрос: Как лучше объяснить ansible какие сервера у меня есть, в какие группы они входят, какие на них должны быть пользователи и в каких группах? Какие конфиги сформировать? Я пока не могу сообразить...

Вот пример того, что я забираю из AD:

( Массив servers вида группа_серверов, имя_сервера )

( Массив юзеров, их хэши паролей, шеллы, группы и прочих параметров )

 , , ,

Grotesque
()

debian 8.1 не стартует после вылета одного из дисков RAID 1

Форум — General

Здравствуйте! Накатил на asus rs-100 debian 8.1 minimal, при установке сделал программный raid 1 (mdadm) - всё прошло отлично, всё работает. После установки проинсталлил граб на оба диска (Диски, к слову, абсолютно идентичные и рабочие), ошибок при это не было:

grub-install /dev/sdb
grub-install /dev/sda
update-grub
Опять же всё замечательно, всё работает... до момента отключения одного любого из дисков. То есть, выключаем сервер, вытаскиваем sata-шлейф какого-нибудь диска и пробуем включить. Итог: Загружается граб, пытается загрузить систему но у него ничего не выходит:
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/2c912b5b-43324-2367-a443f-4c324cf444 does not exist. Dropping to a shell!
BusyBox v1.13.3 (debian 8.1) built-in shell (ash)
Enter 'help' for a list of built-in commands.
Собственно вопрос: Возможно я не совсем понимаю зачем нужен RAID? Как заставить GRUB загружать систему с диска, оставшегося в RAID? Заранее спасибо!

 , ,

Grotesque
()

rsyslogd в centos7 и perl

Форум — General

Приветствую! Наткнулся на некую «особенность» то ли перла, то ли centos7, а то ли и rsyslog.

Дано:

  • Centos7 (Linux test 3.10.0-123.9.3.el7.x86_64 #1 SMP Thu Nov 6 15:06:03 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux)
  • Perl (This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-linux-thread-multi)
  • rsyslog (rsyslogd 7.4.7)

Хочу:

  • Просто повешать некий перловый скрипт в бесконечный цикл и передавать ему логи из rsyslog

Что сделано:

  • Дефолтно настроено всё (Система «из коробки»), своими кривыми руками не успел никуда ещё залезть.
  • В конфиг rsyslog добавлено:
    $ModLoad omprog           # Enables filter programs to futher analyze logs
    $ActionOMProgBinary                            /test.pl
    *.* :omprog:;RSYSLOG_TraditionalFileFormat
  • И написан, собсно, сам test.pl
    #!/usr/bin/perl
    
    use strict;
    use warnings;
    
    open (LOG , ">> /tmp/test") or die ("Can't open file :: $!\n");
    
    while (<>) { print LOG $_; }
    

Результат:

  • Запускается всё без ошибок, скрипт успешно демонизируется, но всё, что он пишет в /tmp/test это одну строку при рестарте rsyslog:
    Feb 24 14:50:16 test rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="19880" x-info="http://www.rsyslog.com"] exiting on signal 15.

Что предпринято в связи с этим до обращения на форум:

  • Я написал «скрипт» на bash
    #!/bin/bash
    
    while read LINE; do
        echo $LINE >> /tmp/testoutput
    done

    и, о чудо (!), он пишет в файл абсолютно всё, что пишет rsyslog в логи.

Вопрос:

  • Как это объяснить?
  • Как заставить perl так же писать _всё_ в файл, что пишет rsyslog в логи?

Если это глупый вопрос - извиняюсь, я не очень сильный программист :) Заранее спасибо!

 , ,

Grotesque
()

Удалённое выполнение команд [SSH]

Форум — Admin

Здравствуйте!
Есть необходимость скопировать архив по ssh с одного хоста на другой, посчитать md5 сначала на одном хосте, затем на другом и далее сравнить эти суммы на первом. Делаю bash скриптом так:

md1=`md5 -q ./*.7z`
echo $md1

ssh -t $user@$host 'dd of=/home/$user/$name < ./$name ; md2=`/usr/bin/md5sum  ./*7z`'
echo $md2
patebin: http://pastebin.com/uKji9xWX
Но хост2 не хочет отдавать в переменную md5 сумму. Пробовал сделать это по-разному, но никак не получается. Первый хост - freebsd, второй - linux.

 , ,

Grotesque
()