Linux ip-172-26-2-223 5.4.0-1018-aws #18-Ubuntu SMP Wed Jun 24 01:15:00 UTC 2020 x86_64
Apache
: 172.26.2.223 | : 18.189.195.142
Cant Read [ /etc/named.conf ]
8.1.13
www
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
share /
sendmail /
[ HOME SHELL ]
Name
Size
Permission
Action
cf
[ DIR ]
drwxr-xr-x
examples
[ DIR ]
drwxr-xr-x
Parse_conf.pm
29.37
KB
-rwxr-xr-x
Parse_mc.pm
31.58
KB
-rwxr-xr-x
buildvirtuser
6.28
KB
-rwxr-xr-x
doublebounce.pl
6.15
KB
-rwxr-xr-x
dynamic
12.27
KB
-rwxr-xr-x
hoststat
31.9
KB
-rwxr-xr-x
mailq
31.9
KB
-rwxr-xr-x
mailstats
31.9
KB
-rwxr-xr-x
newaliases
31.9
KB
-rwxr-xr-x
parse_mc
2.77
KB
-rwxr-xr-x
purgestat
31.9
KB
-rwxr-xr-x
qtool.pl
24.08
KB
-rwxr-xr-x
runq
31.9
KB
-rwxr-xr-x
sendmail
31.9
KB
-rwxr-xr-x
smcontrol.pl
7.4
KB
-rwxr-xr-x
status
31.9
KB
-rwxr-xr-x
update_auth
9.92
KB
-rwxr-xr-x
update_authm4
7.84
KB
-rwxr-xr-x
update_conf
15.15
KB
-rwxr-xr-x
update_db
15.23
KB
-rwxr-xr-x
update_ldap
3.48
KB
-rwxr-xr-x
update_mc
10.28
KB
-rwxr-xr-x
update_mk
20.76
KB
-rwxr-xr-x
update_notices
7.19
KB
-rwxr-xr-x
update_sendmail
3.44
KB
-rwxr-xr-x
update_smrsh
2.42
KB
-rwxr-xr-x
update_sys
7.87
KB
-rwxr-xr-x
update_tcpd
1.93
KB
-rwxr-xr-x
update_tls
9.34
KB
-rwxr-xr-x
update_tlsm4
7.71
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : update_db
#!/bin/sh -e #----------------------------------------------------------------------------- # # $Sendmail: update_db,v 8.15.2 2020-03-08 00:39:49 cowboy Exp $ # # Update Sendmail databases for Debian # # Copyright (c) 1998-2010 Richard Nelson. All Rights Reserved. # # Notes (to all): # * assumes makemap dbtype /etc/mail/database < /etc/mail/database # # Notes (to self): # * changes made herein *must* be reflected in # parse_mc,update_mk,update_db,debian.m4 # * multiple db options not supported # * userdb can also have multiple databases and then a forward! # * need sendmail stop/start # #----------------------------------------------------------------------------- set -e; # List of db files/features/etc db_files="databases Makefile crontab QUEUE_GROUP sendmail.cf submit.cf \ confCR_FILE confCT_FILE confCW_FILE confUSERDB_SPEC \ access_db authinfo bitdomain domaintable \ genericstable mailertable uucpdomain \ use_cw_file use_ct_file virtusertable ALIAS_FILE"; # Path to other sendmail helpers if [ -x ./update_sendmail ]; then sm_path='.'; elif [ -x $(dirname $0)/update_sendmail ]; then sm_path=$(dirname $0); else sm_path=/usr/share/sendmail; fi; # Bring in sendmail.conf for the network definitions if [ ! -f /etc/mail/sendmail.conf ]; then if [ -x $sm_path/update_conf ]; then $sm_path/update_conf; fi; fi; if [ -f /etc/mail/sendmail.conf ]; then . /etc/mail/sendmail.conf; fi; if [ "$HANDS_OFF" != 'No' ]; then exit 0; fi; # control amount of output verbosity=0; # flag used to ensure only one newaliases command is run newaliases_run=0; # flag used to indicate a dataset has been moved, may need another update changed=0; # max return code max_rc=0; missing_rqd=0; missing_opt=0; missing_cre=0; m4_errors=0; #------------------------------------------------------------- # Initial update of sendmail.mc/databases #------------------------------------------------------------- initial () { if [ $verbosity -gt 1 ]; then echo "initial()"; fi; # Sigh... I wish this was in Perl... $sm_path/parse_mc || true; }; #------------------------------------------------------------- # Handle found databases #------------------------------------------------------------- is_found () { if [ $verbosity -gt 1 ]; then echo "is_found: $dbfeat - $dbname"; fi; process=1; case "$dbfeat" in ALIAS_FILE) if [ -f /etc/mail/aliases ] & [ ! -f /etc/aliases ]; then echo "Moving /etc/mail/aliases to /etc/aliases"; mv /etc/mail/aliases /etc/aliases; ln -sf ../aliases /etc/mail/aliases; fi; ;; submit.cf) if [ ! -f /usr/share/sendmail/cf/feature/msp.m4 ]; then rm -f /etc/mail/submit.cf 2>/dev/null; rm -f /etc/mail/submit.cf.errors 2>/dev/null; process=0; fi; ;; *) ;; esac; }; #------------------------------------------------------------- # Handle missing databases: # moving /etc/xxx to /etc/mail/xxx # rename /etc/mail/xxx to /etc/mail/yyy #------------------------------------------------------------- move_file () { if [ -f $1 ]; then if [ ! -L $1 ]; then echo "Moving $1 to $dbname."; mv $1 $dbname; chown root:smmsp $dbname; chmod 0644 $dbname; if [ -f $1.db ]; then mv -f /etc/$1.db $dbname.db; fi; if [ -f $1.pag ]; then mv -f /etc/$1.pag $dbname.pag; fi; if [ -f $1.dir ]; then mv -f /etc/$1.dir $dbname.dir; fi; changed=1; process=1; else echo "$1 is a link, move it to $dbname"; if [ "$dbopts" = "-o" ]; then missing_opt=`expr $missing_opt + 1`; else missing_rqd=`expr $missing_rqd + 1`; fi; fi; true; else false; fi; }; rename_file () { if [ -f /etc/mail/$1 ]; then echo "Renaming /etc/mail/$1 to $dbname."; mv /etc/mail/$1 $dbname; chown root:smmsp $dbname; chmod 0644 $dbname; changed=1; process=1; true; else false; fi; }; is_not_found () { if [ $verbosity -gt 1 ]; then echo "is_not_found: $dbfeat - $dbname"; fi; case "$dbfeat" in databases|Makefile) :; ;; use_cw_file|confCW_FILE) if move_file /etc/local-host-names; then :; elif rename_file sendmail.cw; then :; elif move_file /etc/sendmail.cw; then :; else missing_cre=`expr $missing_cre + 1`; echo "Warning: $dbfeat source" \ "file not found: $dbname"; echo " it was created"; echo "localhost" > $dbname; echo `hostname -f` >> $dbname; chown root:smmsp $dbname; chmod 0644 $dbname; fi; ;; use_ct_file|confCT_FILE) if move_file /etc/trusted-users; then :; elif rename_file sendmail.ct; then :; elif move_file /etc/sendmail.ct; then :; else missing_cre=`expr $missing_cre + 1`; echo "Warning: $dbfeat source" \ "file not found: $dbname"; echo " it was created"; touch $dbname; chown root:smmsp $dbname; chmod 0644 $dbname; fi; ;; HELP_FILE) if move_file /etc/sendmail.hf; then :; elif rename_file sendmail.hf; then :; else echo "Error: $dbfeat source file not found: $dbname"; missing_rqd=`expr $missing_rqd + 1`; process=0; fi; ;; ALIAS_FILE) if [ -e /etc/$dbsname ]; then echo "Linking /etc/$dbsname to $dbname"; ln -sf ../$dbsname $dbname; if [ -f /etc/$dbsname.db ]; then mv /etc/$dbsname.db /etc/mail; fi; if [ -f /etc/$dbsname.pag ]; then mv /etc/$dbsname.pag /etc/mail; fi; if [ -f /etc/$dbsname.dir ]; then mv /etc/$dbsname.dir /etc/mail; fi; elif [ "$dbopts" = "-o" ]; then echo "Informational: $dbfeat source" \ "file not found: $dbname"; missing_opt=`expr $missing_opt + 1`; process=0; else echo "Error: $dbfeat source file not found: $dbname"; missing_rqd=`expr $missing_rqd + 1`; process=0; fi; ;; *.cf) mcfile=$(echo "$dbsname" | sed -e 's/\..*//') if move_file /etc/$dbsname; then if [ -f /etc/${mcfile}.cf ]; then mv -f /etc/${mcfile}.cf /etc/mail/; fi; elif [ "$mcfile" = "sendmail" ]; then cp /usr/share/sendmail/cf/debian/sendmail.mc \ $dbname; chown root:smmsp $dbname; chmod 0644 $dbname; elif [ "$mcfile" = "submit" ]; then cp /usr/share/sendmail/cf/debian/submit.mc \ $dbname; chown root:smmsp $dbname; chmod 0644 $dbname; elif [ "$dbopts" = "-o" ]; then echo "Informational: $dbfeat source" \ "file not found: $dbname"; missing_opt=`expr $missing_opt + 1`; process=0; else echo "Error: $dbfeat source file not found: $dbname"; missing_rqd=`expr $missing_rqd + 1`; process=0; fi; ;; QUEUE_GROUP) echo "Warning: $dbfeat source" \ "file not found: $dbname"; echo " it was created"; mkdir -p $dbname; chown root:smmsp $dbname; chmod 02750 $dbname; ;; crontab) if [ -x $sm_path/update_conf ]; then $sm_path/update_conf; fi; ;; access_db) missing_cre=`expr $missing_cre + 1`; echo "Warning: $dbfeat source" \ "file not found: $dbname"; echo " it was created"; cp /usr/share/sendmail/examples/db/access \ /etc/mail/; chown root:root $dbname; chmod 0644 $dbname; ;; *) if move_file /etc/$dbsname; then :; elif [ "$dbopts" = "-o" ]; then :; else missing_cre=`expr $missing_cre + 1`; echo "Warning: $dbfeat source" \ "file not found: $dbname"; echo " it was created"; touch $dbname; chown root:smmsp $dbname; chmod 0644 $dbname; fi; ;; esac; }; #------------------------------------------------------------- # Handle empty databases #------------------------------------------------------------- is_empty () { if [ $verbosity -gt 1 ]; then echo "is_empty: $dbfeat - $dbname"; fi; if [ $process -eq 1 ]; then if [ "$dbtype" != "-" ]; then rm -f $dbname.db; rm -f $dbname.pag; rm -f $dbname.dir; fi; case "$dbfeat" in databases|Makefile) :; ;; access_db) cp /usr/share/sendmail/examples/db/access \ /etc/mail/; chown root:root $dbname; chmod 0644 $dbname; ;; *) echo "Informational: $dbfeat file empty: $dbname"; if [ "$dbopts" = "-o" ]; then process=0; fi; ;; esac; fi; }; #------------------------------------------------------------- # Handle no data (exists, but is only comments) databases #------------------------------------------------------------- is_comments () { if [ $verbosity -gt 1 ]; then echo "is_comments: $dbfeat - $dbname"; fi; if [ $process -eq 1 ] && [ -s "$dbname" ]; then if [ "$dbtype" != "-" ]; then rm -f $dbname.db; rm -f $dbname.pag; rm -f $dbname.dir; fi; case "$dbfeat" in databases|Makefile) :; ;; *) echo "Informational: $dbfeat no data: $dbname"; if [ "$dbopts" = "-o" ]; then process=0; fi; ;; esac; fi; }; #------------------------------------------------------------- # Handle normal databases (exists, has data) #------------------------------------------------------------- is_normal () { if [ $verbosity -gt 1 ]; then echo "is_normal: $dbfeat - $dbname"; fi; # Make sure sensitive databases are *not* generally readable if [ "$dbsname" = "authinfo" ] \ || [ "$dbsname" = "access" ]; then chmod go-rwx $dbname; fi; if [ $process -eq 1 ] && [ $max_rc -eq 0 ]; then case "$dbtype" in '-'|text|ldap) :; ;; parse_mc) $sm_path/parse_mc || true; ;; update_conf) $sm_path/update_conf || true; ;; update_mk) $sm_path/update_mk || true; ;; btree) echo "Updating $dbname..."; /usr/sbin/makemap -d $dbtype $dbname.new.db < $dbname; chown root:smmsp $dbname.new.db; chmod 0644 $dbname.new.db; mv -f $dbname.new.db $dbname.db; ;; dbm | btree | hash) echo "Updating $dbname..."; /usr/sbin/makemap $dbtype $dbname.new.db < $dbname; if [ "$dbsname" = "authinfo" ] \ || [ "$dbsname" = "access" ]; then chown smmta:smmsp $dbname.new.db; chmod 0640 $dbname.new.db; else chown root:smmsp $dbname.new.db; chmod 0640 $dbname.new.db; fi; mv -f $dbname.new.db $dbname.db; ;; newaliases) echo "Updating $dbname..."; if [ $newaliases_run -eq 0 ]; then newaliases_run=1; /usr/lib/sm.bin/newaliases || true; fi; if [ -f $dbname.db ]; then chown smmta:smmsp $dbname.db; chmod 0640 $dbname.db; fi; ;; m4) mcfile=$(echo "$dbsname" | sed -e 's/\..*//'); echo "Creating /etc/mail/${mcfile}.cf..."; rm -f /etc/mail/${mcfile}.cf.errors; m4 /etc/mail/${mcfile}.mc \ > /etc/mail/${mcfile}.cf.new \ 2> /etc/mail/${mcfile}.cf.errors || true; echo "### /etc/mail/${mcfile}.mc ###" \ >> /etc/mail/${mcfile}.cf.new; sed -e 's/^/# /' /etc/mail/${mcfile}.mc \ >> /etc/mail/${mcfile}.cf.new; chown root:smmsp /etc/mail/${mcfile}.cf.new; chmod 0644 /etc/mail/${mcfile}.cf.new; if [ ! -s /etc/mail/${mcfile}.cf.errors ]; then rm -f /etc/mail/${mcfile}.cf.errors; else chown root:smmsp /etc/mail/${mcfile}.cf.errors; cat /etc/mail/${mcfile}.cf.errors; echo " "; m4_errors=1; fi; # Can't tell if the errors are fatal or not ;-{ mv -f /etc/mail/${mcfile}.cf.new \ /etc/mail/${mcfile}.cf; ;; *) echo "$dbtype map not done herein"; ;; esac; fi; }; #------------------------------------------------------------- # Handle completion #------------------------------------------------------------- final () { if [ $verbosity -gt 1 ]; then echo "final()"; fi; }; # status report if not for single database if [ -z "$1" ]; then echo "Checking {sendmail,submit}.mc and related databases..."; else db_files="$1"; fi; initial; for file in $db_files; do \ line=$(grep -Ee "^[[:space:]]*$file" \ /etc/mail/databases || true); while ([ "$line" != "" ]); do str=$(echo "$line" | head -n 1) line=$(echo "$line" | tail -n +2) # Strip line back into four pieces: feature, type, opts, name dbfeat=$(echo "$str" | cut -d ":" -f 1); dbtype=$(echo "$str" | cut -d ":" -f 2); dbopts=$(echo "$str" | cut -d ":" -f 3); dbname=$(echo "$str" | cut -d ":" -f 4); dbregx=$(echo "$str" | cut -d ":" -f 5); if [ $(dirname "$dbname") = "/etc/mail" ]; then dbsname=$(basename "$dbname"); elif [ $(dirname "$dbname") = "/etc" ]; then dbsname=$(basename "$dbname"); else dbsname="$dbname"; fi; if [ "$dbopts" = "-" ]; then dbopts=""; fi; if [ "$dbregx" = "-" ]; then dbregx=""; fi; # Check to see if we're doing one, or all if [ ! -z "$1" ]; then if [ "$1" = "$dbfeat" ] \ || [ "$1" = "$dbname" ] \ || [ "$1" = "$dbsname" ]; then :; else continue; fi; fi; # Check for special database types case "$dbtype" in ldap) if [ $verbosity -gt 0 ]; then echo "Skipping $dbname..."; fi; continue ;; dbm | btree | hash) if [ ! -x /usr/lib/sm.bin/makemap ]; then echo "Delaying $dbname..."; continue; fi; ;; newaliases) if [ ! -x /usr/lib/sm.bin/newaliases ]; then echo "Delaying $dbname..."; continue; fi; ;; *) ;; esac; # Kluge for aliases... if [ "$dbname" = "ldap" ]; then continue; fi; if [ "$dbname" = "null" ]; then continue; fi; process=1; if [ $verbosity -gt 0 ]; then echo "Processing $dbname..."; fi; # Check for database existance if [ -f "$dbname" ] || [ -d "$dbname" ]; then is_found; else is_not_found; fi; # Skip the rest for directories if [ ! -d "$dbname" ]; then # Check for something in database if [ ! -s "$dbname" ]; then is_empty; fi; # Check for real data (not just comments) if [ $process -eq 1 ]; then if ! grep -qEe "^[[:space:]]*[^$\#]" $dbname; then is_comments; fi; fi; # Finally, assume a normal file... is_normal; fi; done; done; final; # Final notices... if [ $changed -ne 0 ]; then echo " "; echo "Informational: Some changes were made to file locations"; echo " Make sure sendmail.cf is rebuilt"; if [ $max_rc -lt 1 ]; then max_rc=1; fi; fi; if [ $missing_opt -ne 0 ]; then echo " "; echo "Informational: $missing_opt optional database(s) sources"; echo " were not found, please investigate."; fi; if [ $missing_cre -ne 0 ]; then echo " "; echo "Warning: $missing_cre database(s) sources"; echo " were not found, (but were created)"; echo " please investigate."; fi; if [ $missing_rqd -ne 0 ]; then echo " "; echo "Error: $missing_rqd required database(s) sources"; echo " were not found, correct this before starting sendmail!"; if [ $max_rc -lt 2 ]; then max_rc=2; fi; fi; if [ $missing_opt -ne 0 ] || [ $missing_rqd -ne 0 ]; then echo " "; echo "$0 assumes that databases, and their source datasets"; echo "have the same base name (not counting the .db). If this is not"; echo "true, $0 can not rebuild your databases to make sure"; echo "they will work with the newer sendmail. You will have to do this"; echo "yourself - before starting sendmail."; echo " "; fi; if [ $m4_errors -ne 0 ]; then echo " "; echo "Warning: These messages were issued while creating sendmail.cf"; echo " make sure they are benign before starting sendmail!"; echo " "; if [ -f /etc/mail/sendmail.cf.errors ]; then echo "Errors in generating sendmail.cf"; cat /etc/mail/sendmail.cf.errors; fi; if [ -f /etc/mail/submit.cf.errors ]; then echo "Errors in generating submit.cf"; cat /etc/mail/submit.cf.errors; fi; echo " " if [ $max_rc -lt 2 ]; then max_rc=2; fi; fi; exit $max_rc;
Close