Архив 2016

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");
    }
}
Читать далее...

Архив за месяц

Предыдущая неделя

2015