BES требует Exchange, Domino или GroupWise (!). RIM имеет отдельный продукт, названный "BES для Приложений MDS", который похож на нее, мог бы сделать то, что Вы хотите при разработке собственных приложений. Не кажется, что продукт MDS имеет всю функциональность управления BES.
Используйте GPG для шифрования файла перед фиксацией в репозитории.
Да, это громоздко (вы не сможете выполнить сравнение / слияние и т. Д. Без предварительной расшифровки), но я могу Я не представляю другого способа снять шкуру с этой кошки.
Сохраните секреты в отдельном файле (не в системе контроля версий) и вставьте секретное содержимое в другой файл с помощью скрипта или инструмента, подобного Puppet.
Работая с , этот другой ответ , простым примером может быть:
netjoin.sh.erb (хранится в системе контроля версий):
#!/bin/sh
# Usage: netjoin.sh /path/to/samba/binary/net pdc-hostname
NET=$1
SERVER=$2
HOSTNAME=`facter hostname`-`facter operatingsystem`
PASSWORD=<%= scope.function_generate("/etc/puppet/auth/getpwd", "ad", "netjoin") %>
${NET} rpc user delete ${HOSTNAME}\$ -U netjoin%${PASSWORD} -S ${SERVER}
${NET} rpc join -U netjoin%${PASSWORD} -S ${SERVER}
/bin/rm -f $0
/ etc / puppet / auth / getpwd (также может храниться в системе контроля версий):
#!/bin/bash
# /etc/puppet/auth/getpwd
if [ "$#" -ne 2 ]; then
echo "Usage: $0 <db> <user>"
exit 1
fi
if [ ! -x /usr/bin/pwgen ]; then
echo "missing pwgen!" >&2
exit 1
fi
workdir=`dirname $0`
workfile="$workdir/passwd_$1"
[ ! -r $workfile ] && exit 2
get_name="$2"
# get password from storage
pwd=`egrep "^${get_name}:" ${workfile} | cut -d: -f2-`
if [ "$pwd" = "" ]; then
# generate new password & store it
len=$((60 + $RANDOM % 9 ))
pwd=$(/usr/bin/pwgen -s $len 1)
echo "${get_name}:${pwd}" >> $workfile
fi
# echo password (without new line)
echo -n "$pwd"
/ etc / puppet / auth / passwd_ad (абсолютно не в системе контроля версий):
netjoin:0Gb2iHFsnXZUnsyr0XSMxVvJVJ64zqpBzLFZXEoss5XVM9vTHWgvLHokBKclC
Kpachara anya mgbe ị na-edepụta faịlụ ndị nwere nsogbu na Perforce - ebe ọ bụ na Perforce anaghị arụ ọrụ ikike faịlụ na-abụghị nke a na-egbu egbu dabere na gị umask ị ga-eju gị anya ịhụ ikikere faịlụ ga-agbagha ị lelee ha n'ime Perforce:
$ p4 init
Matching server configuration from 'perforce:1666':
case-sensitive (-C0), unicode (-xi)
Server lester-dvcs-1449094406 saved.
$ date > x
$ l x
-rw-rw-r--. 1 lester lester 30 Dec 3 09:13 x
$ chmod 400 x
$ l x
-r--------. 1 lester lester 30 Dec 3 09:13 x
$ umask
002
$ p4 add x; p4 submit -d add
//stream/main/x#1 - opened for add
Submitting change 1.
Locking 1 files ...
add //stream/main/x#1
Change 1 submitted.
$ l x
-rw-rw-r--. 1 lester lester 30 Dec 3 09:13 x <-- oops!
Ọ bụrụ na onye ọ bụla nwere ezigbo ọrụ, ana m anụcha ntị! Ka ọ dị ugbu a, m na-eji mercurial / git mee ihe iji dozie faịlụ nzuzo m (/ wdg n'ezie) ma mee ka repo ahụ dị mma - opekata mpe ikikere nke faịlụ m agaghị agbanwe agbanwe.