47 lines
2.2 KiB
Bash
47 lines
2.2 KiB
Bash
for m in /mnt/share /mnt/projects /mnt/iscsi; do
|
|
findmnt -n "$m" >/dev/null 2>&1 && { umount "$m" 2>/dev/null || umount -l "$m"; }
|
|
done
|
|
awk '/^[[:space:]]*#/ || NF < 2 { print; next }
|
|
$2 == "/mnt/share" || $2 == "/mnt/projects" || $2 == "/mnt/iscsi" { next }
|
|
{ print }' /etc/fstab >/etc/fstab.le-lab && cat /etc/fstab.le-lab >/etc/fstab
|
|
rm -f /etc/fstab.le-lab
|
|
# iSCSI: log out, forget the target, and clear it from the target side.
|
|
if command -v iscsiadm >/dev/null; then
|
|
iscsiadm -m node -p 10.99.0.1 --logout >/dev/null 2>&1
|
|
iscsiadm -m node -p 10.99.0.1 -o delete >/dev/null 2>&1
|
|
iscsiadm -m discoverydb -t sendtargets -p 10.99.0.1 -o delete >/dev/null 2>&1
|
|
fi
|
|
if command -v targetcli >/dev/null && targetcli ls / 2>/dev/null | grep -q /var/lib/le-lab/iscsi; then
|
|
targetcli clearconfig confirm=True >/dev/null 2>&1
|
|
targetcli saveconfig >/dev/null 2>&1
|
|
fi
|
|
# NFS: take the export out.
|
|
sed -i '\#^[[:space:]]*/srv/share[[:space:]]#d' /etc/exports 2>/dev/null
|
|
for f in /etc/exports.d/*.exports; do
|
|
[ -f "$f" ] && sed -i '\#^[[:space:]]*/srv/share[[:space:]]#d' "$f"
|
|
done
|
|
command -v exportfs >/dev/null && exportfs -ra 2>/dev/null
|
|
# Samba: drop the [projects] share and alice's Samba password.
|
|
if [ -f /etc/samba/smb.conf ]; then
|
|
awk '/^[[:space:]]*\[/ { skip = ($0 ~ /^[[:space:]]*\[projects\]/) } !skip' /etc/samba/smb.conf >/etc/samba/smb.conf.le-lab &&
|
|
cat /etc/samba/smb.conf.le-lab >/etc/samba/smb.conf
|
|
rm -f /etc/samba/smb.conf.le-lab
|
|
fi
|
|
command -v smbpasswd >/dev/null && smbpasswd -x alice >/dev/null 2>&1
|
|
command -v semanage >/dev/null && semanage fcontext -d '/srv/samba(/.*)?' >/dev/null 2>&1
|
|
# Turn off the servers the lab turned on.
|
|
for u in nfs-server smb smbd nmb nmbd target rtslib-fb-targetctl; do
|
|
grep -qx "$u" "$LAB_STATE/enabled-before" 2>/dev/null && continue
|
|
systemctl disable --now "$u" >/dev/null 2>&1
|
|
done
|
|
for u in nfs-server smb smbd target rtslib-fb-targetctl; do
|
|
rm -rf "/etc/systemd/system/$u.service.d/le-lab.conf"
|
|
rmdir "/etc/systemd/system/$u.service.d" 2>/dev/null
|
|
done
|
|
systemctl disable --now --quiet le-lab-iscsi-logout.service 2>/dev/null
|
|
rm -f /etc/systemd/system/le-lab-iscsi-logout.service
|
|
systemctl daemon-reload
|
|
rm -rf /srv/share /srv/samba /var/lib/le-lab/iscsi /root/.smbcred
|
|
rmdir /mnt/share /mnt/projects /mnt/iscsi 2>/dev/null
|
|
true
|