Initial git import
[pkgusr] / usr / lib / pkgusr / chmod
1 #!/bin/bash
2 # Copyright (c) 2004 Matthias S. Benkmann <article AT winterdrache DOT de>
3 # You may do everything with this code except misrepresent its origin.
4 # PROVIDED `AS IS' WITH ABSOLUTELY NO WARRANTY OF ANY KIND!
5
6 DAISY_CHAIN=""
7
8 for p in $(type -ap chmod) ; do
9     if [ ! $p -ef $0 ]; then
10         DAISY_CHAIN=$p
11         break
12     fi
13 done
14
15 if [ ! -n "$DAISY_CHAIN" ]; then
16     echo Cannot find real ${0##*/} command 
17     exit 1
18 fi
19
20 if [ $UID == 0 ]; then
21     exec $DAISY_CHAIN "$@"
22 fi
23
24 report=0
25 doit=1
26 reportmsg="*** chmod $@"
27
28 case "$1" in
29     g+s|u+s) report=1; doit=0  ;;
30     4755) shift 1 ; set -- 755 "$@" ; report=1; doit=1 ;;
31     4555) shift 1 ; set -- 555 "$@" ; report=1; doit=1 ;;
32     *) ;;
33 esac
34
35 if [ "$report" = 1 ]; then
36     echo 1>&2 "$reportmsg"
37 fi
38
39 if [ "$doit" = 1 ]; then  
40     exec $DAISY_CHAIN "$@"
41 fi
42
43 exit 0