__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
#!/bin/bash
# Author: Jan Vcelak <jvcelak@redhat.com>
set -e
# default options
CERTDB_DIR=/etc/openldap/certs
# internals
MODULE_CKBI="$(rpm --eval %{_libdir})/libnssckbi.so"
RANDOM_SOURCE=/dev/urandom
PASSWORD_BYTES=32
# parse arguments
usage() {
printf "usage: create-certdb.sh [-d certdb]\n" >&2
exit 1
}
while getopts "d:" opt; do
case "$opt" in
d)
CERTDB_DIR="$OPTARG"
;;
\?)
usage
;;
esac
done
[ "$OPTIND" -le "$#" ] && usage
# verify target location
if [ ! -d "$CERTDB_DIR" ]; then
printf "Directory '%s' does not exist.\n" "$CERTDB_DIR" >&2
exit 1
fi
if [ ! "$(find "$CERTDB_DIR" -maxdepth 0 -empty | wc -l)" -eq 1 ]; then
printf "Directory '%s' is not empty.\n" "$CERTDB_DIR" >&2
exit 1
fi
# create the database
printf "Creating certificate database in '%s'.\n" "$CERTDB_DIR" >&2
PASSWORD_FILE="$CERTDB_DIR/password"
OLD_UMASK="$(umask)"
umask 0377
dd if=$RANDOM_SOURCE bs=$PASSWORD_BYTES count=1 2>/dev/null | base64 > "$PASSWORD_FILE"
umask "$OLD_UMASK"
certutil -d "$CERTDB_DIR" -N -f "$PASSWORD_FILE" &>/dev/null
# load module with builtin CA certificates
echo | modutil -dbdir "$CERTDB_DIR" -add "Root Certs" -libfile "$MODULE_CKBI" &>/dev/null
# tune permissions
for dbfile in "$CERTDB_DIR"/*.db; do
chmod 0644 "$dbfile"
done
exit 0
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| create-certdb.sh | File | 1.26 KB | 0755 |
|