summaryrefslogtreecommitdiff
path: root/scripts/vyatta-cfg-notify
blob: e0c56dfd883f88da386647aa59e403c9e1917ca8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/bin/bash

[ -r /etc/default/vyatta ] && source /etc/default/vyatta

declare cur_tty=$(ps -o tty= |head -n1)
declare cur_user=$(id -un)
declare -a ulist=( $(ps -a -o args,tty,ruser n \
                     | grep "^newgrp $VYATTA_CFG_GROUP_NAME" | cut -c 29-) )

for (( i = 0; i < ${#ulist[@]}; i += 2 )); do
  utty=${ulist[i]}
  if [ "$utty" == "$cur_tty" ]; then
    continue
  fi
  user=$(grep "[^:]\+:[^:]*:${ulist[i+1]}:" /etc/passwd | cut -d ':' -f 1)
  sudo write $user $utty <<EOF
Active configuration has been changed by user '$cur_user' on '$cur_tty'.
Please make sure you do not have conflicting changes. You can also discard
the current changes by issuing 'exit discard'.
EOF
done