Fix NETHOME detection issue for examusers, staff and parents
This commit is contained in:
parent
63dec2f8b7
commit
857b834232
3 changed files with 22 additions and 9 deletions
|
|
@ -16,11 +16,16 @@ fi
|
|||
id="$(grep ID "$file" | sed -E "s|^.+ID>([[:digit:]]+)/([[:digit:]]+)</ID.+$|\1:\2|" \
|
||||
| sort -n -t: -k2 | tail -1 )"
|
||||
|
||||
if id | grep -q teachers; then
|
||||
NETHOME=/srv/samba/schools/default-school/teachers/$USER
|
||||
else
|
||||
for dir in teachers examusers staff parents; do
|
||||
if [[ -d "/srv/samba/schools/default-school/${dir}/${USER}" ]]; then
|
||||
NETHOME="/srv/samba/schools/default-school/${dir}/${USER}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [[ -z "${NETHOME+x}" ]]; then
|
||||
NETHOME=(/srv/samba/schools/default-school/students/*/"$USER")
|
||||
fi
|
||||
|
||||
[[ -d $NETHOME ]] || exit 0
|
||||
|
||||
IDENTITY="${id%%:*}"
|
||||
|
|
|
|||
|
|
@ -346,11 +346,16 @@ if ! virsh --connect="${QEMU}" list | grep "${VM_NAME}-clone"; then
|
|||
virsh --connect=qemu:///session undefine --nvram "${VM_NAME}-clone" || echo "${VM_NAME}-clone did not exist"
|
||||
#trap exit_script SIGHUP SIGINT SIGTERM
|
||||
|
||||
if id | grep -q teachers; then
|
||||
NETHOME=/srv/samba/schools/default-school/teachers/$USER
|
||||
else
|
||||
for dir in teachers examusers staff parents; do
|
||||
if [[ -d "/srv/samba/schools/default-school/${dir}/${USER}" ]]; then
|
||||
NETHOME="/srv/samba/schools/default-school/${dir}/${USER}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [[ -z "${NETHOME+x}" ]]; then
|
||||
NETHOME=(/srv/samba/schools/default-school/students/*/"$USER")
|
||||
fi
|
||||
|
||||
if [[ "${HOME}" != "${NETHOME}" ]]; then
|
||||
VMINFO_DIR="${HOME}"
|
||||
else
|
||||
|
|
|
|||
|
|
@ -93,9 +93,12 @@ def main():
|
|||
vminfo['User'] = environ.get('USER')
|
||||
vminfo['Groups'] = get_groups(environ.get('USER'))
|
||||
|
||||
if 'teachers' in vminfo['Groups']:
|
||||
nethome = f"/srv/samba/schools/default-school/teachers/{vminfo['User']}"
|
||||
else:
|
||||
for dir in ['teachers','examusers','staff','parents']:
|
||||
potential_path = f"/srv/samba/schools/default-school/{dir}/{vminfo['User']}"
|
||||
if path.isdir(potential_path):
|
||||
nethome = potential_path
|
||||
break
|
||||
if not nethome:
|
||||
result = subprocess.run(['find', '/srv/samba/schools/default-school/students/', '-name', vminfo['User'], '-maxdepth', '2', '-type', 'd'], capture_output=True, text=True, check=False)
|
||||
nethome = result.stdout.splitlines()[0]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue