Ansible и restricted sudo

Ansible и restricted sudo

Здесь я хотел бы поделиться мыслями по поводу использования ansible2.1 в среде с ограниченными sudo правами (ansible+limited sudo), a именно использование ansible пользователями у которых есть только ограниченный набор sudo команд. К таким пользователям можно отнести например, девелоперов и саппорот команды. Особенно яркое разделение ролей можно увидеть в крупных компаниях, где есть например админы с root правами (отвечают за инфраструктуру и provisioning серверов), где есть operations команды (отвечают за поддержку приложений, баз данных и т.д), девелоперы (отвечают за деплой и траблшутинг приложений). У этих “бесправных” пользователей есть определенный набор sudo команд, которых в принципе достаточно для выполнения своих задач. Но когда ферма приложения состоит из 50 серверов и хостится где-нибудь в AWS+Autoscaling, и есть необходимость отрестартить сервис, то ansible с его AWS инвентори сильно облегчит работу. Но как я уже упомянул есть проблема, а именно если пользователю разрешен только ограниченный набор sudo команд, то использование ansible не всегда будет возможным, т.к ansible отсылает на сервер Python код который нужно выполнить, а /usr/bin/python не добавлен в sudo. Можно попробовать использовать модуль raw, но и тут есть проблема, ansible попытается  выполнить команду через /bin/sh –c, а /bin/sh или /bin/bash также не добавлены в sudo.

Читать далее...
5. Apache Ant использование внешних библиотек log4j и JUnit

5. Apache Ant использование внешних библиотек log4j и JUnit

Посмотрим как можно использовать внешние библиотеки такие как Log4J и JUnit в связке с ant. Скачать библиотеку можно тут. Подключаемые внешние библиотеки будем хранить в директории ~/ant/lib. Скопируем библиотеку log4j-1.2.17.jar в ~/ant/lib.

roonyk@MacBookPro:~/ant/lib$pwd
/Users/roonyk/ant/lib
roonyk@MacBookPro:~/ant/lib$ls -l
total 960
-rw-r--r--@ 1 roonyk  staff  489883 May  6  2012 log4j-1.2.17.jar
roonyk@MacBookPro:~/ant/lib$

Также необходимо будет изменить java код и build.xml файл.

Изменим java код в файле HelloWorld.java с:

package testant;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World");
    }
}
Читать далее...
4. Использование Apache Ant для сборки Java приложений

4. Использование Apache Ant для сборки Java приложений

Здесь я покажу пример использования Apache Ant для сборки Java приложения. Эта статья покажет только знакомство с Ant, более подробную информацию можно найти в документации. Проект будет располагаться в директории ~/ant. Исходники в ~/ant/src. Откомпилированные файлы в ~/ant/build разделенны в несколько директорий в зависимости от назначения: классы в ~/ant/build/classes, jar файлы в ~/ant/build/jar. Создадим необходимые директории сейчас, они нужны только для демонстрации запуска Java приложения из командной строки, ant сам в дальнейшем создаст или удалит все необходимые директории.

ant_6

Читать далее...
3. Установка Apache Ant на CentOS 7

3. Установка Apache Ant на CentOS 7

Процесс установки Apache Ant на CentOS 7 почти нечем не отличается от процесса установки на другие ОС. Как обычно, идем не сайт http://ant.apache.org/bindownload.cgi и скачиваем архив, или проделаем это все в консоли.

ant_10

Читать далее...
2. Установка Apache Ant на Ubuntu

2. Установка Apache Ant на Ubuntu

Установить Apache Ant на Ubuntu можно одной командой, система даже сама подсакжет какой.

roonyk@ubuntu:~$ ant -version
The program 'ant' is currently not installed. You can install it by typing:
sudo apt-get install ant
roonyk@ubuntu:~$ 

Но мы воспользуемся методом описанным в предыдущей статье http://fibed.net/Z/.

ant_5-1

Читать далее...
1. Установка Apache Ant на Mac OS X

1. Установка Apache Ant на Mac OS X

Как написано на сайте, Apache Ant - это платформонезависимая утилита для автоматизации процесса сборки Java (и не только) приложений. В этой статье я покажу как установить Apache Ant на MacOS X. Первое что необходимо сделать, это скачасть Ant. Сделать это можно посетив веб сайт http://ant.apache.org/bindownload.cgi и загрузить tar.gz архив:

ant_1

Читать далее...
29. 7-я программа в SAP. Использование ALV.

29. 7-я программа в SAP. Использование ALV.

На основе недавно созданных классов продолжим знакомство с ALV. Для работы с ALV  необходимо будет немного изменить класс вьюшки - вот она вся прелесть MVC. ALV - ABAP List Viewer. Скопируем класс ZCL_KRE_HW6_VIEW в класс ZCL_KRE_HW6_VIEW_ALV, транзакция SE80 правой кнопкой мыши ит.д, сохраняем в пакет и запрос. Первое что мы сделаем это добавим два новых атрибута как показано на рисунке:

image_435

Читать далее...
28. 6-я программа в SAP. ООП в ABAP. Паттерн MVC.

28. 6-я программа в SAP. ООП в ABAP. Паттерн MVC.

Создадим 6-ю программу, где рассмотрим как можно использовать ООП в ABAP. ООП будем рассматривать на основе шаблона проектирования MVC. Создадим программу ZKRE_HW6. Для этого скопируем 4-ю программу, транзакция SE80:

image_398

Читать далее...
27. 5-я программа в SAP. Создание Application Log.

27. 5-я программа в SAP. Создание Application Log.

Здесь рассмотрим как можно использовать Application Log. SAP предоставляет стандартную функциональность для записи сообщений и исключений, возникающих в ходе выполнения программы, в лог с возможностью его просмотра в дальнейшем. Создадим Log object – объект где будут сохраняться наши сообщения, транзакция SLG0. Появится сообщение о кроссклиентской таблице.

image_374

Читать далее...
26. 5-я программа в SAP. Использование Authorization продолжение.

26. 5-я программа в SAP. Использование Authorization продолжение.

В этой стаье я расскажу как собственно реализовать проверку полномочий, про которую начали разговаривать в http://fibed.net/T/ . Итак теперь добавим в код программы оператор проверки полномочий. Откроем код программы ZKRE_HW5.

image_368

Читать далее...

Ежегодные архивы