Switch to cifs for home dirs.

This commit is contained in:
Andreas B. Mundt 2023-03-15 08:33:37 +01:00
parent 5640c3e76b
commit 7a3f106ee3
6 changed files with 25 additions and 9 deletions

View file

@ -15,6 +15,7 @@
vars: vars:
domain: "{{ ansible_domain }}" domain: "{{ ansible_domain }}"
nfs4: false
extra_pkgs: extra_pkgs:
- vim - vim
- mc - mc

View file

@ -1,2 +1,2 @@
smb_server: "server" smb_server: "server"
smb_share: "default-school/share/" smb_share: "default-school/"

View file

@ -16,7 +16,7 @@
fstype="cifs" fstype="cifs"
server="{{ smb_server }}" server="{{ smb_server }}"
path="{{ smb_share }}" path="{{ smb_share }}"
mountpoint="/media/%(DOMAIN_USER)/share" mountpoint="/srv/samba/schools/default-school"
options="sec=krb5i,cruid=%(USERUID),user=%(USER),gid=1010,file_mode=0770,dir_mode=0770" options="sec=krb5i,cruid=%(USERUID),user=%(USER),gid=1010,file_mode=0770,dir_mode=0770"
><not><or><user>root</user><user>ansible</user><user>Debian-gdm</user><user>sddm</user><user>virti</user></or></not></volume> ><not><or><user>root</user><user>ansible</user><user>Debian-gdm</user><user>sddm</user><user>virti</user></or></not></volume>
insertafter: "<!-- Volume definitions -->" insertafter: "<!-- Volume definitions -->"
@ -40,3 +40,4 @@
opts: sec=krb5p,_netdev,x-systemd.automount,x-systemd.idle-timeout=60 opts: sec=krb5p,_netdev,x-systemd.automount,x-systemd.idle-timeout=60
state: present state: present
fstype: nfs4 fstype: nfs4
when: nfs4

View file

@ -1,15 +1,26 @@
#!/usr/bin/bash #!/usr/bin/bash
set -eu set -eu
share="$(getent passwd "$SUDO_UID" | cut -d : -f 6 | sed 's/.*default-school//')" share="/srv/samba/schools/default-school/share/"
home="$(getent passwd "$SUDO_UID" | cut -d : -f 6)"
if [ "$#" -gt 0 ] && [ "$1" = '-u' ]; then if [[ "$#" -gt 0 ]] && [[ "$1" = '-u' ]]; then
umount "/media/${SUDO_USER}/home" && rmdir "/media/${SUDO_USER}/home" [[ -d "/media/${SUDO_USER}/home" ]] && umount "/media/${SUDO_USER}/home" && rmdir "/media/${SUDO_USER}/home"
[[ -d "/media/${SUDO_USER}/share" ]] && umount "/media/${SUDO_USER}/share" && rmdir "/media/${SUDO_USER}/share"
[[ -d "/media/${SUDO_USER}/oldhome" ]] && umount "/media/${SUDO_USER}/oldhome" && rmdir "/media/${SUDO_USER}/oldhome"
elif [ "$#" -gt 0 ] && [ "$1" = '-o' ]; then
read -p "Username: " username
read -s -p "Passwort: " PASSWD
export PASSWD
mkdir -p "/media/${SUDO_USER}/oldhome"
mount -t cifs -o "username=${username},uid=${SUDO_UID},gid=1010,file_mode=0770,dir_mode=0770,forceuid,forcegid" \
"//192.168.1.2/DOCS/fvs" "/media/${SUDO_USER}/oldhome"
else else
mkdir -p "/media/${SUDO_USER}"
chgrp 1010 "/media/${SUDO_USER}" chgrp 1010 "/media/${SUDO_USER}"
chmod 0770 "/media/${SUDO_USER}" chmod 0770 "/media/${SUDO_USER}"
mkdir -p "/media/${SUDO_USER}/home" mkdir -p "/media/${SUDO_USER}/home"
mount -t cifs -o "sec=krb5i,cruid=${SUDO_UID},username=${SUDO_USER},uid=${SUDO_UID},\ mkdir -p "/media/${SUDO_USER}/share"
gid=1010,file_mode=0770,dir_mode=0770,forceuid,forcegid,user=${SUDO_USER}" \ mount --bind "${share}" "/media/${SUDO_USER}/share"
"//server/default-school/${share}" "/media/${SUDO_USER}/home" mount --bind "${home}" "/media/${SUDO_USER}/home"
fi fi

View file

@ -108,6 +108,7 @@
rsync://server:/vmimages-download/xml /var/lib/libvirt/images/ rsync://server:/vmimages-download/xml /var/lib/libvirt/images/
register: result register: result
changed_when: result.stdout | length > 0 changed_when: result.stdout | length > 0
when: not run_in_installer | default(false) | bool
- name: rsync VM images - name: rsync VM images
command: > command: >

View file

@ -24,7 +24,9 @@
- name: add {{ ansible_distribution_release }}-backports - name: add {{ ansible_distribution_release }}-backports
apt_repository: apt_repository:
repo: deb http://deb.debian.org/debian/ {{ ansible_distribution_release }}-backports main contrib non-free repo: >
deb http://deb.debian.org/debian/ {{ ansible_distribution_release }}-backports
main contrib non-free-firmware non-free
state: present state: present
update_cache: true update_cache: true
when: extra_pkgs_bpo|length when: extra_pkgs_bpo|length