save connection settings to rc-file
This commit is contained in:
parent
9dbb9a99ba
commit
558698e10e
@ -33,5 +33,10 @@ Usage is pretty straightforward, it is highly-recommended that you leave SSL ena
|
|||||||
`passwd` interactively prompts for the new password and password expiration date.
|
`passwd` interactively prompts for the new password and password expiration date.
|
||||||
`passwd` finally sends a prefilled ldapmodify to the server.
|
`passwd` finally sends a prefilled ldapmodify to the server.
|
||||||
|
|
||||||
|
### `rcfile`
|
||||||
|
`rcfile` saves current directory connection settings (excepted `bindpass`) into a RC-file (stored into `${HOME}/.ipa/freeipa-sam.rc`)
|
||||||
|
If the file exists, variable are automatically read at script startup.
|
||||||
|
RC-file is also automatically written at normal exit (using `exit` command action)
|
||||||
|
|
||||||
PRs and issues welcome, but support cannot be promised.
|
PRs and issues welcome, but support cannot be promised.
|
||||||
Cheers!
|
Cheers!
|
||||||
|
|||||||
@ -1,10 +1,30 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
rcfile="${HOME}/.ipa/freeipa-sam.rc"
|
||||||
|
if [ -e "$rcfile" ]; then
|
||||||
|
source "$rcfile"
|
||||||
|
fi
|
||||||
ssleval=true
|
ssleval=true
|
||||||
prefix=ldaps
|
prefix=ldaps
|
||||||
passeval() { [ -z $bindpass ] && passeval="UNSET!" || passeval="SET!"; }
|
passeval() { [ -z $bindpass ] && passeval="UNSET!" || passeval="SET!"; }
|
||||||
ssleval() { [ "$prefix" == "ldaps" ] && ssleval="true" || ssleval="false"; }
|
ssleval() { [ "$prefix" == "ldaps" ] && ssleval="true" || ssleval="false"; }
|
||||||
actionseval() { [ "$ldapserver" ] && [ "$binduser" ] && [ "$domain" ] && [ "$passeval" == "SET!" ] && actionseval="ready" || actionseval="conditions not yet met" && return 1; }
|
actionseval() { [ "$ldapserver" ] && [ "$binduser" ] && [ "$domain" ] && [ "$passeval" == "SET!" ] && actionseval="ready" || actionseval="conditions not yet met" && return 1; }
|
||||||
|
|
||||||
|
savercfile() {
|
||||||
|
test -d "${HOME}/.ipa" || mkdir -p "${HOME}/.ipa"
|
||||||
|
cat > "${HOME}/.ipa/freeipa-sam.rc" <<EOF
|
||||||
|
# freeipa-sam rc-file
|
||||||
|
ldapserver="$ldapserver"
|
||||||
|
binduser="$binduser"
|
||||||
|
domain="$domain"
|
||||||
|
ldapdomain="$ldapdomain"
|
||||||
|
ssleval=$ssleval
|
||||||
|
prefix="$prefix"
|
||||||
|
EOF
|
||||||
|
if [ -n "$1" ] && [ "$1" == 'exit' ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
menu() {
|
menu() {
|
||||||
passeval
|
passeval
|
||||||
ssleval
|
ssleval
|
||||||
@ -19,7 +39,7 @@ menu() {
|
|||||||
5.) ssl=$ssleval
|
5.) ssl=$ssleval
|
||||||
|
|
||||||
Actions ($actionseval):
|
Actions ($actionseval):
|
||||||
add | rm | ls | info | passwd
|
add | rm | ls | info | passwd | rcfile
|
||||||
|
|
||||||
--- Results ---
|
--- Results ---
|
||||||
$results
|
$results
|
||||||
@ -110,8 +130,11 @@ userPassword: $password
|
|||||||
replace: passwordExpirationTime
|
replace: passwordExpirationTime
|
||||||
passwordExpirationTime: ${expire}031407Z" | ldapmodify -H "$prefix""://""$ldapserver" -D "$binduser" -w "$bindpass" && results="Submitted." || results="Error."
|
passwordExpirationTime: ${expire}031407Z" | ldapmodify -H "$prefix""://""$ldapserver" -D "$binduser" -w "$bindpass" && results="Submitted." || results="Error."
|
||||||
;;
|
;;
|
||||||
|
rcfile)
|
||||||
|
savercfile
|
||||||
|
;;
|
||||||
exit)
|
exit)
|
||||||
exit
|
savercfile exit
|
||||||
;;
|
;;
|
||||||
"")
|
"")
|
||||||
results=""
|
results=""
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user