Управление версиями чувствительных конфигурационных файлов

BES требует Exchange, Domino или GroupWise (!). RIM имеет отдельный продукт, названный "BES для Приложений MDS", который похож на нее, мог бы сделать то, что Вы хотите при разработке собственных приложений. Не кажется, что продукт MDS имеет всю функциональность управления BES.

2
задан 7 March 2013 в 06:44
3 ответа

Используйте GPG для шифрования файла перед фиксацией в репозитории.

Да, это громоздко (вы не сможете выполнить сравнение / слияние и т. Д. Без предварительной расшифровки), но я могу Я не представляю другого способа снять шкуру с этой кошки.

7
ответ дан 3 December 2019 в 08:47

Сохраните секреты в отдельном файле (не в системе контроля версий) и вставьте секретное содержимое в другой файл с помощью скрипта или инструмента, подобного 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
2
ответ дан 3 December 2019 в 08:47

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.

0
ответ дан 3 December 2019 в 08:47

Теги

Похожие вопросы