Linux s17.hosterpk.com 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
LiteSpeed
Server IP : 192.169.89.90 & Your IP : 216.73.216.41
Domains :
Cant Read [ /etc/named.conf ]
User : hamzalar
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
GET
15.87
KB
-rwxr-xr-x
2024-10-29 00:00
MagickCore-config
1.77
KB
-rwxr-xr-x
2025-03-30 00:00
MagickWand-config
1.59
KB
-rwxr-xr-x
2025-03-30 00:00
Mail
1.01
MB
-rwxr-xr-x
2024-10-29 00:00
[
47.91
KB
-rwxr-xr-x
2026-01-15 00:00
aclocal
35.18
KB
-rwxr-xr-x
2024-11-27 00:00
aclocal-1.16
35.18
KB
-rwxr-xr-x
2024-11-27 00:00
addr2line
32.07
KB
-rwxr-xr-x
2026-02-04 00:00
animate
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
ar
60.41
KB
-rwxr-xr-x
2026-02-04 00:00
arch
35.8
KB
-rwxr-xr-x
2026-01-15 00:00
arpaname
15.43
KB
-rwxr-xr-x
2026-03-27 00:00
as
687.16
KB
-rwxr-xr-x
2026-02-04 00:00
aspell
150.35
KB
-rwxr-xr-x
2024-10-29 00:00
at
1.25
KB
-rwxr-xr-x
2025-09-19 00:00
atq
1.25
KB
-rwxr-xr-x
2025-09-19 00:00
atrm
1.25
KB
-rwxr-xr-x
2025-09-19 00:00
autoconf
14.85
KB
-rwxr-xr-x
2025-03-14 00:00
autoheader
8.82
KB
-rwxr-xr-x
2025-03-14 00:00
autom4te
32.69
KB
-rwxr-xr-x
2025-03-14 00:00
automake
255.91
KB
-rwxr-xr-x
2024-11-27 00:00
automake-1.16
255.91
KB
-rwxr-xr-x
2024-11-27 00:00
autoreconf
26.3
KB
-rwxr-xr-x
2025-03-14 00:00
autoscan
16.77
KB
-rwxr-xr-x
2025-03-14 00:00
autoupdate
33.22
KB
-rwxr-xr-x
2025-03-14 00:00
awk
745.91
KB
-rwxr-xr-x
2024-10-29 00:00
b2sum
55.91
KB
-rwxr-xr-x
2026-01-15 00:00
base32
39.82
KB
-rwxr-xr-x
2026-01-15 00:00
base64
39.84
KB
-rwxr-xr-x
2026-01-15 00:00
basename
35.8
KB
-rwxr-xr-x
2026-01-15 00:00
basenc
52.19
KB
-rwxr-xr-x
2026-01-15 00:00
bash
1.35
MB
-rwxr-xr-x
2024-10-29 00:00
bashbug-64
7.11
KB
-rwxr-xr-x
2024-10-29 00:00
batch
140
B
-rwxr-xr-x
2025-09-19 00:00
bison
494.29
KB
-rwxr-xr-x
2024-10-29 00:00
bunzip2
39.77
KB
-rwxr-xr-x
2024-12-19 00:00
bzcat
39.77
KB
-rwxr-xr-x
2024-12-19 00:00
bzcmp
2.09
KB
-rwxr-xr-x
2024-12-19 00:00
bzdiff
2.09
KB
-rwxr-xr-x
2024-12-19 00:00
bzgrep
2.01
KB
-rwxr-xr-x
2024-12-19 00:00
bzip2
39.77
KB
-rwxr-xr-x
2024-12-19 00:00
bzip2recover
19.55
KB
-rwxr-xr-x
2024-12-19 00:00
bzless
1.23
KB
-rwxr-xr-x
2024-12-19 00:00
bzmore
1.23
KB
-rwxr-xr-x
2024-12-19 00:00
c++
1.32
MB
-rwxr-xr-x
2026-02-26 00:00
c++filt
27.52
KB
-rwxr-xr-x
2026-02-04 00:00
c89
228
B
-rwxr-xr-x
2026-02-26 00:00
c99
219
B
-rwxr-xr-x
2026-02-26 00:00
cagefs_enter.proxied
1.27
KB
-rwxr-xr-x
2025-12-07 00:00
cal
52.21
KB
-rwxr-xr-x
2026-01-15 00:00
captoinfo
92.23
KB
-rwxr-xr-x
2026-03-24 00:00
cat
39.79
KB
-rwxr-xr-x
2026-01-15 00:00
cc
1.31
MB
-rwxr-xr-x
2026-02-26 00:00
chcon
64.42
KB
-rwxr-xr-x
2026-01-15 00:00
chgrp
64.41
KB
-rwxr-xr-x
2026-01-15 00:00
chmod
60.39
KB
-rwxr-xr-x
2026-01-15 00:00
chown
64.41
KB
-rwxr-xr-x
2026-01-15 00:00
chrt
31.76
KB
-rwxr-xr-x
2026-01-15 00:00
cksum
100.29
KB
-rwxr-xr-x
2026-01-15 00:00
cldetect
10.34
KB
-rwxr-xr-x
2026-05-14 00:00
clear
15.48
KB
-rwxr-xr-x
2026-03-24 00:00
clusterdb
68.76
KB
-rwxr-xr-x
2026-02-27 00:00
cmp
48
KB
-rwxr-xr-x
2024-10-29 00:00
col
23.61
KB
-rwxr-xr-x
2026-01-15 00:00
colcrt
19.53
KB
-rwxr-xr-x
2026-01-15 00:00
colrm
15.52
KB
-rwxr-xr-x
2026-01-15 00:00
column
43.76
KB
-rwxr-xr-x
2026-01-15 00:00
comm
39.94
KB
-rwxr-xr-x
2026-01-15 00:00
compare
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
composite
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
conjure
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
convert
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
cp
133.3
KB
-rwxr-xr-x
2026-01-15 00:00
cpan
8.37
KB
-rwxr-xr-x
2025-03-03 00:00
cpp
1.32
MB
-rwxr-xr-x
2026-02-26 00:00
createdb
72.94
KB
-rwxr-xr-x
2026-02-27 00:00
createuser
73.28
KB
-rwxr-xr-x
2026-02-27 00:00
crontab
1.49
KB
-rwxr-xr-x
2026-01-14 00:00
crontab.cagefs
40.51
KB
-rwxr-xr-x
2026-04-27 00:00
csplit
52.1
KB
-rwxr-xr-x
2026-01-15 00:00
curl
209.31
KB
-rwxr-xr-x
2025-11-17 00:00
cut
47.95
KB
-rwxr-xr-x
2026-01-15 00:00
date
96.1
KB
-rwxr-xr-x
2026-01-15 00:00
dbiprof
6.06
KB
-rwxr-xr-x
2024-10-29 00:00
dd
64.27
KB
-rwxr-xr-x
2026-01-15 00:00
delv
46.64
KB
-rwxr-xr-x
2026-03-27 00:00
df
68.77
KB
-rwxr-xr-x
2026-01-15 00:00
diff
153.17
KB
-rwxr-xr-x
2024-10-29 00:00
diff3
64.14
KB
-rwxr-xr-x
2024-10-29 00:00
dig
153.1
KB
-rwxr-xr-x
2026-03-27 00:00
dir
141.85
KB
-rwxr-xr-x
2026-01-15 00:00
dircolors
47.9
KB
-rwxr-xr-x
2026-01-15 00:00
dirname
31.63
KB
-rwxr-xr-x
2026-01-15 00:00
display
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
dnstap-read
23.53
KB
-rwxr-xr-x
2026-03-27 00:00
dropdb
64.59
KB
-rwxr-xr-x
2026-02-27 00:00
dropuser
64.53
KB
-rwxr-xr-x
2026-02-27 00:00
du
96.74
KB
-rwxr-xr-x
2026-01-15 00:00
echo
31.62
KB
-rwxr-xr-x
2026-01-15 00:00
ed
60.17
KB
-rwxr-xr-x
2024-10-29 00:00
egrep
106
B
-rwxr-xr-x
2024-10-29 00:00
enc2xs
40.82
KB
-rwxr-xr-x
2024-10-29 00:00
enchant
23.48
KB
-rwxr-xr-x
2025-01-16 00:00
enchant-lsmod
15.48
KB
-rwxr-xr-x
2025-01-16 00:00
env
48.38
KB
-rwxr-xr-x
2026-01-15 00:00
eps2eps
643
B
-rwxr-xr-x
2025-05-07 00:00
eqn
152.63
KB
-rwxr-xr-x
2024-10-29 00:00
ex
1.62
MB
-rwxr-xr-x
2026-04-08 00:00
expand
39.89
KB
-rwxr-xr-x
2026-01-15 00:00
expr
43.81
KB
-rwxr-xr-x
2026-01-15 00:00
factor
64.09
KB
-rwxr-xr-x
2026-01-15 00:00
false
27.59
KB
-rwxr-xr-x
2026-01-15 00:00
fc-cache
139
B
-rwxr-xr-x
2024-10-29 00:00
fc-cache-64
23.48
KB
-rwxr-xr-x
2024-10-29 00:00
fc-cat
19.48
KB
-rwxr-xr-x
2024-10-29 00:00
fc-conflist
15.45
KB
-rwxr-xr-x
2024-10-29 00:00
fc-list
15.46
KB
-rwxr-xr-x
2024-10-29 00:00
fc-match
15.46
KB
-rwxr-xr-x
2024-10-29 00:00
fc-pattern
15.46
KB
-rwxr-xr-x
2024-10-29 00:00
fc-query
15.46
KB
-rwxr-xr-x
2024-10-29 00:00
fc-scan
15.46
KB
-rwxr-xr-x
2024-10-29 00:00
fc-validate
15.46
KB
-rwxr-xr-x
2024-10-29 00:00
fgrep
106
B
-rwxr-xr-x
2024-10-29 00:00
file
31.93
KB
-rwxr-xr-x
2026-02-23 00:00
find
204.32
KB
-rwxr-xr-x
2024-10-29 00:00
flex
315.74
KB
-rwxr-xr-x
2024-10-29 00:00
flex++
315.74
KB
-rwxr-xr-x
2024-10-29 00:00
flock
23.71
KB
-rwxr-xr-x
2026-01-15 00:00
fmt
43.89
KB
-rwxr-xr-x
2026-01-15 00:00
fold
39.81
KB
-rwxr-xr-x
2026-01-15 00:00
free
23.58
KB
-rwxr-xr-x
2026-01-15 00:00
freetype-config
4.37
KB
-rwxr-xr-x
2024-10-29 00:00
funzip
35.55
KB
-rwxr-xr-x
2025-04-07 00:00
g++
1.32
MB
-rwxr-xr-x
2026-02-26 00:00
gawk
745.91
KB
-rwxr-xr-x
2024-10-29 00:00
gcc
1.31
MB
-rwxr-xr-x
2026-02-26 00:00
gcc-ar
31.62
KB
-rwxr-xr-x
2026-02-26 00:00
gcc-nm
31.62
KB
-rwxr-xr-x
2026-02-26 00:00
gcc-ranlib
31.62
KB
-rwxr-xr-x
2026-02-26 00:00
gcov
535.2
KB
-rwxr-xr-x
2026-02-26 00:00
gcov-dump
432.82
KB
-rwxr-xr-x
2026-02-26 00:00
gcov-tool
457.48
KB
-rwxr-xr-x
2026-02-26 00:00
gem
249
B
-rwxr-xr-x
2026-04-28 00:00
gencat
31.54
KB
-rwxr-xr-x
2026-05-26 00:00
geoiplookup
15.53
KB
-rwxr-xr-x
2019-11-28 00:00
geoiplookup6
15.48
KB
-rwxr-xr-x
2019-11-28 00:00
geqn
152.63
KB
-rwxr-xr-x
2024-10-29 00:00
getconf
27.31
KB
-rwxr-xr-x
2026-05-26 00:00
getent
31.95
KB
-rwxr-xr-x
2026-05-26 00:00
getopt
23.62
KB
-rwxr-xr-x
2026-01-15 00:00
ghostscript
15.45
KB
-rwxr-xr-x
2025-05-07 00:00
git
4.32
MB
-rwxr-xr-x
2026-01-09 00:00
git-receive-pack
4.32
MB
-rwxr-xr-x
2026-01-09 00:00
git-shell
819.72
KB
-rwxr-xr-x
2026-01-09 00:00
git-upload-archive
4.32
MB
-rwxr-xr-x
2026-01-09 00:00
git-upload-pack
4.32
MB
-rwxr-xr-x
2026-01-09 00:00
gm
15.41
KB
-rwxr-xr-x
2024-09-24 00:00
gmake
280.74
KB
-rwxr-xr-x
2024-11-05 00:00
gneqn
916
B
-rwxr-xr-x
2024-10-29 00:00
gnroff
5.58
KB
-rwxr-xr-x
2024-10-29 00:00
gpg
1.11
MB
-rwxr-xr-x
2026-02-06 00:00
gpg-agent
371.18
KB
-rwxr-xr-x
2026-02-06 00:00
gpg-error
35.75
KB
-rwxr-xr-x
2024-10-29 00:00
gpgsplit
27.82
KB
-rwxr-xr-x
2026-02-06 00:00
gpgv
315.91
KB
-rwxr-xr-x
2026-02-06 00:00
gpic
180.8
KB
-rwxr-xr-x
2024-10-29 00:00
gprof
97.8
KB
-rwxr-xr-x
2026-02-04 00:00
grep
165.82
KB
-rwxr-xr-x
2024-10-29 00:00
groff
76.36
KB
-rwxr-xr-x
2024-10-29 00:00
grops
146.32
KB
-rwxr-xr-x
2024-10-29 00:00
grotty
105.2
KB
-rwxr-xr-x
2024-10-29 00:00
groups
35.81
KB
-rwxr-xr-x
2026-01-15 00:00
gs
15.45
KB
-rwxr-xr-x
2025-05-07 00:00
gsnd
281
B
-rwxr-xr-x
2025-05-07 00:00
gtar
429.65
KB
-rwxr-xr-x
2026-02-23 00:00
gtbl
129.91
KB
-rwxr-xr-x
2024-10-29 00:00
gtroff
551.38
KB
-rwxr-xr-x
2024-10-29 00:00
gunzip
2.28
KB
-rwxr-xr-x
2024-10-29 00:00
gzexe
6.29
KB
-rwxr-xr-x
2024-10-29 00:00
gzip
97.35
KB
-rwxr-xr-x
2024-10-29 00:00
h2ph
28.3
KB
-rwxr-xr-x
2025-07-10 00:00
h2xs
59.51
KB
-rwxr-xr-x
2025-07-10 00:00
head
43.95
KB
-rwxr-xr-x
2026-01-15 00:00
hexdump
47.79
KB
-rwxr-xr-x
2026-01-15 00:00
host
121.02
KB
-rwxr-xr-x
2026-03-27 00:00
hostid
35.79
KB
-rwxr-xr-x
2026-01-15 00:00
hostname
23.51
KB
-rwxr-xr-x
2024-10-29 00:00
hunspell
102.2
KB
-rwxr-xr-x
2024-10-29 00:00
iconv
68.23
KB
-rwxr-xr-x
2026-05-26 00:00
icu-config
205
B
-rwxr-xr-x
2025-07-08 00:00
icu-config-64
21.65
KB
-rwxr-xr-x
2025-07-08 00:00
icuinfo
15.81
KB
-rwxr-xr-x
2025-07-08 00:00
id
43.86
KB
-rwxr-xr-x
2026-01-15 00:00
identify
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
idn
36.15
KB
-rwxr-xr-x
2024-07-18 00:00
ifnames
4.08
KB
-rwxr-xr-x
2025-03-14 00:00
import
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
infocmp
68.02
KB
-rwxr-xr-x
2026-03-24 00:00
infotocap
92.23
KB
-rwxr-xr-x
2026-03-24 00:00
install
141.4
KB
-rwxr-xr-x
2026-01-15 00:00
instmodsh
4.1
KB
-rwxr-xr-x
2024-10-29 00:00
ionice
19.56
KB
-rwxr-xr-x
2026-01-15 00:00
ipcrm
19.59
KB
-rwxr-xr-x
2026-01-15 00:00
ipcs
39.67
KB
-rwxr-xr-x
2026-01-15 00:00
isosize
15.49
KB
-rwxr-xr-x
2026-01-15 00:00
ispell
992
B
-rwxr-xr-x
2023-12-03 05:09
join
52.05
KB
-rwxr-xr-x
2026-01-15 00:00
kill
35.77
KB
-rwxr-xr-x
2026-01-15 00:00
ld
1.13
MB
-rwxr-xr-x
2026-05-27 07:02
ld.bfd
1.13
MB
-rwxr-xr-x
2026-05-27 07:02
ldd
5.27
KB
-rwxr-xr-x
2026-05-26 00:00
less
227.85
KB
-rwxr-xr-x
2024-10-29 00:00
lessecho
15.51
KB
-rwxr-xr-x
2024-10-29 00:00
lesskey
23.56
KB
-rwxr-xr-x
2024-10-29 00:00
lesspipe.sh
3.52
KB
-rwxr-xr-x
2024-10-29 00:00
lex
315.74
KB
-rwxr-xr-x
2024-10-29 00:00
libnetcfg
15.41
KB
-rwxr-xr-x
2025-07-10 00:00
libtool
367.87
KB
-rwxr-xr-x
2024-10-29 00:00
libtoolize
133.48
KB
-rwxr-xr-x
2024-10-29 00:00
link
35.8
KB
-rwxr-xr-x
2026-01-15 00:00
ln
60.26
KB
-rwxr-xr-x
2026-01-15 00:00
locale
51.15
KB
-rwxr-xr-x
2026-05-26 00:00
localedef
314.2
KB
-rwxr-xr-x
2026-05-26 00:00
logger
40.4
KB
-rwxr-xr-x
2026-01-15 00:00
login
47.9
KB
-rwxr-xr-x
2026-01-15 00:00
logname
35.78
KB
-rwxr-xr-x
2026-01-15 00:00
look
19.51
KB
-rwxr-xr-x
2026-01-15 00:00
ls
141.88
KB
-rwxr-xr-x
2026-01-15 00:00
lto-dump
35.33
MB
-rwxr-xr-x
2026-02-26 00:00
m4
251.59
KB
-rwxr-xr-x
2024-10-29 00:00
magick
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
magick-script
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
mail
1.01
MB
-rwxr-xr-x
2024-10-29 00:00
mailx
1.01
MB
-rwxr-xr-x
2024-10-29 00:00
make
280.74
KB
-rwxr-xr-x
2024-11-05 00:00
make-dummy-cert
614
B
-rwxr-xr-x
2026-05-20 00:00
mariadb
5.24
MB
-rwxr-xr-x
2026-02-10 00:00
mariadb-access
109.34
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-admin
686.82
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-binlog
4.89
MB
-rwxr-xr-x
2026-02-10 00:00
mariadb-check
4.68
MB
-rwxr-xr-x
2026-02-10 00:00
mariadb-conv
4.37
MB
-rwxr-xr-x
2026-02-10 00:00
mariadb-convert-table-format
4.12
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-dump
4.78
MB
-rwxr-xr-x
2026-02-10 00:00
mariadb-dumpslow
8.05
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-embedded
20.49
MB
-rwxr-xr-x
2026-02-10 00:00
mariadb-find-rows
3.21
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-hotcopy
34.53
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-import
4.67
MB
-rwxr-xr-x
2026-02-10 00:00
mariadb-plugin
412.75
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-secure-installation
13.48
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-setpermission
17.56
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-show
673.63
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-slap
692.81
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-tzinfo-to-sql
448.5
KB
-rwxr-xr-x
2026-02-10 00:00
mariadb-waitpid
387.6
KB
-rwxr-xr-x
2026-02-10 00:00
mcookie
27.64
KB
-rwxr-xr-x
2026-01-15 00:00
md5sum
39.79
KB
-rwxr-xr-x
2026-01-15 00:00
mesg
15.49
KB
-rwxr-xr-x
2026-01-15 00:00
mkdir
64.47
KB
-rwxr-xr-x
2026-01-15 00:00
mkfifo
44.02
KB
-rwxr-xr-x
2026-01-15 00:00
mknod
48.06
KB
-rwxr-xr-x
2026-01-15 00:00
mktemp
39.88
KB
-rwxr-xr-x
2026-01-15 00:00
mogrify
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
montage
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
more
47.83
KB
-rwxr-xr-x
2026-01-15 00:00
msql2mysql
1.42
KB
-rwxr-xr-x
2026-02-10 00:00
mv
125.23
KB
-rwxr-xr-x
2026-01-15 00:00
my_print_defaults
432.45
KB
-rwxr-xr-x
2026-02-10 00:00
mysql
5.24
MB
-rwxr-xr-x
2026-02-10 00:00
mysql_config
4.5
KB
-rwxr-xr-x
2026-02-10 00:00
mysql_find_rows
3.21
KB
-rwxr-xr-x
2026-02-10 00:00
mysql_waitpid
387.6
KB
-rwxr-xr-x
2026-02-10 00:00
mysqlaccess
109.34
KB
-rwxr-xr-x
2026-02-10 00:00
mysqladmin
686.82
KB
-rwxr-xr-x
2026-02-10 00:00
mysqlbinlog
4.89
MB
-rwxr-xr-x
2026-02-10 00:00
mysqlcheck
4.68
MB
-rwxr-xr-x
2026-02-10 00:00
mysqldump
4.78
MB
-rwxr-xr-x
2026-02-10 00:00
mysqlimport
4.67
MB
-rwxr-xr-x
2026-02-10 00:00
mysqlshow
673.63
KB
-rwxr-xr-x
2026-02-10 00:00
mytop
72.03
KB
-rwxr-xr-x
2026-02-10 00:00
named-checkzone
31.68
KB
-rwxr-xr-x
2026-03-27 00:00
named-compilezone
31.68
KB
-rwxr-xr-x
2026-03-27 00:00
named-nzd2nzf
15.44
KB
-rwxr-xr-x
2026-03-27 00:00
namei
23.59
KB
-rwxr-xr-x
2026-01-15 00:00
nano
285.3
KB
-rwxr-xr-x
2024-12-11 00:00
neqn
916
B
-rwxr-xr-x
2024-10-29 00:00
nice
35.77
KB
-rwxr-xr-x
2026-01-15 00:00
nl
39.95
KB
-rwxr-xr-x
2026-01-15 00:00
nm
49.11
KB
-rwxr-xr-x
2026-02-04 00:00
nohup
35.71
KB
-rwxr-xr-x
2026-01-15 00:00
nproc
35.82
KB
-rwxr-xr-x
2026-01-15 00:00
nroff
5.58
KB
-rwxr-xr-x
2024-10-29 00:00
nsec3hash
15.52
KB
-rwxr-xr-x
2026-03-27 00:00
nslookup
120.98
KB
-rwxr-xr-x
2026-03-27 00:00
nsupdate
84.19
KB
-rwxr-xr-x
2026-03-27 00:00
numfmt
60
KB
-rwxr-xr-x
2026-01-15 00:00
objcopy
189.84
KB
-rwxr-xr-x
2026-02-04 00:00
objdump
434.15
KB
-rwxr-xr-x
2026-02-04 00:00
od
60.2
KB
-rwxr-xr-x
2026-01-15 00:00
openssl
968.7
KB
-rwxr-xr-x
2026-05-20 00:00
pango-list
19.44
KB
-rwxr-xr-x
2024-10-29 00:00
pango-segmentation
19.45
KB
-rwxr-xr-x
2024-10-29 00:00
pango-view
68.49
KB
-rwxr-xr-x
2024-10-29 00:00
passenger
1.73
KB
-rwxr-xr-x
2026-05-22 00:00
passwd
1.26
KB
-rwxr-xr-x
2026-02-23 00:00
paste
39.73
KB
-rwxr-xr-x
2026-01-15 00:00
patch
194.23
KB
-rwxr-xr-x
2024-10-29 00:00
pathchk
35.8
KB
-rwxr-xr-x
2026-01-15 00:00
pdf2dsc
701
B
-rwxr-xr-x
2025-05-07 00:00
pdf2ps
913
B
-rwxr-xr-x
2025-05-07 00:00
perl
15.29
KB
-rwxr-xr-x
2025-07-10 00:00
perl5.40.2
15.29
KB
-rwxr-xr-x
2025-07-10 00:00
perlbug
44.13
KB
-rwxr-xr-x
2025-07-10 00:00
perldoc
118
B
-rwxr-xr-x
2024-10-29 00:00
perlivp
10.56
KB
-rwxr-xr-x
2025-07-10 00:00
perlml
14.48
KB
-rwxr-xr-x
2025-10-02 00:00
perlthanks
44.13
KB
-rwxr-xr-x
2025-07-10 00:00
pg_dump
435.01
KB
-rwxr-xr-x
2026-02-27 00:00
pg_dumpall
114.11
KB
-rwxr-xr-x
2026-02-27 00:00
pg_restore
188.34
KB
-rwxr-xr-x
2026-02-27 00:00
pgrep
35.73
KB
-rwxr-xr-x
2026-01-15 00:00
php
937
B
-rwxr-xr-x
2025-03-26 00:00
pic
180.8
KB
-rwxr-xr-x
2024-10-29 00:00
piconv
8.08
KB
-rwxr-xr-x
2024-10-29 00:00
ping
157.7
KB
-rwxr-xr-x
2025-10-13 00:00
pinky
39.77
KB
-rwxr-xr-x
2026-01-15 00:00
pkg-config
335
B
-rwxr-xr-x
2024-10-29 00:00
pkill
35.73
KB
-rwxr-xr-x
2026-01-15 00:00
pl2pm
4.43
KB
-rwxr-xr-x
2025-07-10 00:00
pmap
35.67
KB
-rwxr-xr-x
2026-01-15 00:00
pod2html
3.95
KB
-rwxr-xr-x
2025-07-10 00:00
pod2man
18.46
KB
-rwxr-xr-x
2024-10-29 00:00
pod2text
12.8
KB
-rwxr-xr-x
2024-10-29 00:00
pod2usage
4.01
KB
-rwxr-xr-x
2024-10-29 00:00
podchecker
3.64
KB
-rwxr-xr-x
2024-10-29 00:00
post-grohtml
182.88
KB
-rwxr-xr-x
2024-10-29 00:00
pr
76.44
KB
-rwxr-xr-x
2026-01-15 00:00
pre-grohtml
56.35
KB
-rwxr-xr-x
2024-10-29 00:00
precat
5.53
KB
-rwxr-xr-x
2023-12-03 05:09
preunzip
5.53
KB
-rwxr-xr-x
2023-12-03 05:09
prezip
5.53
KB
-rwxr-xr-x
2023-12-03 05:09
prezip-bin
15.43
KB
-rwxr-xr-x
2024-10-29 00:00
printenv
35.62
KB
-rwxr-xr-x
2026-01-15 00:00
printf
43.87
KB
-rwxr-xr-x
2026-01-15 00:00
prove
13.26
KB
-rwxr-xr-x
2024-10-29 00:00
ps
121.77
KB
-rwxr-xr-x
2026-01-15 00:00
ps2ascii
635
B
-rwxr-xr-x
2025-05-07 00:00
ps2epsi
1.24
KB
-rwxr-xr-x
2025-05-07 00:00
ps2pdf
276
B
-rwxr-xr-x
2025-05-07 00:00
ps2pdf12
219
B
-rwxr-xr-x
2025-05-07 00:00
ps2pdf13
219
B
-rwxr-xr-x
2025-05-07 00:00
ps2pdf14
219
B
-rwxr-xr-x
2025-05-07 00:00
ps2pdfwr
1.06
KB
-rwxr-xr-x
2025-05-07 00:00
ps2ps
651
B
-rwxr-xr-x
2025-05-07 00:00
ps2ps2
673
B
-rwxr-xr-x
2025-05-07 00:00
psql
694.47
KB
-rwxr-xr-x
2026-02-27 00:00
ptx
56.01
KB
-rwxr-xr-x
2026-01-15 00:00
pwd
35.83
KB
-rwxr-xr-x
2026-01-15 00:00
pwdx
15.49
KB
-rwxr-xr-x
2026-01-15 00:00
pydoc
79
B
-rwxr-xr-x
2026-04-16 00:00
pydoc3
79
B
-rwxr-xr-x
2026-04-16 00:00
pydoc3.12
79
B
-rwxr-xr-x
2026-04-16 00:00
ranlib
60.42
KB
-rwxr-xr-x
2026-02-04 00:00
readelf
792.37
KB
-rwxr-xr-x
2026-02-04 00:00
readlink
43.89
KB
-rwxr-xr-x
2026-01-15 00:00
realpath
43.95
KB
-rwxr-xr-x
2026-01-15 00:00
recode
31.75
KB
-rwxr-xr-x
2024-07-17 00:00
red
92
B
-rwxr-xr-x
2024-10-29 00:00
reindexdb
81.07
KB
-rwxr-xr-x
2026-02-27 00:00
rename
23.58
KB
-rwxr-xr-x
2026-01-15 00:00
renew-dummy-cert
729
B
-rwxr-xr-x
2026-05-20 00:00
renice
15.51
KB
-rwxr-xr-x
2026-01-15 00:00
replace
395.03
KB
-rwxr-xr-x
2026-02-10 00:00
reset
27.68
KB
-rwxr-xr-x
2026-03-24 00:00
rev
15.5
KB
-rwxr-xr-x
2026-01-15 00:00
rm
60.38
KB
-rwxr-xr-x
2026-01-15 00:00
rmdir
35.74
KB
-rwxr-xr-x
2026-01-15 00:00
rnano
285.3
KB
-rwxr-xr-x
2024-12-11 00:00
ruby
15.25
KB
-rwxr-xr-x
2026-04-28 00:00
run-with-aspell
89
B
-rwxr-xr-x
2024-10-29 00:00
runcon
35.78
KB
-rwxr-xr-x
2026-01-15 00:00
rvi
1.62
MB
-rwxr-xr-x
2026-04-08 00:00
rview
1.62
MB
-rwxr-xr-x
2026-04-08 00:00
s-nail
1.01
MB
-rwxr-xr-x
2024-10-29 00:00
scalar
872.67
KB
-rwxr-xr-x
2026-01-09 00:00
scl
39.86
KB
-rwxr-xr-x
2024-10-29 00:00
scl_enabled
262
B
-rwxr-xr-x
2021-07-27 15:14
scl_source
1.88
KB
-rwxr-xr-x
2021-07-27 15:14
scp
137.25
KB
-rwxr-xr-x
2026-05-20 00:00
script
51.93
KB
-rwxr-xr-x
2026-01-15 00:00
sdiff
52.08
KB
-rwxr-xr-x
2024-10-29 00:00
sed
121.16
KB
-rwxr-xr-x
2026-01-23 00:00
selectorctl
7.63
KB
-rwxr-xr-x
2026-04-16 00:00
seq
43.88
KB
-rwxr-xr-x
2026-01-15 00:00
setsid
15.48
KB
-rwxr-xr-x
2026-01-15 00:00
setterm
35.73
KB
-rwxr-xr-x
2026-01-15 00:00
sftp
157.39
KB
-rwxr-xr-x
2026-05-20 00:00
sh
1.35
MB
-rwxr-xr-x
2024-10-29 00:00
sha1sum
39.79
KB
-rwxr-xr-x
2026-01-15 00:00
sha224sum
39.8
KB
-rwxr-xr-x
2026-01-15 00:00
sha256sum
39.79
KB
-rwxr-xr-x
2026-01-15 00:00
sha384sum
39.79
KB
-rwxr-xr-x
2026-01-15 00:00
sha512sum
39.79
KB
-rwxr-xr-x
2026-01-15 00:00
shred
56.05
KB
-rwxr-xr-x
2026-01-15 00:00
shuf
48.16
KB
-rwxr-xr-x
2026-01-15 00:00
size
31.95
KB
-rwxr-xr-x
2026-02-04 00:00
skill
31.58
KB
-rwxr-xr-x
2026-01-15 00:00
slabtop
23.67
KB
-rwxr-xr-x
2026-01-15 00:00
sleep
35.8
KB
-rwxr-xr-x
2026-01-15 00:00
snice
31.58
KB
-rwxr-xr-x
2026-01-15 00:00
sort
117.35
KB
-rwxr-xr-x
2026-01-15 00:00
spell
125
B
-rwxr-xr-x
2023-12-03 05:09
splain
19
KB
-rwxr-xr-x
2025-07-10 00:00
split
60.43
KB
-rwxr-xr-x
2026-01-15 00:00
sprof
35.53
KB
-rwxr-xr-x
2026-05-26 00:00
sqlite3
1.78
MB
-rwxr-xr-x
2025-07-16 00:00
ssh
864.63
KB
-rwxr-xr-x
2026-05-20 00:00
ssh-add
285.84
KB
-rwxr-xr-x
2026-05-20 00:00
ssh-agent
305.89
KB
-rwxr-xr-x
2026-05-20 00:00
ssh-copy-id
13.84
KB
-rwxr-xr-x
2026-05-20 00:00
ssh-keygen
455.63
KB
-rwxr-xr-x
2026-05-20 00:00
ssh-keyscan
330.45
KB
-rwxr-xr-x
2026-05-20 00:00
stat
76.13
KB
-rwxr-xr-x
2026-01-15 00:00
stdbuf
39.83
KB
-rwxr-xr-x
2026-01-15 00:00
strace
1.52
MB
-rwxr-xr-x
2025-12-17 00:00
stream
15.45
KB
-rwxr-xr-x
2025-03-30 00:00
strings
36.08
KB
-rwxr-xr-x
2026-02-04 00:00
strip
189.84
KB
-rwxr-xr-x
2026-02-04 00:00
stty
59.97
KB
-rwxr-xr-x
2026-01-15 00:00
sum
39.77
KB
-rwxr-xr-x
2026-01-15 00:00
sync
35.69
KB
-rwxr-xr-x
2026-01-15 00:00
tabs
19.54
KB
-rwxr-xr-x
2026-03-24 00:00
tac
39.74
KB
-rwxr-xr-x
2026-01-15 00:00
tail
68.29
KB
-rwxr-xr-x
2026-01-15 00:00
tar
429.65
KB
-rwxr-xr-x
2026-02-23 00:00
taskset
31.72
KB
-rwxr-xr-x
2026-01-15 00:00
tbl
129.91
KB
-rwxr-xr-x
2024-10-29 00:00
tclsh
15.43
KB
-rwxr-xr-x
2024-10-29 00:00
tclsh8.6
15.43
KB
-rwxr-xr-x
2024-10-29 00:00
tee
39.9
KB
-rwxr-xr-x
2026-01-15 00:00
test
35.88
KB
-rwxr-xr-x
2026-01-15 00:00
tic
92.23
KB
-rwxr-xr-x
2026-03-24 00:00
timeout
40.28
KB
-rwxr-xr-x
2026-01-15 00:00
tload
23.54
KB
-rwxr-xr-x
2026-01-15 00:00
tmpwatch
35.68
KB
-rwxr-xr-x
2024-10-29 00:00
toe
23.58
KB
-rwxr-xr-x
2026-03-24 00:00
top
133.71
KB
-rwxr-xr-x
2026-01-15 00:00
touch
76.12
KB
-rwxr-xr-x
2026-01-15 00:00
tput
27.62
KB
-rwxr-xr-x
2026-03-24 00:00
tr
47.97
KB
-rwxr-xr-x
2026-01-15 00:00
troff
551.38
KB
-rwxr-xr-x
2024-10-29 00:00
true
27.59
KB
-rwxr-xr-x
2026-01-15 00:00
truncate
39.8
KB
-rwxr-xr-x
2026-01-15 00:00
tset
27.68
KB
-rwxr-xr-x
2026-03-24 00:00
tsort
47.91
KB
-rwxr-xr-x
2026-01-15 00:00
tty
35.77
KB
-rwxr-xr-x
2026-01-15 00:00
tzselect
14.99
KB
-rwxr-xr-x
2026-05-26 00:00
uapi
1.25
KB
-rwxr-xr-x
2026-05-09 06:59
ul
23.62
KB
-rwxr-xr-x
2026-01-15 00:00
uname
35.8
KB
-rwxr-xr-x
2026-01-15 00:00
unexpand
39.88
KB
-rwxr-xr-x
2026-01-15 00:00
uniq
47.99
KB
-rwxr-xr-x
2026-01-15 00:00
unlink
35.78
KB
-rwxr-xr-x
2026-01-15 00:00
unzip
196.42
KB
-rwxr-xr-x
2025-04-07 00:00
unzipsfx
96.05
KB
-rwxr-xr-x
2025-04-07 00:00
uptime
15.49
KB
-rwxr-xr-x
2026-01-15 00:00
users
35.84
KB
-rwxr-xr-x
2026-01-15 00:00
utmpdump
23.57
KB
-rwxr-xr-x
2026-01-15 00:00
vacuumdb
85.48
KB
-rwxr-xr-x
2026-02-27 00:00
vdir
141.86
KB
-rwxr-xr-x
2026-01-15 00:00
vi
1.62
MB
-rwxr-xr-x
2026-04-08 00:00
view
146
B
-rwxr-xr-x
2026-04-08 00:00
vmstat
39.98
KB
-rwxr-xr-x
2026-01-15 00:00
watch
36.16
KB
-rwxr-xr-x
2026-01-15 00:00
wc
56.04
KB
-rwxr-xr-x
2026-01-15 00:00
wget
447.23
KB
-rwxr-xr-x
2024-12-11 00:00
whereis
32.2
KB
-rwxr-xr-x
2026-01-15 00:00
which
31.8
KB
-rwxr-xr-x
2025-07-01 00:00
who
43.89
KB
-rwxr-xr-x
2026-01-15 00:00
whoami
35.79
KB
-rwxr-xr-x
2026-01-15 00:00
word-list-compress
15.44
KB
-rwxr-xr-x
2024-10-29 00:00
x86_64-redhat-linux-c++
1.32
MB
-rwxr-xr-x
2026-02-26 00:00
x86_64-redhat-linux-g++
1.32
MB
-rwxr-xr-x
2026-02-26 00:00
x86_64-redhat-linux-gcc
1.31
MB
-rwxr-xr-x
2026-02-26 00:00
x86_64-redhat-linux-gcc-14
1.31
MB
-rwxr-xr-x
2026-02-26 00:00
xargs
68.23
KB
-rwxr-xr-x
2024-10-29 00:00
xmlcatalog
23.47
KB
-rwxr-xr-x
2026-01-26 00:00
xmllint
76.88
KB
-rwxr-xr-x
2026-01-26 00:00
xmlwf
39.98
KB
-rwxr-xr-x
2025-12-02 00:00
xsltproc
31.55
KB
-rwxr-xr-x
2025-07-30 00:00
xsubpp
4.96
KB
-rwxr-xr-x
2024-10-29 00:00
yes
35.63
KB
-rwxr-xr-x
2026-01-15 00:00
zcat
1.93
KB
-rwxr-xr-x
2024-10-29 00:00
zcmp
1.64
KB
-rwxr-xr-x
2024-10-29 00:00
zdiff
6.3
KB
-rwxr-xr-x
2024-10-29 00:00
zegrep
33
B
-rwxr-xr-x
2024-10-29 00:00
zfgrep
33
B
-rwxr-xr-x
2024-10-29 00:00
zforce
2.03
KB
-rwxr-xr-x
2024-10-29 00:00
zgrep
8.02
KB
-rwxr-xr-x
2024-10-29 00:00
zip
209.48
KB
-rwxr-xr-x
2025-07-01 00:00
zipcloak
76.02
KB
-rwxr-xr-x
2025-07-01 00:00
zipgrep
2.89
KB
-rwxr-xr-x
2008-10-10 17:40
zipinfo
196.42
KB
-rwxr-xr-x
2025-04-07 00:00
zipnote
63.93
KB
-rwxr-xr-x
2025-07-01 00:00
zipsplit
63.91
KB
-rwxr-xr-x
2025-07-01 00:00
zless
2.38
KB
-rwxr-xr-x
2024-10-29 00:00
zmore
1.8
KB
-rwxr-xr-x
2024-10-29 00:00
znew
4.47
KB
-rwxr-xr-x
2024-10-29 00:00
Save
Rename
#!/usr/bin/perl ## Emacs, this is -*- perl -*- mode? :-) # Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU Library General Public # License as published by the Free Software Foundation; version 2 # of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # Library General Public License for more details. # # You should have received a copy of the GNU Library General Public # License along with this library; if not, write to the Free # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, # MA 02110-1335 USA ## ## Permission setter for MySQL ## ## mady by Luuk de Boer (luuk@wxs.nl) 1998. ## it's made under GPL ...:-)) ## ## ############################################################################ ## History ## ## 1.0 first start of the program ## 1.1 some changes from monty and after that ## initial release in mysql 3.22.10 (nov 1998) ## 1.2 begin screen now in a loop + quit is using 0 instead of 9 ## after ideas of Paul DuBois. ## 1.2a Add Grant, References, Index and Alter privilege handling (Monty) ## 1.3 Applied patch provided by Martin Mokrejs <mmokrejs@natur.cuni.cz> ## (General code cleanup, use the GRANT statement instead of updating ## the privilege tables directly, added option to revoke privileges) ## 1.4 Remove option 6 which attempted to erroneously grant global privileges #### TODO # # empty ... suggestions ... mail them to me ... $version="1.4"; use DBI; use Getopt::Long; use strict; use vars qw($dbh $sth $hostname $opt_user $opt_password $opt_help $opt_host $opt_socket $opt_port $host $version); my $sqlhost = ""; my $user = ""; $dbh=$host=$opt_user= $opt_password= $opt_help= $opt_host= $opt_socket= ""; $opt_port=3306; read_my_cnf(); # Read options from ~/.my.cnf GetOptions("user=s","password=s","help","host=s","socket=s","port=i"); usage() if ($opt_help); # the help function ## User may have put the port with the host. if ($opt_host =~ s/:(\d+)$//) { $opt_port = $1; } if ($opt_host eq '') { $sqlhost = "localhost"; } else { $sqlhost = $opt_host; } # ask for a password if no password is set already if ($opt_password eq '') { system "stty -echo"; print "Password for user $opt_user to connect to MariaDB: "; $opt_password = <STDIN>; chomp($opt_password); system "stty echo"; print "\n"; } ## Socket takes precedence. my $dsn; my $prefix= 'mysql'; if (eval {DBI->install_driver("MariaDB")}) { $dsn ="DBI:MariaDB:;"; $prefix= 'mariadb'; } else { $dsn = "DBI:mysql:;"; } if ($opt_socket and -S $opt_socket) { $dsn .= "${prefix}_socket=$opt_socket"; } else { $dsn .= "host=$sqlhost"; if ($sqlhost ne "localhost") { $dsn .= ";port=$opt_port"; } } # make the connection to MariaDB $dbh= DBI->connect($dsn,$opt_user,$opt_password, { RaiseError => 1, PrintError => 0}) || die("Can't make a connection to the MariaDB server.\n The error: $DBI::errstr"); # the start of the program &q1(); exit(0); # the end... ##### # below all subroutines of the program ##### ### # the beginning of the program ### sub q1 { # first question ... my ($answer,$end); while (! $end) { print "#"x70; print "\n"; print "## Welcome to the permission setter $version for MariaDB.\n"; print "## made by Luuk de Boer\n"; print "#"x70; print "\n"; print "What would you like to do:\n"; print " 1. Set password for an existing user.\n"; print " 2. Create a database + user privilege for that database\n"; print " and host combination (user can only do SELECT)\n"; print " 3. Create/append user privilege for an existing database\n"; print " and host combination (user can only do SELECT)\n"; print " 4. Create/append broader user privileges for an existing\n"; print " database and host combination\n"; print " (user can do SELECT,INSERT,UPDATE,DELETE)\n"; print " 5. Create/append quite extended user privileges for an\n"; print " existing database and host combination (user can do\n"; print " SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,\n"; print " LOCK TABLES,CREATE TEMPORARY TABLES)\n"; print " 6. Create/append full privileges for an existing database\n"; print " and host combination (user has FULL privilege)\n"; print " 7. Remove all privileges for for an existing database and\n"; print " host combination.\n"; print " (user will have all permission fields set to N)\n"; print " 0. exit this program\n"; print "\nMake your choice [1,2,3,4,5,6,7,0]: "; while (<STDIN>) { $answer = $_; chomp($answer); if ($answer =~ /^[1234567]$/) { if ($answer == 1) { setpwd(); } elsif ($answer =~ /^[234567]$/) { addall($answer); } else { print "Sorry, something went wrong. With such option number you should not get here.\n\n"; $end = 1; } } elsif ($answer == 0) { print "We hope we can help you next time \n\n"; $end = 1; } else { print "Your answer was $answer\n"; print "and that's wrong .... Try again\n"; } last; } } } ### # set a password for a user ### sub setpwd { my ($user,$pass,$host) = ""; print "\n\nSetting a (new) password for a user.\n"; $user = user(); $pass = newpass($user); $host = hosts($user); print "#"x70; print "\n\n"; print "That was it ... here is an overview of what you gave to me:\n"; print "The username : $user\n"; # print "The password : $pass\n"; print "The host : $host\n"; print "#"x70; print "\n\n"; print "Are you pretty sure you would like to implement this [yes/no]: "; my $no = <STDIN>; chomp($no); if ($no =~ /n/i) { print "Okay .. that was it then ... See ya\n\n"; return(0); } else { print "Okay ... let's go then ...\n\n"; } $user = $dbh->quote($user); $host = $dbh->quote($host); if ($pass eq '') { $pass = "''"; } else { $pass = "PASSWORD(". $dbh->quote($pass) . ")"; } my $uh= $user."@".$host; my $sth = $dbh->prepare("set password for $uh =$pass") || die $dbh->errstr; $sth->execute || die $dbh->errstr; $sth->finish; print "The password is set for user $uh.\n\n"; } ### # all things which will be added are done here ### sub addall { my ($todo) = @_; my ($answer,$good,$db,$user,$pass,$host,$priv); if ($todo == 2) { $db = newdatabase(); } else { $db = database(); } $user = newuser(); $pass = newpass("$user"); $host = newhosts(); print "#"x70; print "\n\n"; print "That was it ... here is an overview of what you gave to me:\n"; print "The database name : $db\n"; print "The username : $user\n"; # print "The password : $pass\n"; print "The host(s) : $host\n"; print "#"x70; print "\n\n"; print "Are you pretty sure you would like to implement this [yes/no]: "; my $no = <STDIN>; chomp($no); if ($no =~ /n/i) { print "Okay .. that was it then ... See ya\n\n"; return(0); } else { print "Okay ... let's go then ...\n\n"; } if ($todo == 2) { # create the database if ($db) { my $sth = $dbh->do("CREATE DATABASE $db") || $dbh->errstr; } else { print STDERR "What do you want? You wanted to create new database and add new user, right?\n"; die "But then specify databasename, please\n"; } } if ( ( !$todo ) or not ( $todo =~ m/^[2-7]$/ ) ) { print STDERR "Sorry, select option $todo isn't known inside the program .. See ya\n"; quit(); } my @hosts = split(/,/,$host); if (!$user) { die "username not specified: $user\n"; } if (!$db) { die "databasename is not specified nor *\n"; } foreach $host (@hosts) { # user privileges: SELECT if (($todo == 2) || ($todo == 3)) { $sth = $dbh->do("GRANT SELECT ON $db.* TO \'$user\'@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; } elsif ($todo == 4) { # user privileges: SELECT,INSERT,UPDATE,DELETE $sth = $dbh->do("GRANT SELECT,INSERT,UPDATE,DELETE ON $db.* TO \'$user\'@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; } elsif ($todo == 5) { # user privileges: SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES $sth = $dbh->do("GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,LOCK TABLES,CREATE TEMPORARY TABLES ON $db.* TO \'$user\'@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; } elsif ($todo == 6) { # all privileges $sth = $dbh->do("GRANT ALL ON $db.* TO \'$user\'\@\'$host\' IDENTIFIED BY \'$pass\'") || die $dbh->errstr; } elsif ($todo == 7) { # all privileges set to N $sth = $dbh->do("REVOKE ALL ON $db.* FROM \'$user\'\@\'$host\'") || die $dbh->errstr; } } print "Everything is inserted and mysql privileges have been reloaded.\n\n"; } ### # ask for a new database name ### sub newdatabase { my ($answer,$good,$db); print "\n\nWhich database would you like to add: "; while (<STDIN>) { $answer = $_; $good = 0; chomp($answer); if ($answer) { my $sth = $dbh->prepare("SHOW DATABASES") || die $dbh->errstr; $sth->execute || die $dbh->errstr; while (my @r = $sth->fetchrow_array) { if ($r[0] eq $answer) { print "\n\nSorry, this database name is already in use; try something else: "; $good = 1; } } } else { print "You must type something ...\nTry again: "; next; } last if ($good == 0); } $db = $answer; print "The new database $db will be created\n"; return($db); } ### # select a database ### sub database { my ($answer,$good,$db); print "\n\nWhich database from existing databases would you like to select: \n"; print "You can choose from: \n"; my $sth = $dbh->prepare("show databases") || die $dbh->errstr; $sth->execute || die $dbh->errstr; while (my @r = $sth->fetchrow_array) { print " - $r[0] \n"; } print "Which database will it be (case sensitive). Type * for any: \n"; while (<STDIN>) { $answer = $_; $good = 0; chomp($answer); if ($answer) { if ($answer eq "*") { print "OK, the user entry will NOT be limited to any database"; return("*"); } my $sth = $dbh->prepare("show databases") || die $dbh->errstr; $sth->execute || die $dbh->errstr; while (my @r = $sth->fetchrow_array) { if ($r[0] eq $answer) { $good = 1; $db = $r[0]; last; } } } else { print "Type either database name or * meaning any databasename. That means"; print " any of those above but also any which will be created in future!"; print " This option gives a user chance to operate on databse mysql, which"; print " contains privilege settings. That is really risky!\n"; next; } if ($good == 1) { last; } else { print "You must select one from the list.\nTry again: "; next; } } print "The database $db will be used.\n"; return($db); } ### # ask for a new username ### sub newuser { my $user = ""; my $answer = ""; print "\nWhat username is to be created: "; while(<STDIN>) { $answer = $_; chomp($answer); if ($answer) { $user = $answer; } else { print "You must type something ...\nTry again: "; next; } last; } print "Username = $user\n"; return($user); } ### # ask for a user which is already in the user table ### sub user { my ($answer,$user); print "\nFor which user do you want to specify a password: "; while(<STDIN>) { $answer = $_; chomp($answer); if ($answer) { my $sth = $dbh->prepare("select User from mysql.user where User = '$answer'") || die $dbh->errstr; $sth->execute || die $dbh->errstr; my @r = $sth->fetchrow_array; if ($r[0]) { $user = $r[0]; } else { print "Sorry, user $answer isn't known in the user table.\nTry again: "; next; } } else { print "You must type something ...\nTry again: "; next; } last; } print "Username = $user\n"; return($user); } ### # ask for a new password ### sub newpass { my ($user) = @_; my ($pass,$answer,$good,$yes); print "Would you like to set a password for $user [y/n]: "; $yes = <STDIN>; chomp($yes); if ($yes =~ /y/) { system "stty -echo"; print "What password do you want to specify for $user: "; while(<STDIN>) { $answer = $_; chomp($answer); system "stty echo"; print "\n"; if ($answer) { system "stty -echo"; print "Type the password again: "; my $second = <STDIN>; chomp($second); system "stty echo"; print "\n"; if ($answer ne $second) { print "Passwords aren't the same; we begin from scratch again.\n"; system "stty -echo"; print "Password please: "; next; } else { $pass = $answer; } } else { print "You must type something ...\nTry again: "; next; } last; } # print "The password for $user is $pass.\n"; } else { print "We won't set a password so the user doesn't have to use it\n"; $pass = ""; } return($pass); } ### # ask for new hosts ### sub newhosts { my ($host,$answer,$good); print "We now need to know from what host(s) the user will connect.\n"; print "Keep in mind that % means 'from any host' ...\n"; print "The host please: "; while(<STDIN>) { $answer = $_; chomp($answer); if ($answer) { $host .= ",$answer"; print "Would you like to add another host [yes/no]: "; my $yes = <STDIN>; chomp($yes); if ($yes =~ /y/i) { print "Okay, give us the host please: "; next; } else { print "Okay we keep it with this ...\n"; } } else { print "You must type something ...\nTry again: "; next; } last; } $host =~ s/^,//; print "The following host(s) will be used: $host.\n"; return($host); } ### # ask for a host which is already in the user table ### sub hosts { my ($user) = @_; my ($answer,$good,$host); print "We now need to know which host for $user we have to change.\n"; print "Choose from the following hosts: \n"; $user = $dbh->quote($user); my $sth = $dbh->prepare("select Host,User from mysql.user where User = $user") || die $dbh->errstr; $sth->execute || die $dbh->errstr; while (my @r = $sth->fetchrow_array) { print " - $r[0] \n"; } print "The host please (case sensitive): "; while(<STDIN>) { $answer = $_; chomp($answer); if ($answer) { $sth = $dbh->prepare("select Host,User from mysql.user where Host = '$answer' and User = $user") || die $dbh->errstr; $sth->execute || die $dbh->errstr; my @r = $sth->fetchrow_array; if ($r[0]) { $host = $answer; last; } else { print "You have to select a host from the list ...\nTry again: "; next; } } else { print "You have to type something ...\nTry again: "; next; } last; } print "The following host will be used: $host.\n"; return($host); } ### # a nice quit (first disconnect and then exit ### sub quit { $dbh->disconnect; exit(0); } ### # Read variables password, port and socket from .my.cnf under the client # or perl groups ### sub read_my_cnf { open(TMP,$ENV{'HOME'} . "/.my.cnf") || return 1; while (<TMP>) { if (/^\[(client|perl)\]/i) { print "Options read from mycnf:\n"; while ((defined($_=<TMP>)) && !/^\[\w+\]/) { next if /^\s*($|#)/; ## skip blanks and comments print $_; if (/^host\s*=\s*(\S+)/i) { $opt_host = $1; } elsif (/^user\s*=\s*(\S+)/i) { $opt_user = $1; } elsif (/^password\s*=\s*(\S+)/i) { $opt_password = $1; } elsif (/^port\s*=\s*(\S+)/i) { $opt_port = $1; } elsif (/^socket\s*=\s*(\S+)/i) { $opt_socket = $1; } } print "------------------------\n"; } } close(TMP); } ### # the help text ### sub usage { print <<EOL; ---------------------------------------------------------------------- The permission setter for MariaDB. version: $version made by: Luuk de Boer <luuk\@wxs.nl> ---------------------------------------------------------------------- The permission setter is a little program which can help you add users or databases or change passwords in MariaDB. Keep in mind that we don't check permissions which already been set in MariaDB. So if you can't connect to MariaDB using the permission you just added, take a look at the permissions which have already been set in MariaDB. The permission setter first reads your .my.cnf file in your Home directory if it exists. Options for the permission setter: --help : print this help message and exit. The options shown below are used for making the connection to the MariaDB server. Keep in mind that the permissions for the user specified via these options must be sufficient to add users / create databases / set passwords. --user : is the username to connect with. --password : the password of the username. --host : the host to connect to. --socket : the socket to connect to. --port : the port number of the host to connect to. If you don't give a password and no password is set in your .my.cnf file, then the permission setter will ask for a password. EOL exit(0); }