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.119.13.56
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 /
sbin /
[ HOME SHELL ]
Name
Size
Permission
Action
a2disconf
15.89
KB
-rwxr-xr-x
a2dismod
15.89
KB
-rwxr-xr-x
a2dissite
15.89
KB
-rwxr-xr-x
a2enconf
15.89
KB
-rwxr-xr-x
a2enmod
15.89
KB
-rwxr-xr-x
a2ensite
15.89
KB
-rwxr-xr-x
a2query
9.64
KB
-rwxr-xr-x
aa-remove-unknown
3
KB
-rwxr-xr-x
aa-status
8.63
KB
-rwxr-xr-x
aa-teardown
139
B
-rwxr-xr-x
accessdb
14.38
KB
-rwxr-xr-x
acpid
59.02
KB
-rwxr-xr-x
add-shell
860
B
-rwxr-xr-x
addgnupghome
3
KB
-rwxr-xr-x
addgroup
36.9
KB
-rwxr-xr-x
adduser
36.9
KB
-rwxr-xr-x
agetty
67.38
KB
-rwxr-xr-x
apache2
692.07
KB
-rwxr-xr-x
apache2ctl
7.06
KB
-rwxr-xr-x
apachectl
7.06
KB
-rwxr-xr-x
apparmor_parser
1.46
MB
-rwxr-xr-x
apparmor_status
8.63
KB
-rwxr-xr-x
applygnupgdefaults
2.17
KB
-rwxr-xr-x
arp
69.3
KB
-rwxr-xr-x
arpd
78.27
KB
-rwxr-xr-x
arptables
215.32
KB
-rwxr-xr-x
arptables-nft
215.32
KB
-rwxr-xr-x
arptables-nft-restore
215.32
KB
-rwxr-xr-x
arptables-nft-save
215.32
KB
-rwxr-xr-x
arptables-restore
215.32
KB
-rwxr-xr-x
arptables-save
215.32
KB
-rwxr-xr-x
atd
30.01
KB
-rwxr-xr-x
badblocks
34.32
KB
-rwxr-xr-x
bcache-super-show
13.99
KB
-rwxr-xr-x
biosdecode
27.2
KB
-rwxr-xr-x
blkdeactivate
14.49
KB
-rwxr-xr-x
blkdiscard
34.23
KB
-rwxr-xr-x
blkid
118.26
KB
-rwxr-xr-x
blkzone
70.23
KB
-rwxr-xr-x
blockdev
66.23
KB
-rwxr-xr-x
bridge
102.3
KB
-rwxr-xr-x
cache_check
1.29
MB
-rwxr-xr-x
cache_dump
1.29
MB
-rwxr-xr-x
cache_metadata_size
1.29
MB
-rwxr-xr-x
cache_repair
1.29
MB
-rwxr-xr-x
cache_restore
1.29
MB
-rwxr-xr-x
cache_writeback
1.29
MB
-rwxr-xr-x
capsh
30.3
KB
-rwxr-xr-x
cfdisk
102.59
KB
-rwxr-xr-x
cgdisk
206.48
KB
-rwxr-xr-x
chcpu
46.23
KB
-rwxr-xr-x
check_forensic
952
B
-rwxr-xr-x
checksendmail
23.02
KB
-rwxr-xr-x
chgpasswd
66.2
KB
-rwxr-xr-x
chmem
62.23
KB
-rwxr-xr-x
chpasswd
58.2
KB
-rwxr-xr-x
chroot
42.34
KB
-rwxr-xr-x
clamd
210.41
KB
-rwxr-xr-x
clamonacc
194.41
KB
-rwxr-xr-x
cpgr
60.34
KB
-rwxr-xr-x
cppw
60.34
KB
-rwxr-xr-x
cron
54.63
KB
-rwxr-xr-x
cryptdisks_start
1.51
KB
-rwxr-xr-x
cryptdisks_stop
844
B
-rwxr-xr-x
cryptsetup
135.54
KB
-rwxr-xr-x
cryptsetup-reencrypt
105.32
KB
-rwxr-xr-x
ctrlaltdel
38.23
KB
-rwxr-xr-x
debugfs
225.8
KB
-rwxr-xr-x
delgroup
16.11
KB
-rwxr-xr-x
deluser
16.11
KB
-rwxr-xr-x
depmod
170.34
KB
-rwxr-xr-x
devlink
150.47
KB
-rwxr-xr-x
dhclient
508.98
KB
-rwxr-xr-x
dhclient-script
15.92
KB
-rwxr-xr-x
dmeventd
50.23
KB
-rwxr-xr-x
dmidecode
119
KB
-rwxr-xr-x
dmsetup
171.02
KB
-rwxr-xr-x
dmstats
171.02
KB
-rwxr-xr-x
dosfsck
58.08
KB
-rwxr-xr-x
dosfslabel
54.08
KB
-rwxr-xr-x
dovecot
98.4
KB
-rwxr-xr-x
dpkg-preconfigure
3.58
KB
-rwxr-xr-x
dpkg-reconfigure
4.34
KB
-rwxr-xr-x
dumpe2fs
30.38
KB
-rwxr-xr-x
e2freefrag
18.38
KB
-rwxr-xr-x
e2fsck
327.21
KB
-rwxr-xr-x
e2image
42.38
KB
-rwxr-xr-x
e2label
106.55
KB
-rwxr-xr-x
e2mmpstatus
30.38
KB
-rwxr-xr-x
e2scrub
7.13
KB
-rwxr-xr-x
e2scrub_all
5.27
KB
-rwxr-xr-x
e2undo
22.38
KB
-rwxr-xr-x
e4crypt
30.38
KB
-rwxr-xr-x
e4defrag
34.3
KB
-rwxr-xr-x
ebtables
215.32
KB
-rwxr-xr-x
ebtables-nft
215.32
KB
-rwxr-xr-x
ebtables-nft-restore
215.32
KB
-rwxr-xr-x
ebtables-nft-save
215.32
KB
-rwxr-xr-x
ebtables-restore
215.32
KB
-rwxr-xr-x
ebtables-save
215.32
KB
-rwxr-xr-x
era_check
1.29
MB
-rwxr-xr-x
era_dump
1.29
MB
-rwxr-xr-x
era_invalidate
1.29
MB
-rwxr-xr-x
era_restore
1.29
MB
-rwxr-xr-x
escapesrc
22.47
KB
-rwxr-xr-x
ethtool
375.05
KB
-rwxr-xr-x
etrn
5.96
KB
-rwxr-xr-x
faillock
14.15
KB
-rwxr-xr-x
fatlabel
54.08
KB
-rwxr-xr-x
fdformat
34.23
KB
-rwxr-xr-x
fdisk
150.27
KB
-rwxr-xr-x
filefrag
18.33
KB
-rwxr-xr-x
findfs
14.23
KB
-rwxr-xr-x
fixparts
74.48
KB
-rwxr-xr-x
fsadm
23.54
KB
-rwxr-xr-x
fsck
54.27
KB
-rwxr-xr-x
fsck.btrfs
1.16
KB
-rwxr-xr-x
fsck.cramfs
38.26
KB
-rwxr-xr-x
fsck.ext2
327.21
KB
-rwxr-xr-x
fsck.ext3
327.21
KB
-rwxr-xr-x
fsck.ext4
327.21
KB
-rwxr-xr-x
fsck.fat
58.08
KB
-rwxr-xr-x
fsck.minix
122.25
KB
-rwxr-xr-x
fsck.msdos
58.08
KB
-rwxr-xr-x
fsck.vfat
58.08
KB
-rwxr-xr-x
fsck.xfs
1.92
KB
-rwxr-xr-x
fsfreeze
14.23
KB
-rwxr-xr-x
fstab-decode
14.3
KB
-rwxr-xr-x
fstrim
70.23
KB
-rwxr-xr-x
gdisk
210.48
KB
-rwxr-xr-x
genccode
14.71
KB
-rwxr-xr-x
gencmn
14.75
KB
-rwxr-xr-x
genl
82.29
KB
-rwxr-xr-x
gennorm2
62.9
KB
-rwxr-xr-x
gensprep
26.8
KB
-rwxr-xr-x
getcap
14.3
KB
-rwxr-xr-x
getpcaps
14.3
KB
-rwxr-xr-x
getty
67.38
KB
-rwxr-xr-x
groupadd
90.95
KB
-rwxr-xr-x
groupdel
86.77
KB
-rwxr-xr-x
groupmems
62.24
KB
-rwxr-xr-x
groupmod
94.86
KB
-rwxr-xr-x
grpck
62.18
KB
-rwxr-xr-x
grpconv
58.05
KB
-rwxr-xr-x
grpunconv
58.05
KB
-rwxr-xr-x
grub-bios-setup
909.34
KB
-rwxr-xr-x
grub-install
1.11
MB
-rwxr-xr-x
grub-macbless
897.03
KB
-rwxr-xr-x
grub-mkconfig
8.54
KB
-rwxr-xr-x
grub-mkdevicemap
215.7
KB
-rwxr-xr-x
grub-probe
905.28
KB
-rwxr-xr-x
grub-reboot
4.73
KB
-rwxr-xr-x
grub-set-default
3.47
KB
-rwxr-xr-x
halt
973.23
KB
-rwxr-xr-x
hdparm
140.34
KB
-rwxr-xr-x
httxt2dbm
14.15
KB
-rwxr-xr-x
hwclock
102.35
KB
-rwxr-xr-x
iconvconfig
30.4
KB
-rwxr-xr-x
icupkg
23.07
KB
-rwxr-xr-x
ifconfig
85.11
KB
-rwxr-xr-x
init
1.55
MB
-rwxr-xr-x
insmod
170.34
KB
-rwxr-xr-x
installkernel
2.58
KB
-rwxr-xr-x
integritysetup
60.23
KB
-rwxr-xr-x
invoke-rc.d
16.64
KB
-rwxr-xr-x
ip
597.62
KB
-rwxr-xr-x
ip6tables
96.97
KB
-rwxr-xr-x
ip6tables-apply
6.89
KB
-rwxr-xr-x
ip6tables-legacy
96.97
KB
-rwxr-xr-x
ip6tables-legacy-restore
96.97
KB
-rwxr-xr-x
ip6tables-legacy-save
96.97
KB
-rwxr-xr-x
ip6tables-nft
215.32
KB
-rwxr-xr-x
ip6tables-nft-restore
215.32
KB
-rwxr-xr-x
ip6tables-nft-save
215.32
KB
-rwxr-xr-x
ip6tables-restore
96.97
KB
-rwxr-xr-x
ip6tables-restore-translate
215.32
KB
-rwxr-xr-x
ip6tables-save
96.97
KB
-rwxr-xr-x
ip6tables-translate
215.32
KB
-rwxr-xr-x
ipmaddr
17.99
KB
-rwxr-xr-x
iptables
96.97
KB
-rwxr-xr-x
iptables-apply
6.89
KB
-rwxr-xr-x
iptables-legacy
96.97
KB
-rwxr-xr-x
iptables-legacy-restore
96.97
KB
-rwxr-xr-x
iptables-legacy-save
96.97
KB
-rwxr-xr-x
iptables-nft
215.32
KB
-rwxr-xr-x
iptables-nft-restore
215.32
KB
-rwxr-xr-x
iptables-nft-save
215.32
KB
-rwxr-xr-x
iptables-restore
96.97
KB
-rwxr-xr-x
iptables-restore-translate
215.32
KB
-rwxr-xr-x
iptables-save
96.97
KB
-rwxr-xr-x
iptables-translate
215.32
KB
-rwxr-xr-x
iptunnel
25.99
KB
-rwxr-xr-x
irqbalance
62.92
KB
-rwxr-xr-x
irqbalance-ui
34.38
KB
-rwxr-xr-x
iscsi-iname
18.15
KB
-rwxr-xr-x
iscsi_discovery
5.16
KB
-rwxr-xr-x
iscsiadm
394.1
KB
-rwxr-xr-x
iscsid
410.3
KB
-rwxr-xr-x
iscsistart
366.29
KB
-rwxr-xr-x
isosize
30.23
KB
-rwxr-xr-x
kbdrate
13.99
KB
-rwxr-xr-x
killall5
26.38
KB
-rwxr-xr-x
kpartx
46.16
KB
-rwxr-xr-x
ldattach
34.23
KB
-rwxr-xr-x
ldconfig
387
B
-rwxr-xr-x
ldconfig.real
1
MB
-rwxr-xr-x
locale-gen
4.3
KB
-rwxr-xr-x
logrotate
82.09
KB
-rwxr-xr-x
logsave
14.16
KB
-rwxr-xr-x
losetup
110.34
KB
-rwxr-xr-x
lsmod
170.34
KB
-rwxr-xr-x
luksformat
3.32
KB
-rwxr-xr-x
lvchange
2.73
MB
-rwxr-xr-x
lvconvert
2.73
MB
-rwxr-xr-x
lvcreate
2.73
MB
-rwxr-xr-x
lvdisplay
2.73
MB
-rwxr-xr-x
lvextend
2.73
MB
-rwxr-xr-x
lvm
2.73
MB
-rwxr-xr-x
lvmconfig
2.73
MB
-rwxr-xr-x
lvmdiskscan
2.73
MB
-rwxr-xr-x
lvmdump
10.07
KB
-rwxr-xr-x
lvmpolld
232.05
KB
-rwxr-xr-x
lvmsadc
2.73
MB
-rwxr-xr-x
lvmsar
2.73
MB
-rwxr-xr-x
lvreduce
2.73
MB
-rwxr-xr-x
lvremove
2.73
MB
-rwxr-xr-x
lvrename
2.73
MB
-rwxr-xr-x
lvresize
2.73
MB
-rwxr-xr-x
lvs
2.73
MB
-rwxr-xr-x
lvscan
2.73
MB
-rwxr-xr-x
make-bcache
18.07
KB
-rwxr-xr-x
make-ssl-cert
3.78
KB
-rwxr-xr-x
mdadm
589.65
KB
-rwxr-xr-x
mdmon
325.49
KB
-rwxr-xr-x
mii-tool
26.46
KB
-rwxr-xr-x
mkdosfs
34.5
KB
-rwxr-xr-x
mke2fs
134.62
KB
-rwxr-xr-x
mkfs
14.23
KB
-rwxr-xr-x
mkfs.bfs
34.23
KB
-rwxr-xr-x
mkfs.btrfs
451.53
KB
-rwxr-xr-x
mkfs.cramfs
42.16
KB
-rwxr-xr-x
mkfs.ext2
134.62
KB
-rwxr-xr-x
mkfs.ext3
134.62
KB
-rwxr-xr-x
mkfs.ext4
134.62
KB
-rwxr-xr-x
mkfs.fat
34.5
KB
-rwxr-xr-x
mkfs.minix
106.23
KB
-rwxr-xr-x
mkfs.msdos
34.5
KB
-rwxr-xr-x
mkfs.ntfs
86.27
KB
-rwxr-xr-x
mkfs.vfat
34.5
KB
-rwxr-xr-x
mkfs.xfs
366.24
KB
-rwxr-xr-x
mkhomedir_helper
22.17
KB
-rwxr-xr-x
mkinitramfs
11.52
KB
-rwxr-xr-x
mklost+found
14.3
KB
-rwxr-xr-x
mkntfs
86.27
KB
-rwxr-xr-x
mkswap
106.23
KB
-rwxr-xr-x
modinfo
170.34
KB
-rwxr-xr-x
modprobe
170.34
KB
-rwxr-xr-x
mount.fuse
14.15
KB
-rwxr-xr-x
mount.lowntfs-3g
118.86
KB
-rwxr-xr-x
mount.ntfs
158.89
KB
-rwxr-xr-x
mount.ntfs-3g
158.89
KB
-rwxr-xr-x
mount.vmhgfs
46.48
KB
-rwxr-xr-x
mpathpersist
31.05
KB
-rwxr-xr-x
multipath
34.15
KB
-rwxr-xr-x
multipathd
126.2
KB
-rwxr-xr-x
nameif
18.14
KB
-rwxr-xr-x
netplan
798
B
-rwxr-xr-x
newusers
98.8
KB
-rwxr-xr-x
nfnl_osf
18.3
KB
-rwxr-xr-x
nologin
14.3
KB
-rwxr-xr-x
ntfsclone
58.27
KB
-rwxr-xr-x
ntfscp
42.26
KB
-rwxr-xr-x
ntfslabel
34.26
KB
-rwxr-xr-x
ntfsresize
78.27
KB
-rwxr-xr-x
ntfsundelete
54.26
KB
-rwxr-xr-x
on_ac_power
2.18
KB
-rwxr-xr-x
overlayroot-chroot
2.45
KB
-rwxr-xr-x
ownership
14.45
KB
-rwxr-xr-x
pam-auth-update
19.86
KB
-rwxr-xr-x
pam_extrausers_chkpwd
42.16
KB
-rwxr-sr-x
pam_extrausers_update
42.16
KB
-rwxr-xr-x
pam_getenv
2.82
KB
-rwxr-xr-x
pam_tally
14.16
KB
-rwxr-xr-x
pam_tally2
18.16
KB
-rwxr-xr-x
pam_timestamp_check
14.15
KB
-rwxr-xr-x
parted
86.25
KB
-rwxr-xr-x
partprobe
14.23
KB
-rwxr-xr-x
pdata_tools
1.29
MB
-rwxr-xr-x
pdns_server
4.68
MB
-rwxr-xr-x
pflogsumm
58.54
KB
-rwxr-xr-x
phpdismod
7.11
KB
-rwxr-xr-x
phpenmod
7.11
KB
-rwxr-xr-x
phpquery
6.24
KB
-rwxr-xr-x
pivot_root
14.23
KB
-rwxr-xr-x
plipconfig
14
KB
-rwxr-xr-x
plymouthd
146.41
KB
-rwxr-xr-x
popcon-largest-unused
543
B
-rwxr-xr-x
popularity-contest
5.23
KB
-rwxr-xr-x
postalias
22.15
KB
-rwxr-xr-x
postcat
22.22
KB
-rwxr-xr-x
postconf
187.63
KB
-rwxr-xr-x
postdrop
22.27
KB
-r-xr-sr-x
postfix
18.23
KB
-rwxr-xr-x
postfix-add-filter
4.9
KB
-rwxr-xr-x
postfix-add-policy
3.83
KB
-rwxr-xr-x
postkick
14.15
KB
-rwxr-xr-x
postlock
14.15
KB
-rwxr-xr-x
postlog
14.3
KB
-rwxr-xr-x
postmap
22.15
KB
-rwxr-xr-x
postmulti
30.54
KB
-rwxr-xr-x
postqueue
22.23
KB
-r-xr-sr-x
postsuper
30.48
KB
-rwxr-xr-x
posttls-finger
42.23
KB
-rwxr-xr-x
poweroff
973.23
KB
-rwxr-xr-x
pvchange
2.73
MB
-rwxr-xr-x
pvck
2.73
MB
-rwxr-xr-x
pvcreate
2.73
MB
-rwxr-xr-x
pvdisplay
2.73
MB
-rwxr-xr-x
pvmove
2.73
MB
-rwxr-xr-x
pvremove
2.73
MB
-rwxr-xr-x
pvresize
2.73
MB
-rwxr-xr-x
pvs
2.73
MB
-rwxr-xr-x
pvscan
2.73
MB
-rwxr-xr-x
pwck
58.17
KB
-rwxr-xr-x
pwconv
54.05
KB
-rwxr-xr-x
pwunconv
54.05
KB
-rwxr-xr-x
qmqp-sink
18.15
KB
-rwxr-xr-x
qmqp-source
22.16
KB
-rwxr-xr-x
qshape
12.55
KB
-rwxr-xr-x
rarp
40.45
KB
-rwxr-xr-x
raw
14.23
KB
-rwxr-xr-x
readprofile
22.26
KB
-rwxr-xr-x
reboot
973.23
KB
-rwxr-xr-x
remove-shell
904
B
-rwxr-xr-x
resize2fs
66.38
KB
-rwxr-xr-x
rmail
18.15
KB
-rwxr-xr-x
rmmod
170.34
KB
-rwxr-xr-x
rmt
58.55
KB
-rwxr-xr-x
rmt-tar
58.55
KB
-rwxr-xr-x
route
64.3
KB
-rwxr-xr-x
rsyslogd
710.2
KB
-rwxr-xr-x
rtacct
48.29
KB
-rwxr-xr-x
rtcwake
46.23
KB
-rwxr-xr-x
rtmon
78.24
KB
-rwxr-xr-x
runlevel
973.23
KB
-rwxr-xr-x
runuser
66.23
KB
-rwxr-xr-x
sasl-sample-server
22.56
KB
-rwxr-xr-x
saslauthd
102.8
KB
-rwxr-xr-x
sasldbconverter2
18.38
KB
-rwxr-xr-x
sasldblistusers2
18.38
KB
-rwxr-xr-x
saslpasswd2
14.37
KB
-rwxr-xr-x
saslpluginviewer
18.44
KB
-rwxr-xr-x
sendmail
34.3
KB
-rwxr-xr-x
sendmailconfig
21.17
KB
-rwxr-xr-x
sensible-mda
14.15
KB
-rwsr-xr-x
service
9.04
KB
-rwxr-xr-x
setcap
14.3
KB
-rwxr-xr-x
setvesablank
14.07
KB
-rwxr-xr-x
setvtrgb
14.13
KB
-rwxr-xr-x
sfdisk
138.23
KB
-rwxr-xr-x
sgdisk
190.48
KB
-rwxr-xr-x
shadowconfig
885
B
-rwxr-xr-x
shutdown
973.23
KB
-rwxr-xr-x
slattach
44.45
KB
-rwxr-xr-x
smtp-sink
35.09
KB
-rwxr-xr-x
smtp-source
30.17
KB
-rwxr-xr-x
split-logfile
2.36
KB
-rwxr-xr-x
sshd
863.79
KB
-rwxr-xr-x
start-stop-daemon
47.32
KB
-rwxr-xr-x
sulogin
50.23
KB
-rwxr-xr-x
swaplabel
18.23
KB
-rwxr-xr-x
swapoff
22.23
KB
-rwxr-xr-x
swapon
50.23
KB
-rwxr-xr-x
switch_root
14.23
KB
-rwxr-xr-x
sysctl
30.23
KB
-rwxr-xr-x
tarcat
936
B
-rwxr-xr-x
tc
529.45
KB
-rwxr-xr-x
tcpdump
1019.76
KB
-rwxr-xr-x
telinit
973.23
KB
-rwxr-xr-x
testsaslauthd
18.3
KB
-rwxr-xr-x
thin_check
1.29
MB
-rwxr-xr-x
thin_delta
1.29
MB
-rwxr-xr-x
thin_dump
1.29
MB
-rwxr-xr-x
thin_ls
1.29
MB
-rwxr-xr-x
thin_metadata_size
1.29
MB
-rwxr-xr-x
thin_repair
1.29
MB
-rwxr-xr-x
thin_restore
1.29
MB
-rwxr-xr-x
thin_rmap
1.29
MB
-rwxr-xr-x
thin_trim
1.29
MB
-rwxr-xr-x
tipc
126.23
KB
-rwxr-xr-x
tune2fs
106.55
KB
-rwxr-xr-x
tzconfig
106
B
-rwxr-xr-x
ufw
4.82
KB
-rwxr-xr-x
unix_chkpwd
42.15
KB
-rwxr-sr-x
unix_update
42.15
KB
-rwxr-xr-x
update-ca-certificates
5.29
KB
-rwxr-xr-x
update-grub
64
B
-rwxr-xr-x
update-grub-gfxpayload
301
B
-rwxr-xr-x
update-grub2
64
B
-rwxr-xr-x
update-info-dir
1.66
KB
-rwxr-xr-x
update-initramfs
7.25
KB
-rwxr-xr-x
update-locale
2.99
KB
-rwxr-xr-x
update-mime
9.18
KB
-rwxr-xr-x
update-passwd
34.56
KB
-rwxr-xr-x
update-pciids
1.71
KB
-rwxr-xr-x
update-rc.d
16.76
KB
-rwxr-xr-x
upgrade-from-grub-legacy
1.49
KB
-rwxr-xr-x
useradd
143.71
KB
-rwxr-xr-x
userdel
98.89
KB
-rwxr-xr-x
usermod
139.49
KB
-rwxr-xr-x
uuidd
42.3
KB
-rwxr-xr-x
validlocale
1.73
KB
-rwxr-xr-x
vcstime
13.99
KB
-rwxr-xr-x
veritysetup
51.82
KB
-rwxr-xr-x
vgcfgbackup
2.73
MB
-rwxr-xr-x
vgcfgrestore
2.73
MB
-rwxr-xr-x
vgchange
2.73
MB
-rwxr-xr-x
vgck
2.73
MB
-rwxr-xr-x
vgconvert
2.73
MB
-rwxr-xr-x
vgcreate
2.73
MB
-rwxr-xr-x
vgdisplay
2.73
MB
-rwxr-xr-x
vgexport
2.73
MB
-rwxr-xr-x
vgextend
2.73
MB
-rwxr-xr-x
vgimport
2.73
MB
-rwxr-xr-x
vgimportclone
2.73
MB
-rwxr-xr-x
vgmerge
2.73
MB
-rwxr-xr-x
vgmknodes
2.73
MB
-rwxr-xr-x
vgreduce
2.73
MB
-rwxr-xr-x
vgremove
2.73
MB
-rwxr-xr-x
vgrename
2.73
MB
-rwxr-xr-x
vgs
2.73
MB
-rwxr-xr-x
vgscan
2.73
MB
-rwxr-xr-x
vgsplit
2.73
MB
-rwxr-xr-x
vigr
68.55
KB
-rwxr-xr-x
vipw
68.55
KB
-rwxr-xr-x
visudo
218.2
KB
-rwxr-xr-x
vpddecode
18.58
KB
-rwxr-xr-x
wipefs
46.23
KB
-rwxr-xr-x
xfs_admin
1.38
KB
-rwxr-xr-x
xfs_bmap
695
B
-rwxr-xr-x
xfs_copy
90.28
KB
-rwxr-xr-x
xfs_db
620.09
KB
-rwxr-xr-x
xfs_estimate
14.01
KB
-rwxr-xr-x
xfs_freeze
800
B
-rwxr-xr-x
xfs_fsr
42.02
KB
-rwxr-xr-x
xfs_growfs
34.14
KB
-rwxr-xr-x
xfs_info
1.26
KB
-rwxr-xr-x
xfs_io
187.34
KB
-rwxr-xr-x
xfs_logprint
74.15
KB
-rwxr-xr-x
xfs_mdrestore
30.02
KB
-rwxr-xr-x
xfs_metadump
782
B
-rwxr-xr-x
xfs_mkfile
1.02
KB
-rwxr-xr-x
xfs_ncheck
685
B
-rwxr-xr-x
xfs_quota
86.01
KB
-rwxr-xr-x
xfs_repair
563.15
KB
-rwxr-xr-x
xfs_rtcp
17.99
KB
-rwxr-xr-x
xfs_scrub
102.11
KB
-rwxr-xr-x
xfs_scrub_all
5.86
KB
-rwxr-xr-x
xfs_spaceman
42.15
KB
-rwxr-xr-x
xtables-legacy-multi
96.97
KB
-rwxr-xr-x
xtables-monitor
215.32
KB
-rwxr-xr-x
xtables-nft-multi
215.32
KB
-rwxr-xr-x
zerofree
9.99
KB
-rwxr-xr-x
zic
62.29
KB
-rwxr-xr-x
zramctl
114.34
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : qshape
#! /usr/bin/perl -w # To view the formatted manual page of this file, type: # POSTFIXSOURCE/mantools/srctoman - qshape | nroff -man #++ # NAME # qshape 1 # SUMMARY # Print Postfix queue domain and age distribution # SYNOPSIS # .fi # \fBqshape\fR [\fB-s\fR] [\fB-p\fR] [\fB-m \fImin_subdomains\fR] # [\fB-b \fIbucket_count\fR] [\fB-t \fIbucket_time\fR] # [\fB-l\fR] [\fB-w \fIterminal_width\fR] # [\fB-N \fIbatch_msg_count\fR] [\fB-n \fIbatch_top_domains\fR] # [\fB-c \fIconfig_directory\fR] [\fIqueue_name\fR ...] # DESCRIPTION # The \fBqshape\fR program helps the administrator understand the # Postfix queue message distribution in time and by sender domain # or recipient domain. The program needs read access to the queue # directories and queue files, so it must run as the superuser or # the \fBmail_owner\fR specified in \fBmain.cf\fR (typically # \fBpostfix\fR). # # Options: # .IP \fB-s\fR # Display the sender domain distribution instead of the recipient # domain distribution. By default the recipient distribution is # displayed. There can be more recipients than messages, but as # each message has only one sender, the sender distribution is a # message distribution. # .IP \fB-p\fR # Generate aggregate statistics for parent domains. Top level domains # are not shown, nor are domains with fewer than \fImin_subdomains\fR # subdomains. The names of parent domains are shown with a leading dot, # (e.g. \fI.example.com\fR). # .IP "\fB-m \fImin_subdomains\fR" # When used with the \fB-p\fR option, sets the minimum subdomain count # needed to show a separate line for a parent domain. The default is 5. # .IP "\fB-b \fIbucket_count\fR" # The age distribution is broken up into a sequence of geometrically # increasing intervals. This option sets the number of intervals # or "buckets". Each bucket has a maximum queue age that is twice # as large as that of the previous bucket. The last bucket has no # age limit. # .IP "\fB-t \fIbucket_time\fR" # The age limit in minutes for the first time bucket. The default # value is 5, meaning that the first bucket counts messages between # 0 and 5 minutes old. # .IP "\fB-l\fR" # Instead of using a geometric age sequence, use a linear age sequence, # in other words simple multiples of \fBbucket_time\fR. # # This feature is available in Postfix 2.2 and later. # .IP "\fB-w \fIterminal_width\fR" # The output is right justified, with the counts for the last # bucket shown on the 80th column, the \fIterminal_width\fR can be # adjusted for wider screens allowing more buckets to be displayed # without truncating the domain names on the left. When a row for a # full domain name and its counters does not fit in the specified # number of columns, only the last 17 bytes of the domain name # are shown with the prefix replaced by a '+' character. Truncated # parent domain rows are shown as '.+' followed by the last 16 bytes # of the domain name. If this is still too narrow to show the domain # name and all the counters, the terminal_width limit is violated. # .IP "\fB-N \fIbatch_msg_count\fR" # When the output device is a terminal, intermediate results are # shown each "batch_msg_count" messages. This produces usable results # in a reasonable time even when the deferred queue is large. The # default is to show intermediate results every 1000 messages. # .IP "\fB-n \fIbatch_top_domains\fR" # When reporting intermediate or final results to a termainal, report # only the top "batch_top_domains" domains. The default limit is 20 # domains. # .IP "\fB-c \fIconfig_directory\fR" # The \fBmain.cf\fR configuration file is in the named directory # instead of the default configuration directory. # .PP # Arguments: # .IP \fIqueue_name\fR # By default \fBqshape\fR displays the combined distribution of # the incoming and active queues. To display a different set of # queues, just list their directory names on the command line. # Absolute paths are used as is, other paths are taken relative # to the \fBmain.cf\fR \fBqueue_directory\fR parameter setting. # While \fBmain.cf\fR supports the use of \fI$variable\fR expansion # in the definition of the \fBqueue_directory\fR parameter, the # \fBqshape\fR program does not. If you must use variable expansions # in the \fBqueue_directory\fR setting, you must specify an explicit # absolute path for each queue subdirectory even if you want the # default incoming and active queue distribution. # SEE ALSO # mailq(1), List all messages in the queue. # QSHAPE_README Examples and background material. # FILES # $config_directory/main.cf, Postfix installation parameters. # $queue_directory/maildrop/, local submission directory. # $queue_directory/incoming/, new message queue. # $queue_directory/hold/, messages waiting for tech support. # $queue_directory/active/, messages scheduled for delivery. # $queue_directory/deferred/, messages postponed for later delivery. # LICENSE # .ad # .fi # The Secure Mailer license must be distributed with this software. # AUTHOR(S) # Victor Duchovni # Morgan Stanley #-- use strict; use IO::File; use File::Find; use Getopt::Std; my $cls; # Clear screen escape sequence my $batch_msg_count; # Interim result frequency my $batch_top_domains; # Interim result count my %opts; # Command line switches my %q; # domain counts for queues and buckets my %sub; # subdomain counts for parent domains my $now = time; # reference time my $bnum = 10; # deferred queue bucket count my $width = 80; # screen char width my $dwidth = 18; # min width of domain field my $tick = 5; # minutes my $minsub = 5; # Show parent domains with at least $minsub subdomains my @qlist = qw(incoming active); do { local $SIG{__WARN__} = sub { warn "$0: $_[0]" unless exists($opts{"h"}); die "Usage: $0 [ -s ] [ -p ] [ -m <min_subdomains> ] [ -l ]\n". "\t[ -b <bucket_count> ] [ -t <bucket_time> ] [ -w <terminal_width> ]\n". "\t[ -N <batch_msg_count> ] [ -n <batch_top_domains> ]\n". "\t[ -c <config_directory> ] [ <queue_name> ... ]\n". "The 's' option shows sender domain counts.\n". "The 'p' option shows address counts by for parent domains.\n". "Parent domains are shown with a leading '.' before the domain name.\n". "Parent domains are only shown if the the domain is not a TLD, and at\n". "least <min_subdomains> (default 5) subdomains are shown in the output.\n\n". "The bucket age ranges in units of <bucket_time> minutes are\n". "[0,1), [1,2), [2,4), [4,8), [8, 16), ... i.e.:\n". "\tthe first bucket is [0, bucket_time) minutes\n". "\tthe second bucket is [bucket_time, 2*bucket_time) minutes\n". "\tthe third bucket is [2*bucket_time, 4*bucket_time) minutes...\n". "'-l' makes the ages linear, the number of buckets shown is <bucket_count>\n\n". "The default summary is for the incoming and active queues. An explicit\n". "list of queue names can be given on the command line. Non-absolute queue\n". "names are interpreted relative to the Postfix queue directory. Use\n". "<config_directory> to specify a non-default Postfix instance. Values of\n". "the main.cf queue_directory parameter that use variable expansions are\n". "not supported. If necessary, use explicit absolute paths for all queues.\n"; }; getopts("lhc:psw:b:t:m:n:N:", \%opts); warn "Help message" if (exists $opts{"h"}); @qlist = @ARGV if (@ARGV > 0); # The -c option specifies the configuration directory, # it is not used if all queue names are absolute. # foreach (@qlist) { next if (m{^/}); $ENV{q{MAIL_CONFIG}} = $opts{"c"} if (exists $opts{"c"}); chomp(my $qdir = qx{postconf -h queue_directory}); die "$0: postconf failed\n" if ($? != 0); warn "'queue_directory' variable expansion not supported: $qdir\n" if ($qdir =~ /\$/); chdir($qdir) or die "$0: chdir($qdir): $!\n"; last; } }; $width = $opts{"w"} if (exists $opts{"w"} && $opts{"w"} > 80); $bnum = $opts{"b"} if (exists $opts{"b"} && $opts{"b"} > 0); $tick = $opts{"t"} if (exists $opts{"t"} && $opts{"t"} > 0); $minsub = $opts{"m"} if (exists $opts{"m"} && $opts{"m"} > 0); if ( -t STDOUT ) { $batch_msg_count = 1000 unless defined($batch_msg_count = $opts{"N"}); $batch_top_domains = 20 unless defined ($batch_top_domains = $opts{"n"}); $cls = `clear`; } else { $batch_msg_count = 0; $batch_top_domains = 0; $cls = ""; } sub rec_get { my ($h) = @_; my $r = getc($h) || return; my $l = 0; my $shift = 0; while (defined(my $lb = getc($h))) { my $o = ord($lb); $l |= ($o & 0x7f) << $shift ; last if (($o & 0x80) == 0); $shift += 7; return if ($shift > 14); # XXX: max rec len of 2097151 } my $d = ""; return unless ($l == 0 || read($h,$d,$l) == $l); ($r, $l, $d); } sub qenv { my ($qfile) = @_; return unless $qfile =~ m{(^|/)[A-Za-z0-9]{6,}$}; my @st = lstat($qfile); return unless (@st > 0 && -f _ && (($st[2] & 0733) == 0700)); my $h = new IO::File($qfile, "r") || return; my ($t, $s, @r, $dlen); my ($r, $l, $d) = rec_get($h); if ($r eq "C") { # XXX: Sanity check, the first record type is REC_TYPE_SIZE (C) # if the file is proper queue file written by "cleanup", in # this case the second record is always REC_TYPE_TIME. # $dlen = $1 if ($d =~ /^\s*(\d+)\s+\d+\s+\d+/); ($r, $l, $d) = rec_get($h); return unless (defined $r && $r eq "T"); ($t) = split(/\s+/, $d); } elsif ($r eq "S" || $r eq "F") { # For embryonic queue files in the "maildrop" directory the first # record is either a REC_TYPE_FULL (F) followed by REC_TYPE_FROM # or an immediate REC_TYPE_FROM (S). In either case there is no # REC_TYPE_TIME and we get the timestamp via lstat(). # $t = $st[9]; if ($r ne "S") { ($r, $l, $d) = rec_get($h); return unless (defined $r && $r eq "S"); } $s = $d; } else { # XXX: Not a valid queue file! # return undef; } while (my ($r, $l, $d) = rec_get($h)) { if ($r eq "p" && $d > 0) { seek($h, $d, 0) or return (); # follow pointer } if ($r eq "R") { push(@r, $d); } elsif ($r eq "S") { $s = $d; } elsif ($r eq "M") { last unless (defined($s)); if (defined($dlen)) { seek($h, $dlen, 1) or return (); # skip content ($r, $l, $d) = rec_get($h); } else { while ((($r, $l, $d) = rec_get($h)) && ($r =~ /^[NLp]$/)) { if ($r eq "p" && $d > 0) { seek($h, $d, 0) or return (); # follow pointer } } } return unless (defined($r) && $r eq "X"); } elsif ($r eq "E") { last unless (defined($t) && defined($s) && @r); return ($t, $s, @r); } } return (); } # bucket 0 is the total over all the buckets. # buckets 1 to $bnum contain the age breakdown. # sub bucket { my ($qt, $now) = @_; my $m = ($now - $qt) / (60 * $tick); return 1 if ($m < 1); my $b = $opts{"l"} ? int($m+1) : 2 + int(log($m) / log(2)); $b < $bnum ? $b : $bnum; } # Collate by age of message in the selected queues. # my $msgs; sub wanted { if (my ($t, $s, @r) = qenv($_)) { my $b = bucket($t, $now); foreach my $a (map {lc($_)} ($opts{"s"} ? ($s) : @r)) { ++$q{"TOTAL"}->[0]; ++$q{"TOTAL"}->[$b]; $a = "MAILER-DAEMON" if ($a eq ""); $a =~ s/.*\@//; $a =~ s/\.\././g; $a =~ s/\.?(.+?)\.?$/$1/; my $new = 0; do { my $old = (++$q{$a}->[0] > 1); ++$q{$a}->[$b]; ++$sub{$a} if ($new); $new = ! $old; } while ($opts{"p"} && $a =~ s/^(?:\.)?[^.]+\.(.*\.)/.$1/); } if ($batch_msg_count > 0 && ++$msgs % $batch_msg_count == 0) { results(); } } } my @heads; my $fmt; my $dw; sub pdomain { my ($d, @count) = @_; foreach ((0 .. $bnum)) { $count[$_] ||= 0; } my $len = length($d); if ($len > $dw) { if (substr($d, 0, 1) eq ".") { print ".+",substr($d, $len-$dw+2, $dw-2); } else { print "+",substr($d, $len-$dw+1, $dw-1); } } else { print (" " x ($dw - $len), $d); } printf "$fmt\n", @count; } sub results { @heads = (); $dw = $width; $fmt = ""; for (my $i = 0, my $t = 0; $i <= $bnum; ) { $q{"TOTAL"}->[$i] ||= 0; my $l = length($q{"TOTAL"}->[$i]); my $h = ($i == 0) ? "T" : $t; $l = length($h) if (length($h) >= $l); $l = ($l > 2) ? $l + 1 : 3; push(@heads, $h); $fmt .= sprintf "%%%ds", $l; $dw -= $l; if (++$i < $bnum) { $t += ($t && !$opts{"l"}) ? $t : $tick; } else { $t = "$t+"; } } $dw = $dwidth if ($dw < $dwidth); print $cls if ($batch_msg_count > 0); # Print headings # pdomain("", @heads); my $n = 0; # Show per-domain totals # foreach my $d (sort { $q{$b}->[0] <=> $q{$a}->[0] || length($a) <=> length($b) } keys %q) { # Skip parent domains with < $minsub subdomains. # next if ($d =~ /^\./ && $sub{$d} < $minsub); last if ($batch_top_domains > 0 && ++$n > $batch_top_domains); pdomain($d, @{$q{$d}}); } } find(\&wanted, @qlist); results();
Close