88 lines
1.9 KiB
Bash
88 lines
1.9 KiB
Bash
#!/bin/bash
|
|
set -xuo pipefail
|
|
trap "stop; exit 0;" SIGTERM SIGINT
|
|
|
|
stop()
|
|
{
|
|
echo "signal caught, stopping the world..."
|
|
exportfs -uav
|
|
rc-service krb5kdc stop
|
|
rc-service kadmin stop
|
|
rc-service nfs stop
|
|
echo "bye!"
|
|
exit
|
|
}
|
|
|
|
DEFAULT_PERMITTED="*"
|
|
RW_MODE="rw"
|
|
UID=${NFS_UID:-0}
|
|
if [ -n "${SHARED_DIRECTORY}" ]; then
|
|
echo "${SHARED_DIRECTORY} ${PERMITTED:-${DEFAULT_PERMITTED}}(${RW_MODE:-rw},root_squash,nohide,fsid=${UID},sync,no_subtree_check,insecure,root_squash,crossmnt,anonuid=${UID},anongid=${UID},sec=krb5p:krb5i:krb5)" \
|
|
> /etc/exports
|
|
chmod 777 "${SHARED_DIRECTORY}"
|
|
fi
|
|
|
|
cat > /etc/krb5.conf << EOL
|
|
[logging]
|
|
default = FILE:/var/log/krb5libs.log:DEBUG
|
|
kdc = FILE:/var/log/krb5kdc.log:DEBUG
|
|
admin_server = FILE:/var/log/kadmind.log:DEBUG
|
|
|
|
[libdefaults]
|
|
dns_lookup_realm = false
|
|
ticket_lifetime = 24h
|
|
renew_lifetime = 7d
|
|
forwardable = true
|
|
rdns = false
|
|
default_realm = ${NFS_KRB_REALM}
|
|
|
|
[realms]
|
|
${NFS_KRB_REALM} = {
|
|
kdc = localhost
|
|
admin_server = localhost
|
|
}
|
|
EOL
|
|
cat > /etc/idmapd.conf << EOC
|
|
[General]
|
|
Domain = ${NFS_KRB_REALM}
|
|
Verbosity = 5
|
|
EOC
|
|
|
|
|
|
touch /var/lib/krb5kdc/kadm5.acl
|
|
|
|
exportfs -rvaf
|
|
|
|
|
|
kdb5_util -r "${NFS_KRB_REALM}" create -s << EOL
|
|
${NFS_KRB_PWD}
|
|
${NFS_KRB_PWD}
|
|
|
|
EOL
|
|
|
|
echo "${NFS_KRB_REALM}" > /etc/hostname
|
|
|
|
# setup logging
|
|
|
|
syslogd
|
|
rpcdebug -m nfsd -s all
|
|
rpcdebug -m nfs -s all
|
|
rpcdebug -m rpc -s all
|
|
|
|
kadmin.local -q "addprinc -pw ${NFS_KRB_PWD} ${NFS_KRB_PRINC}@${NFS_KRB_REALM}"
|
|
kadmin.local -q "ktadd ${NFS_KRB_PRINC}@${NFS_KRB_REALM}"
|
|
kadmin.local -q "ktadd -k /etc/krb5.keytab ${NFS_KRB_PRINC}@${NFS_KRB_REALM}"
|
|
kadmin.local -q "cpw -pw ${NFS_KRB_PWD} ${NFS_KRB_PRINC}"
|
|
rc-service krb5kdc start
|
|
rc-service krb5kadmind start
|
|
rc-service nfs start
|
|
export OPTS_RPC_MOUNTD='--debug all -t 8 -N 3'
|
|
echo "OPTS_RPC_MOUNTD=\"${OPTS_RPC_MOUNTD}\"" >> /etc/conf.d/nfs
|
|
rc-service nfs restart
|
|
|
|
|
|
cat /etc/krb5.conf
|
|
|
|
while true; do
|
|
sleep 360
|
|
done |