I got it working now. If someone wants it too:
This is the interesting part of the script:
~~~
# limit in kbyte
LIMIT=1000
uid=$(getent passwd "$PAM_USER" | cut -d ":" -f 3)
quota=$(vos examine "user.$uid" -format -noauth)
total=$(echo "$quota" | grep maxquota | awk '{print $2}')
usage=$(echo "$quota" | grep diskused | awk '{print $2}')
if [ $(($total - $usage)) -lt $LIMIT ]
then
# quota nearly reached
echo Sie haben weniger als $LIMIT KByte
echo Speicher frei. Bitte melden Sie sich
echo unter Windows an und entfernen Sie Daten
echo von Laufwerk Z: um sich wieder unter
echo Ubuntu anmelden zu können.
exit 1
fi
exit 0
~~~
Is called by /etc/pam.d/lightdm:
~~~
auth requisite pam_exec.so stdout type=auth /opt/check_afs_free.sh
~~~
And the second script notifies the user when he is logged in and the free space
is nearly reached (mostly the same script):
~~~
uid=$(id -u)
quota=$(vos examine "user.$uid" -format -noauth)
total=$(echo "$quota" | grep maxquota | awk '{print $2}')
usage=$(echo "$quota" | grep diskused | awk '{print $2}')
if [ $(($total - $usage)) -lt $LIMIT ]
then
# quota nearly reached
# height doesn't work correct but it's ok
# zenity is shorter but makes an extremly wide dialog
yad --width=700 \
--height=200 \
--center \
--image="gtk-dialog-warning" \
--button=gtk-ok \
--buttons-layout=center \
--title="Speicher fast voll" \
--text="Sie haben weniger als $LIMIT KByte Speicher frei. Wenn
der Speicher voll ist, können Sie sich nicht mehr unter Ubuntu anmelden. Bitte
entfernen Sie unnötige Dateien aus Ihrem Persönlichen Ordner."
fi
exit 0
~~~
Called after login via /etc/xdg/autostart/notify-afs-free.desktop
Thanks for your help!
--
Michael Richter
Technische Universität Berlin
Universitätsbibliothek
IT-Service
Fasanenstraße 88, 10623 Berlin
Telefon: +49 (0)30 314-76310
[email protected]
www.ub.tu-berlin.de
-----Ursprüngliche Nachricht-----
Von: Stephan Wiesand [mailto:[email protected]]
Gesendet: Donnerstag, 2. Februar 2017 14:46
An: [email protected]
Cc: Richter, Michael
Betreff: Re: [OpenAFS] Check free space on AFS share before login
Hmm, it should work in any case. The message can be suppressed with the -noauth
option for vos.
> On 2 Feb 2017, at 14:42, Richter, Michael <[email protected]> wrote:
>
> OK, did so. But: running "vos examine" in a shell works. If I put the same
> line into a script and call this script on the same shell, it doesn't work
> and gives me this error:
>
> vsu_ClientInit: Could not get afs tokens, running unauthenticated.
--
Stephan Wiesand
DESY -DV-
Platanenallee 6
15738 Zeuthen, Germany
_______________________________________________
OpenAFS-info mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-info