12345678910111213141516171819202122232425262728293031 |
- #!/bin/bash
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- if grep "$PAM_USER" /etc/passwd > /dev/null; then
- exit -1;
- fi
- /usr/share/libpam-script/cifs-umount-all
- LOGIN="${PAM_USER,,}"
- PASSWORD="$PAM_AUTHTOK"
- #export LOGIN
- touch /dev/shm/.loginresult."$LOGIN"
- chmod 600 /dev/shm/.loginresult."$LOGIN"
- curl -F "login=$LOGIN" -F "password=$PASSWORD" https://auth.clab.mephi.ru/ 2>/dev/null | awk '{$1=""; print}' > /dev/shm/.loginresult."$LOGIN"
- if [ "$(jq .status /dev/shm/.loginresult.$LOGIN)" = '"OK"' ]; then
- touch /dev/shm/.~pamgate."$LOGIN" &&
- chmod 600 /dev/shm/.~pamgate."$LOGIN" &&
- chown "$LOGIN:0" /dev/shm/.~pamgate."$LOGIN" 2>/dev/null &&
- cat > /dev/shm/.~pamgate."$LOGIN" << EOF
- $PASSWORD
- EOF
- exit 0;
- fi
- exit -1;
|