Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 3.143.211.215
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
WebKitWebDriver
1.06
MB
-rwxr-xr-x
2022-01-13 18:38
Xvfb
1.88
MB
-rwxr-xr-x
2022-01-04 17:45
[
40.52
KB
-rwxr-xr-x
2020-11-16 22:24
a2p
105.32
KB
-rwxr-xr-x
2021-02-02 16:33
ab
51.41
KB
-rwxr-xr-x
2021-10-19 13:54
addr2line
28.42
KB
-rwxr-xr-x
2021-11-01 15:39
alias
29
B
-rwxr-xr-x
2020-04-01 02:17
appstream-compose
27.2
KB
-rwxr-xr-x
2018-11-02 17:04
appstream-util
104.02
KB
-rwxr-xr-x
2018-11-02 17:04
apropos
45.49
KB
-rwxr-xr-x
2018-10-30 20:26
ar
61.22
KB
-rwxr-xr-x
2021-11-01 15:39
arch
32.3
KB
-rwxr-xr-x
2020-11-16 22:24
aria_chk
3.8
MB
-rwxr-xr-x
2020-10-01 16:56
aria_dump_log
3.6
MB
-rwxr-xr-x
2020-10-01 16:56
aria_ftdump
3.61
MB
-rwxr-xr-x
2020-10-01 16:56
aria_pack
3.64
MB
-rwxr-xr-x
2020-10-01 16:56
aria_read_log
3.76
MB
-rwxr-xr-x
2020-10-01 16:56
as
377.36
KB
-rwxr-xr-x
2021-11-01 15:39
aserver
28.21
KB
-rwxr-xr-x
2019-08-08 12:00
audit2allow
14.21
KB
-rwxr-xr-x
2020-04-01 04:04
audit2why
14.21
KB
-rwxr-xr-x
2020-04-01 04:04
aulast
15.48
KB
-rwxr-xr-x
2019-08-08 12:06
aulastlog
11.35
KB
-rwxr-xr-x
2019-08-08 12:06
ausyscall
11.18
KB
-rwxr-xr-x
2019-08-08 12:06
auvirt
31.93
KB
-rwxr-xr-x
2019-08-08 12:06
awk
418.54
KB
-rwxr-xr-x
2017-06-28 21:52
base64
36.48
KB
-rwxr-xr-x
2020-11-16 22:24
basename
28.35
KB
-rwxr-xr-x
2020-11-16 22:24
bash
941.93
KB
-rwxr-xr-x
2020-04-01 02:17
bashbug
6.8
KB
-rwxr-xr-x
2020-04-01 02:17
bashbug-64
6.8
KB
-rwxr-xr-x
2020-04-01 02:17
bc
81.47
KB
-rwxr-xr-x
2014-06-09 19:51
bccmd
199.41
KB
-rwxr-xr-x
2020-09-30 15:49
bdftopcf
44.19
KB
-rwxr-xr-x
2018-10-30 16:59
bdftruncate
11.2
KB
-rwxr-xr-x
2018-10-30 16:59
bg
26
B
-rwxr-xr-x
2020-04-01 02:17
bluemoon
36.02
KB
-rwxr-xr-x
2020-09-30 15:49
bluetooth-sendto
28.55
KB
-rwxr-xr-x
2018-11-02 16:03
bluetoothctl
158.29
KB
-rwxr-xr-x
2020-09-30 15:49
boltctl
90.86
KB
-rwxr-xr-x
2019-08-08 23:01
bootctl
68.99
KB
-rwxr-xr-x
2022-01-13 16:54
brotli
742.02
KB
-rwxr-xr-x
2019-05-14 13:15
btattach
27.84
KB
-rwxr-xr-x
2020-09-30 15:49
btmon
655.73
KB
-rwxr-xr-x
2020-09-30 15:49
busctl
403.2
KB
-rwxr-xr-x
2022-01-13 16:54
c++
754.59
KB
-rwxr-xr-x
2020-09-30 02:18
c++filt
27.92
KB
-rwxr-xr-x
2021-11-01 15:39
c2ph
35.75
KB
-rwxr-xr-x
2021-02-02 16:32
c89
224
B
-rwxr-xr-x
2020-09-30 02:17
c99
215
B
-rwxr-xr-x
2020-09-30 02:17
ca-legacy
1.6
KB
-rwxr-xr-x
2021-09-23 08:17
cairo-sphinx
69.99
KB
-rwxr-xr-x
2019-08-08 23:03
cal
36.8
KB
-rwxr-xr-x
2021-02-02 16:31
canberra-boot
11.23
KB
-rwxr-xr-x
2020-04-01 03:08
canberra-gtk-play
11.27
KB
-rwxr-xr-x
2020-04-01 03:08
captoinfo
64.26
KB
-rwxr-xr-x
2017-09-06 22:08
cat
52.81
KB
-rwxr-xr-x
2020-11-16 22:24
catchsegv
3.26
KB
-rwxr-xr-x
2021-10-13 18:07
catman
36.75
KB
-rwxr-xr-x
2018-10-30 20:26
cc
750.59
KB
-rwxr-xr-x
2020-09-30 02:18
cd
26
B
-rwxr-xr-x
2020-04-01 02:17
cd-create-profile
23.81
KB
-rwxr-xr-x
2020-04-01 02:24
cd-fix-profile
24.04
KB
-rwxr-xr-x
2020-04-01 02:24
cd-iccdump
11.41
KB
-rwxr-xr-x
2020-04-01 02:24
cd-it8
23.87
KB
-rwxr-xr-x
2020-04-01 02:24
centrino-decode
6.13
KB
-rwxr-xr-x
2021-10-13 17:32
certutil
179.74
KB
-rwxr-xr-x
2021-10-14 00:14
chacl
15.27
KB
-rwxr-xr-x
2020-04-01 02:16
chage
72.16
KB
-rwsr-xr-x
2019-08-09 02:51
chardetect
307
B
-rwxr-xr-x
2019-08-09 02:04
chattr
11.27
KB
-rwxr-xr-x
2020-09-30 15:58
chcat
13.12
KB
-rwxr-xr-x
2020-04-01 04:04
chcon
61.46
KB
-rwxr-xr-x
2020-11-16 22:24
checkmodule
400.48
KB
-rwxr-xr-x
2018-10-30 21:48
checkpolicy
412.46
KB
-rwxr-xr-x
2018-10-30 21:48
chfn
23.41
KB
-rws--x--x
2021-02-02 16:31
chgrp
61.32
KB
-rwxr-xr-x
2020-11-16 22:24
chmem
40.43
KB
-rwxr-xr-x
2021-02-02 16:31
chmod
57.21
KB
-rwxr-xr-x
2020-11-16 22:24
chown
61.36
KB
-rwxr-xr-x
2020-11-16 22:24
chronyc
85.03
KB
-rwxr-xr-x
2019-08-08 11:40
chrt
32.17
KB
-rwxr-xr-x
2021-02-02 16:31
chsh
23.32
KB
-rws--x--x
2021-02-02 16:31
chvt
11.21
KB
-rwxr-xr-x
2018-10-30 22:39
ciptool
145.23
KB
-rwxr-xr-x
2020-09-30 15:49
cksum
32.38
KB
-rwxr-xr-x
2020-11-16 22:24
clear
7.02
KB
-rwxr-xr-x
2017-09-06 22:08
cmp
44.21
KB
-rwxr-xr-x
2019-08-08 23:11
cmsutil
110.58
KB
-rwxr-xr-x
2021-10-14 00:14
col
23.88
KB
-rwxr-xr-x
2021-02-02 16:31
colcrt
11.29
KB
-rwxr-xr-x
2021-02-02 16:31
colormgr
61.12
KB
-rwxr-xr-x
2020-04-01 02:24
colrm
23.77
KB
-rwxr-xr-x
2021-02-02 16:31
column
27.99
KB
-rwxr-xr-x
2021-02-02 16:31
comm
36.55
KB
-rwxr-xr-x
2020-11-16 22:24
command
31
B
-rwxr-xr-x
2020-04-01 02:17
compile_et
1.45
KB
-rwxr-xr-x
2020-09-30 15:58
coredumpctl
154.52
KB
-rwxr-xr-x
2022-01-13 16:54
cp
151.55
KB
-rwxr-xr-x
2020-11-16 22:24
cpio
142.55
KB
-rwxr-xr-x
2020-10-13 15:47
cpp
754.58
KB
-rwxr-xr-x
2020-09-30 02:18
cpupower
66.34
KB
-rwxr-xr-x
2021-10-13 17:32
crlutil
127
KB
-rwxr-xr-x
2021-10-14 00:14
crontab
56.3
KB
-rwsr-xr-x
2019-08-08 23:07
csplit
48.82
KB
-rwxr-xr-x
2020-11-16 22:24
csslint-0.6
19.55
KB
-rwxr-xr-x
2020-09-30 16:45
curl
152.99
KB
-rwxr-xr-x
2020-11-16 16:15
cut
40.61
KB
-rwxr-xr-x
2020-11-16 22:24
cvtsudoers
241.7
KB
-rwxr-xr-x
2021-10-14 12:28
date
60.74
KB
-rwxr-xr-x
2020-11-16 22:24
db_archive
11.23
KB
-rwxr-xr-x
2019-08-09 00:18
db_checkpoint
11.3
KB
-rwxr-xr-x
2019-08-09 00:18
db_deadlock
11.31
KB
-rwxr-xr-x
2019-08-09 00:18
db_dump
15.33
KB
-rwxr-xr-x
2019-08-09 00:18
db_dump185
64.45
KB
-rwxr-xr-x
2019-08-09 00:18
db_hotbackup
15.34
KB
-rwxr-xr-x
2019-08-09 00:18
db_load
27.51
KB
-rwxr-xr-x
2019-08-09 00:18
db_log_verify
15.34
KB
-rwxr-xr-x
2019-08-09 00:18
db_printlog
32.26
KB
-rwxr-xr-x
2019-08-09 00:18
db_recover
11.33
KB
-rwxr-xr-x
2019-08-09 00:18
db_replicate
15.34
KB
-rwxr-xr-x
2019-08-09 00:18
db_stat
15.26
KB
-rwxr-xr-x
2019-08-09 00:18
db_tuner
19.33
KB
-rwxr-xr-x
2019-08-09 00:18
db_upgrade
11.23
KB
-rwxr-xr-x
2019-08-09 00:18
db_verify
11.25
KB
-rwxr-xr-x
2019-08-09 00:18
dbilogstrip
1.43
KB
-rwxr-xr-x
2014-06-10 01:06
dbiprof
6.15
KB
-rwxr-xr-x
2014-06-10 01:06
dbiproxy
5.35
KB
-rwxr-xr-x
2014-06-10 01:06
dbus-binding-tool
94.49
KB
-rwxr-xr-x
2014-06-10 04:06
dbus-cleanup-sockets
11
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-daemon
218
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-launch
27.23
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-monitor
23.13
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-run-session
14.97
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-send
27.07
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-test-tool
23.13
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-update-activation-environment
15.02
KB
-rwxr-xr-x
2020-09-30 15:54
dbus-uuidgen
10.98
KB
-rwxr-xr-x
2020-09-30 15:54
dc
44.33
KB
-rwxr-xr-x
2014-06-09 19:51
dconf
48.89
KB
-rwxr-xr-x
2018-11-02 15:52
dd
73.14
KB
-rwxr-xr-x
2020-11-16 22:24
deallocvt
11.23
KB
-rwxr-xr-x
2018-10-30 22:39
debuginfo-install
7.88
KB
-rwxr-xr-x
2020-05-12 16:27
desktop-file-edit
74.73
KB
-rwxr-xr-x
2019-08-08 23:09
desktop-file-install
74.73
KB
-rwxr-xr-x
2019-08-08 23:09
desktop-file-validate
62.68
KB
-rwxr-xr-x
2019-08-08 23:09
df
102.55
KB
-rwxr-xr-x
2020-11-16 22:24
dgawk
502.12
KB
-rwxr-xr-x
2017-06-28 21:52
diff
195.53
KB
-rwxr-xr-x
2019-08-08 23:11
diff3
60.74
KB
-rwxr-xr-x
2019-08-08 23:11
dir
114.85
KB
-rwxr-xr-x
2020-11-16 22:24
dircolors
40.44
KB
-rwxr-xr-x
2020-11-16 22:24
dirname
28.31
KB
-rwxr-xr-x
2020-11-16 22:24
dltest
11.05
KB
-rwxr-xr-x
2019-08-09 03:12
dmesg
48.52
KB
-rwxr-xr-x
2021-02-02 16:31
dnsdomainname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
domainname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
dracut
55.83
KB
-rwxr-xr-x
2020-09-30 15:57
du
110.34
KB
-rwxr-xr-x
2020-11-16 22:24
dumpkeys
77.58
KB
-rwxr-xr-x
2018-10-30 22:39
dwp
3.03
MB
-rwxr-xr-x
2021-11-01 15:39
dwz
162.6
KB
-rwxr-xr-x
2014-06-10 01:25
easy_install-3.6
234
B
-rwxr-xr-x
2019-08-07 16:59
echo
32.31
KB
-rwxr-xr-x
2020-11-16 22:24
edid-decode
41.23
KB
-rwxr-xr-x
2018-10-30 17:08
egrep
290
B
-rwxr-xr-x
2017-08-03 06:58
eject
48.81
KB
-rwxr-xr-x
2021-02-02 16:31
elfedit
32.18
KB
-rwxr-xr-x
2021-11-01 15:39
enchant
15.29
KB
-rwxr-xr-x
2014-06-09 18:46
enchant-lsmod
11.13
KB
-rwxr-xr-x
2014-06-09 18:46
env
28.33
KB
-rwxr-xr-x
2020-11-16 22:24
envsubst
36.01
KB
-rwxr-xr-x
2020-04-01 02:43
eqn
144.41
KB
-rwxr-xr-x
2014-06-09 20:17
ex
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
expand
32.48
KB
-rwxr-xr-x
2020-11-16 22:24
expr
36.53
KB
-rwxr-xr-x
2020-11-16 22:24
factor
93.29
KB
-rwxr-xr-x
2020-11-16 22:24
fallocate
27.84
KB
-rwxr-xr-x
2021-02-02 16:31
false
28.25
KB
-rwxr-xr-x
2020-11-16 22:24
fc
26
B
-rwxr-xr-x
2020-04-01 02:17
fc-cache
132
B
-rwxr-xr-x
2018-10-30 15:13
fc-cache-64
15.45
KB
-rwxr-xr-x
2018-10-30 18:34
fc-cat
15.4
KB
-rwxr-xr-x
2018-10-30 18:34
fc-conflist
11.2
KB
-rwxr-xr-x
2018-10-30 18:34
fc-list
11.26
KB
-rwxr-xr-x
2018-10-30 18:34
fc-match
11.32
KB
-rwxr-xr-x
2018-10-30 18:34
fc-pattern
11.26
KB
-rwxr-xr-x
2018-10-30 18:34
fc-query
11.23
KB
-rwxr-xr-x
2018-10-30 18:34
fc-scan
11.27
KB
-rwxr-xr-x
2018-10-30 18:34
fc-validate
11.27
KB
-rwxr-xr-x
2018-10-30 18:34
fg
26
B
-rwxr-xr-x
2020-04-01 02:17
fgconsole
11.23
KB
-rwxr-xr-x
2018-10-30 22:39
fgrep
290
B
-rwxr-xr-x
2017-08-03 06:58
file
19.3
KB
-rwxr-xr-x
2020-09-30 16:08
find
194.63
KB
-rwxr-xr-x
2018-10-30 16:42
find-repos-of-install
4.27
KB
-rwxr-xr-x
2020-05-12 16:27
find2perl
23.06
KB
-rwxr-xr-x
2021-02-02 16:32
findmnt
58.38
KB
-rwxr-xr-x
2021-02-02 16:31
fipscheck
15.37
KB
-rwxr-xr-x
2017-08-02 12:47
fipshmac
11.3
KB
-rwxr-xr-x
2017-08-02 12:47
firewall-cmd
113.48
KB
-rwxr-xr-x
2021-04-28 13:31
firewall-offline-cmd
101.18
KB
-rwxr-xr-x
2021-04-28 13:31
flatpak
1.04
MB
-rwxr-xr-x
2021-11-02 11:52
flock
23.88
KB
-rwxr-xr-x
2021-02-02 16:31
fmt
36.48
KB
-rwxr-xr-x
2020-11-16 22:24
fold
36.46
KB
-rwxr-xr-x
2020-11-16 22:24
fonttosfnt
35.99
KB
-rwxr-xr-x
2018-10-30 16:59
free
19.33
KB
-rwxr-xr-x
2020-09-30 17:21
fribidi
16.09
KB
-rwxr-xr-x
2019-12-23 15:39
fusermount
31.34
KB
-rwsr-xr-x
2018-10-30 21:32
g++
754.59
KB
-rwxr-xr-x
2020-09-30 02:18
gapplication
19.48
KB
-rwxr-xr-x
2021-06-09 16:12
gatttool
241.33
KB
-rwxr-xr-x
2020-09-30 15:49
gawk
418.54
KB
-rwxr-xr-x
2017-06-28 21:52
gcc
750.59
KB
-rwxr-xr-x
2020-09-30 02:18
gcc-ar
26.45
KB
-rwxr-xr-x
2020-09-30 02:18
gcc-nm
26.45
KB
-rwxr-xr-x
2020-09-30 02:18
gcc-ranlib
26.45
KB
-rwxr-xr-x
2020-09-30 02:18
gconf-merge-tree
56.85
KB
-rwxr-xr-x
2014-06-10 06:48
gconftool-2
60.55
KB
-rwxr-xr-x
2014-06-10 06:48
gcov
307.45
KB
-rwxr-xr-x
2020-09-30 02:18
gcr-viewer
11.39
KB
-rwxr-xr-x
2018-10-30 17:47
gdbus
40.17
KB
-rwxr-xr-x
2021-06-09 16:12
gdbus-codegen
2
KB
-rwxr-xr-x
2021-06-09 16:10
gdk-pixbuf-query-loaders-64
15.38
KB
-rwxr-xr-x
2018-10-30 21:50
gdk-pixbuf-thumbnailer
15.59
KB
-rwxr-xr-x
2018-10-30 21:50
gdm-screenshot
15.11
KB
-rwxr-xr-x
2020-11-18 20:21
gdmflexiserver
27.73
KB
-rwxr-xr-x
2020-11-18 20:21
gencat
22.11
KB
-rwxr-xr-x
2021-10-13 18:29
geqn
144.41
KB
-rwxr-xr-x
2014-06-09 20:17
getconf
22.03
KB
-rwxr-xr-x
2021-10-13 18:29
getent
26.39
KB
-rwxr-xr-x
2021-10-13 18:29
getfacl
24.29
KB
-rwxr-xr-x
2020-04-01 02:16
getkeycodes
11.23
KB
-rwxr-xr-x
2018-10-30 22:39
getopt
15.38
KB
-rwxr-xr-x
2021-02-02 16:31
getopts
31
B
-rwxr-xr-x
2020-04-01 02:17
gettext
35.94
KB
-rwxr-xr-x
2020-04-01 02:43
gettext.sh
4.52
KB
-rwxr-xr-x
2020-04-01 02:41
gio
73.41
KB
-rwxr-xr-x
2021-06-09 16:12
gio-querymodules-64
11.31
KB
-rwxr-xr-x
2021-06-09 16:12
git
1.46
MB
-rwxr-xr-x
2020-05-28 20:32
git-receive-pack
1.46
MB
-rwxr-xr-x
2020-05-28 20:32
git-shell
717.95
KB
-rwxr-xr-x
2020-05-28 20:32
git-upload-archive
1.46
MB
-rwxr-xr-x
2020-05-28 20:32
git-upload-pack
791.44
KB
-rwxr-xr-x
2020-05-28 20:32
gjs
16.08
KB
-rwxr-xr-x
2019-06-04 20:27
gjs-console
16.08
KB
-rwxr-xr-x
2019-06-04 20:27
gkbd-keyboard-display
11.4
KB
-rwxr-xr-x
2019-08-09 00:19
glib-compile-resources
40.25
KB
-rwxr-xr-x
2021-06-09 16:12
glib-compile-schemas
44.38
KB
-rwxr-xr-x
2021-06-09 16:12
glib-genmarshal
39.97
KB
-rwxr-xr-x
2021-06-09 16:10
glib-gettextize
5.25
KB
-rwxr-xr-x
2021-06-09 16:10
glib-mkenums
27.15
KB
-rwxr-xr-x
2021-06-09 16:10
glxgears
23.75
KB
-rwxr-xr-x
2018-10-30 16:56
glxinfo
44.02
KB
-rwxr-xr-x
2018-10-30 16:56
glxinfo64
44.02
KB
-rwxr-xr-x
2018-10-30 16:56
gmake
178.47
KB
-rwxr-xr-x
2019-08-09 00:46
gneqn
271
B
-rwxr-xr-x
2014-06-09 20:17
gnome-control-center
3.83
MB
-rwxr-xr-x
2021-04-28 13:33
gnome-keyring
19.45
KB
-rwxr-xr-x
2018-10-30 18:25
gnome-keyring-3
19.45
KB
-rwxr-xr-x
2018-10-30 18:25
gnome-keyring-daemon
1.08
MB
-rwxr-xr-x
2018-10-30 18:25
gnome-session
664
B
-rwxr-xr-x
2020-10-03 10:27
gnome-session-custom-session
451
B
-rwxr-xr-x
2020-10-03 10:27
gnome-session-inhibit
11.21
KB
-rwxr-xr-x
2020-10-03 10:27
gnome-session-properties
70.45
KB
-rwxr-xr-x
2020-10-03 10:27
gnome-session-quit
11.55
KB
-rwxr-xr-x
2020-10-03 10:27
gnome-session-selector
24.26
KB
-rwxr-xr-x
2020-10-03 10:27
gnome-shell
20.06
KB
-rwxr-xr-x
2021-08-31 14:50
gnome-shell-extension-prefs
2.06
MB
-rwxr-xr-x
2021-08-31 14:50
gnome-shell-extension-tool
7.16
KB
-rwxr-xr-x
2021-08-31 14:49
gnome-shell-perf-tool
11.41
KB
-rwxr-xr-x
2021-08-31 14:49
gnroff
3.31
KB
-rwxr-xr-x
2014-06-09 20:17
gobject-query
11.13
KB
-rwxr-xr-x
2021-06-09 16:12
gpasswd
76.57
KB
-rwsr-xr-x
2019-08-09 02:51
gpg
732.4
KB
-rwxr-xr-x
2018-07-13 13:05
gpg-agent
289.74
KB
-rwxr-xr-x
2018-07-13 13:05
gpg-connect-agent
152.69
KB
-rwxr-xr-x
2018-07-13 13:05
gpg-error
23.18
KB
-rwxr-xr-x
2014-06-10 08:46
gpg-zip
3.23
KB
-rwxr-xr-x
2018-07-13 13:05
gpg2
732.4
KB
-rwxr-xr-x
2018-07-13 13:05
gpgconf
140.31
KB
-rwxr-xr-x
2018-07-13 13:05
gpgparsemail
23.7
KB
-rwxr-xr-x
2018-07-13 13:05
gpgsplit
48.88
KB
-rwxr-xr-x
2018-07-13 13:05
gpgv
345.38
KB
-rwxr-xr-x
2018-07-13 13:05
gpgv2
345.38
KB
-rwxr-xr-x
2018-07-13 13:05
gpic
180.41
KB
-rwxr-xr-x
2014-06-09 20:17
gprof
98.41
KB
-rwxr-xr-x
2021-11-01 15:39
gr2fonttest
23.66
KB
-rwxr-xr-x
2017-07-21 10:40
grep
155.3
KB
-rwxr-xr-x
2017-08-03 06:58
gresource
19.55
KB
-rwxr-xr-x
2021-06-09 16:12
grilo-test-ui-0.3
62.01
KB
-rwxr-xr-x
2018-11-02 16:08
grl-inspect-0.3
20.48
KB
-rwxr-xr-x
2018-11-02 16:08
grl-launch-0.3
24.41
KB
-rwxr-xr-x
2018-11-02 16:08
groff
81.63
KB
-rwxr-xr-x
2014-06-09 20:17
grops
140.85
KB
-rwxr-xr-x
2014-06-09 20:17
grotty
98.59
KB
-rwxr-xr-x
2014-06-09 20:17
groups
32.41
KB
-rwxr-xr-x
2020-11-16 22:24
grub2-editenv
396.08
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-file
830.36
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-fstest
1.03
MB
-rwxr-xr-x
2021-10-14 00:12
grub2-glue-efi
258.86
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-kbdcomp
1.63
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-menulst2cfg
241.82
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-mkfont
287.58
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-mkimage
379.23
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-mklayout
264.9
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-mknetdir
429.8
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-mkpasswd-pbkdf2
271.3
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-mkrelpath
258.48
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-mkrescue
1013.88
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-mkstandalone
534.27
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-render-label
835.13
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-script-check
295.38
KB
-rwxr-xr-x
2021-10-14 00:12
grub2-syslinux2cfg
763.7
KB
-rwxr-xr-x
2021-10-14 00:12
gsettings
23.8
KB
-rwxr-xr-x
2021-06-09 16:12
gsettings-data-convert
19.77
KB
-rwxr-xr-x
2014-06-10 06:48
gsoelim
32.59
KB
-rwxr-xr-x
2014-06-09 20:17
gss-client
23.17
KB
-rwxr-xr-x
2021-12-02 15:32
gst-inspect-1.0
44.52
KB
-rwxr-xr-x
2017-08-02 22:32
gst-launch-1.0
32.13
KB
-rwxr-xr-x
2017-08-02 22:32
gst-stats-1.0
23.67
KB
-rwxr-xr-x
2017-08-02 22:32
gst-typefind-1.0
15.38
KB
-rwxr-xr-x
2017-08-02 22:32
gtar
338.02
KB
-rwxr-xr-x
2018-10-30 20:24
gtbl
115.96
KB
-rwxr-xr-x
2014-06-09 20:17
gtester
23.64
KB
-rwxr-xr-x
2021-06-09 16:12
gtester-report
18.39
KB
-rwxr-xr-x
2021-06-09 16:11
gtk-launch
15.48
KB
-rwxr-xr-x
2020-11-16 16:21
gtk-query-immodules-2.0-64
15.29
KB
-rwxr-xr-x
2017-08-02 05:53
gtk-query-immodules-3.0-64
19.57
KB
-rwxr-xr-x
2020-11-16 16:21
gtk-update-icon-cache
32.45
KB
-rwxr-xr-x
2020-11-16 16:21
gtroff
512.96
KB
-rwxr-xr-x
2014-06-09 20:17
gunzip
2.2
KB
-rwxr-xr-x
2018-04-11 00:01
gyp
462
B
-rwxr-xr-x
2014-03-07 02:31
gzexe
5.79
KB
-rwxr-xr-x
2018-04-11 00:01
gzip
98.44
KB
-rwxr-xr-x
2018-04-11 00:01
h2ph
27.65
KB
-rwxr-xr-x
2021-02-02 16:32
hciattach
140.81
KB
-rwxr-xr-x
2020-09-30 15:49
hciconfig
195.16
KB
-rwxr-xr-x
2020-09-30 15:49
hcidump
456.78
KB
-rwxr-xr-x
2020-09-30 15:49
hcitool
146.3
KB
-rwxr-xr-x
2020-09-30 15:49
hdsploader
11.18
KB
-rwxr-xr-x
2016-11-05 18:34
head
40.51
KB
-rwxr-xr-x
2020-11-16 22:24
hex2hcd
14.99
KB
-rwxr-xr-x
2020-09-30 15:49
hexdump
32.02
KB
-rwxr-xr-x
2021-02-02 16:31
hostid
28.32
KB
-rwxr-xr-x
2020-11-16 22:24
hostname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
hostnamectl
318.07
KB
-rwxr-xr-x
2022-01-13 16:54
htdbm
23.1
KB
-rwxr-xr-x
2021-10-19 13:54
htdigest
15.08
KB
-rwxr-xr-x
2021-10-19 13:54
htop
165.65
KB
-rwxr-xr-x
2019-01-17 02:46
htpasswd
19.09
KB
-rwxr-xr-x
2021-10-19 13:54
httxt2dbm
10.99
KB
-rwxr-xr-x
2021-10-19 13:54
hunspell
53.11
KB
-rwxr-xr-x
2020-09-30 16:35
i386
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
ibus
32.38
KB
-rwxr-xr-x
2020-11-16 16:23
ibus-daemon
168.99
KB
-rwxr-xr-x
2020-11-16 16:23
ibus-setup
1.12
KB
-rwxr-xr-x
2020-11-16 16:20
iceauth
31.73
KB
-rwxr-xr-x
2017-08-11 18:43
iconv
58.14
KB
-rwxr-xr-x
2021-10-13 18:29
id
36.52
KB
-rwxr-xr-x
2020-11-16 22:24
idn
32.45
KB
-rwxr-xr-x
2015-11-21 17:00
igawk
3.11
KB
-rwxr-xr-x
2017-06-28 21:52
info
265.19
KB
-rwxr-xr-x
2018-04-11 01:03
infocmp
56.07
KB
-rwxr-xr-x
2017-09-06 22:08
infokey
21.47
KB
-rwxr-xr-x
2018-04-11 01:03
infotocap
64.26
KB
-rwxr-xr-x
2017-09-06 22:08
innochecksum
11.05
KB
-rwxr-xr-x
2020-10-01 16:56
install
139.59
KB
-rwxr-xr-x
2020-11-16 22:24
ionice
23.86
KB
-rwxr-xr-x
2021-02-02 16:31
ipcalc
15.05
KB
-rwxr-xr-x
2020-11-16 16:20
ipcmk
24
KB
-rwxr-xr-x
2021-02-02 16:31
ipcrm
27.85
KB
-rwxr-xr-x
2021-02-02 16:31
ipcs
48.37
KB
-rwxr-xr-x
2021-02-02 16:31
iptables-xml
91.52
KB
-rwxr-xr-x
2020-10-01 16:52
isosize
23.83
KB
-rwxr-xr-x
2021-02-02 16:31
isql
31.69
KB
-rwxr-xr-x
2019-08-09 03:12
iusql
23.61
KB
-rwxr-xr-x
2019-08-09 03:12
jobs
28
B
-rwxr-xr-x
2020-04-01 02:17
join
48.75
KB
-rwxr-xr-x
2020-11-16 22:24
journalctl
537.88
KB
-rwxr-xr-x
2022-01-13 16:54
kbd_mode
11.23
KB
-rwxr-xr-x
2018-10-30 22:39
kbdinfo
11.26
KB
-rwxr-xr-x
2018-10-30 22:39
kbdrate
11.29
KB
-rwxr-xr-x
2018-10-30 22:39
kdumpctl
33.18
KB
-rwxr-xr-x
2021-06-09 16:09
kernel-install
4.38
KB
-rwxr-xr-x
2022-01-13 16:54
kill
32.82
KB
-rwxr-xr-x
2021-02-02 16:31
killall
24.14
KB
-rwxr-xr-x
2020-09-30 17:20
kmod
143.24
KB
-rwxr-xr-x
2020-04-01 02:58
krb5-config
6.96
KB
-rwxr-xr-x
2021-12-02 15:32
l2ping
98.2
KB
-rwxr-xr-x
2020-09-30 15:49
l2test
114.54
KB
-rwxr-xr-x
2020-09-30 15:49
last
19.11
KB
-rwxr-xr-x
2014-06-09 23:16
lastb
19.11
KB
-rwxr-xr-x
2014-06-09 23:16
lastlog
19.15
KB
-rwxr-xr-x
2019-08-09 02:51
lchfn
15.52
KB
-rwxr-xr-x
2018-04-12 18:44
lchsh
15.49
KB
-rwxr-xr-x
2018-04-12 18:44
ld
982.61
KB
-rwxr-xr-x
2021-11-01 15:39
ld.bfd
982.61
KB
-rwxr-xr-x
2021-11-01 15:39
ld.gold
5.11
MB
-rwxr-xr-x
2021-11-01 15:39
ldd
5.18
KB
-rwxr-xr-x
2021-10-13 18:07
less
154.53
KB
-rwxr-xr-x
2015-07-30 23:50
lessecho
11.11
KB
-rwxr-xr-x
2015-07-30 23:50
lesskey
16.66
KB
-rwxr-xr-x
2015-07-30 23:50
lesspipe.sh
2.24
KB
-rwxr-xr-x
2015-07-30 23:47
lexgrog
85.09
KB
-rwxr-xr-x
2018-10-30 20:26
libinput
19.98
KB
-rwxr-xr-x
2018-10-30 17:02
libinput-debug-events
164
B
-rwxr-xr-x
2018-10-30 17:02
libinput-list-devices
164
B
-rwxr-xr-x
2018-10-30 17:02
libwacom-list-local-devices
11.39
KB
-rwxr-xr-x
2018-10-30 17:00
link
28.3
KB
-rwxr-xr-x
2020-11-16 22:24
linux-boot-prober
5.85
KB
-rwxr-xr-x
2016-11-06 03:30
linux32
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
linux64
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
ln
57.22
KB
-rwxr-xr-x
2020-11-16 22:24
loadkeys
110.53
KB
-rwxr-xr-x
2018-10-30 22:39
loadunimap
23.97
KB
-rwxr-xr-x
2018-10-30 22:39
locale
37.11
KB
-rwxr-xr-x
2021-10-13 18:29
localectl
326.16
KB
-rwxr-xr-x
2022-01-13 16:54
localedef
318.31
KB
-rwxr-xr-x
2021-10-13 18:29
logger
28.62
KB
-rwxr-xr-x
2021-02-02 16:31
login
36.38
KB
-rwxr-xr-x
2021-02-02 16:31
loginctl
489.62
KB
-rwxr-xr-x
2022-01-13 16:54
logname
28.31
KB
-rwxr-xr-x
2020-11-16 22:24
logresolve
11
KB
-rwxr-xr-x
2021-10-19 13:54
look
11.27
KB
-rwxr-xr-x
2021-02-02 16:31
ls
114.85
KB
-rwxr-xr-x
2020-11-16 22:24
lsattr
11.25
KB
-rwxr-xr-x
2020-09-30 15:58
lsblk
79.17
KB
-rwxr-xr-x
2021-02-02 16:31
lscpu
60.75
KB
-rwxr-xr-x
2021-02-02 16:31
lsinitrd
6.26
KB
-rwxr-xr-x
2020-09-30 15:57
lsipc
60.95
KB
-rwxr-xr-x
2021-02-02 16:31
lslocks
41.01
KB
-rwxr-xr-x
2021-02-02 16:31
lslogins
52.88
KB
-rwxr-xr-x
2021-02-02 16:31
lsmem
40.78
KB
-rwxr-xr-x
2021-02-02 16:31
lsns
36.43
KB
-rwxr-xr-x
2021-02-02 16:31
lsscsi
56.48
KB
-rwxr-xr-x
2017-08-03 02:11
lua
15.47
KB
-rwxr-xr-x
2016-11-06 02:47
luac
119.03
KB
-rwxr-xr-x
2016-11-06 02:47
lz4
105.84
KB
-rwxr-xr-x
2020-09-30 16:55
lz4c
105.84
KB
-rwxr-xr-x
2020-09-30 16:55
lz4cat
105.84
KB
-rwxr-xr-x
2020-09-30 16:55
machinectl
533.95
KB
-rwxr-xr-x
2022-01-13 16:54
mailq
242.11
KB
-rwxr-xr-x
2020-04-01 04:09
mailq.postfix
242.11
KB
-rwxr-xr-x
2020-04-01 04:09
make
178.47
KB
-rwxr-xr-x
2019-08-09 00:46
make-dummy-cert
610
B
-rwxr-xr-x
2021-11-17 01:58
makedb
18.11
KB
-rwxr-xr-x
2021-10-13 18:29
man
100.44
KB
-rwxr-xr-x
2018-10-30 20:26
mandb
122.25
KB
-rwxr-xr-x
2018-10-30 20:26
manpath
32.55
KB
-rwxr-xr-x
2018-10-30 20:26
mapscrn
19.87
KB
-rwxr-xr-x
2018-10-30 22:39
mc
1.09
MB
-rwxr-xr-x
2016-11-05 23:18
mcdiff
1.09
MB
-rwxr-xr-x
2016-11-05 23:18
mcedit
1.09
MB
-rwxr-xr-x
2016-11-05 23:18
mcookie
15.44
KB
-rwxr-xr-x
2021-02-02 16:31
mcrypt
85.29
KB
-rwxr-xr-x
2016-07-25 20:30
mcview
1.09
MB
-rwxr-xr-x
2016-11-05 23:18
md5sum
40.53
KB
-rwxr-xr-x
2020-11-16 22:24
mdecrypt
85.29
KB
-rwxr-xr-x
2016-07-25 20:30
mesg
10.98
KB
-rwxr-xr-x
2014-06-09 23:16
mixartloader
15.38
KB
-rwxr-xr-x
2016-11-05 18:34
mkdir
77.9
KB
-rwxr-xr-x
2020-11-16 22:24
mkfifo
61.59
KB
-rwxr-xr-x
2020-11-16 22:24
mkfontdir
65
B
-rwxr-xr-x
2018-10-30 16:59
mkfontscale
32.48
KB
-rwxr-xr-x
2018-10-30 16:59
mkinitrd
2.94
KB
-rwxr-xr-x
2020-09-30 15:57
mknod
65.61
KB
-rwxr-xr-x
2020-11-16 22:24
mktemp
40.66
KB
-rwxr-xr-x
2020-11-16 22:24
modulecmd
126.09
KB
-rwxr-xr-x
2015-11-20 05:43
modutil
165.81
KB
-rwxr-xr-x
2021-10-14 00:14
more
40.15
KB
-rwxr-xr-x
2021-02-02 16:31
mount
43.23
KB
-rwsr-xr-x
2021-02-02 16:31
mountpoint
15.32
KB
-rwxr-xr-x
2021-02-02 16:31
mpris-proxy
93.4
KB
-rwxr-xr-x
2020-09-30 15:49
msgattrib
23.36
KB
-rwxr-xr-x
2020-04-01 02:43
msgcat
23.34
KB
-rwxr-xr-x
2020-04-01 02:43
msgcmp
23.59
KB
-rwxr-xr-x
2020-04-01 02:43
msgcomm
19.31
KB
-rwxr-xr-x
2020-04-01 02:43
msgconv
19.3
KB
-rwxr-xr-x
2020-04-01 02:43
msgen
19.3
KB
-rwxr-xr-x
2020-04-01 02:43
msgexec
15.33
KB
-rwxr-xr-x
2020-04-01 02:43
msgfilter
27.56
KB
-rwxr-xr-x
2020-04-01 02:43
msgfmt
77.05
KB
-rwxr-xr-x
2020-04-01 02:43
msggrep
35.97
KB
-rwxr-xr-x
2020-04-01 02:43
msghack
12.45
KB
-rwxr-xr-x
2019-11-27 15:49
msginit
44.38
KB
-rwxr-xr-x
2020-04-01 02:43
msgmerge
52.6
KB
-rwxr-xr-x
2020-04-01 02:43
msgunfmt
31.7
KB
-rwxr-xr-x
2020-04-01 02:43
msguniq
19.31
KB
-rwxr-xr-x
2020-04-01 02:43
msql2mysql
1.41
KB
-rwxr-xr-x
2020-10-01 16:53
mutter
11.3
KB
-rwxr-xr-x
2020-11-18 20:25
mv
127.3
KB
-rwxr-xr-x
2020-11-16 22:24
my_print_defaults
2.78
MB
-rwxr-xr-x
2020-10-01 16:56
myisam_ftdump
3.15
MB
-rwxr-xr-x
2020-10-01 16:56
myisamchk
3.26
MB
-rwxr-xr-x
2020-10-01 16:56
myisamlog
3.13
MB
-rwxr-xr-x
2020-10-01 16:56
myisampack
3.17
MB
-rwxr-xr-x
2020-10-01 16:56
mysql
3.38
MB
-rwxr-xr-x
2020-10-01 16:56
mysql_convert_table_format
4.12
KB
-rwxr-xr-x
2020-10-01 16:53
mysql_find_rows
3.21
KB
-rwxr-xr-x
2020-10-01 16:53
mysql_fix_extensions
1.22
KB
-rwxr-xr-x
2020-10-01 16:53
mysql_install_db
16.31
KB
-rwxr-xr-x
2020-10-01 16:53
mysql_plugin
2.79
MB
-rwxr-xr-x
2020-10-01 16:56
mysql_secure_installation
11.84
KB
-rwxr-xr-x
2020-10-01 16:53
mysql_setpermission
17.05
KB
-rwxr-xr-x
2020-10-01 16:53
mysql_tzinfo_to_sql
2.79
MB
-rwxr-xr-x
2020-10-01 16:56
mysql_upgrade
2.86
MB
-rwxr-xr-x
2020-10-01 16:56
mysql_waitpid
2.78
MB
-rwxr-xr-x
2020-10-01 16:56
mysql_zap
3.77
KB
-rwxr-xr-x
2020-10-01 16:53
mysqlaccess
109.35
KB
-rwxr-xr-x
2020-10-01 16:53
mysqladmin
2.95
MB
-rwxr-xr-x
2020-10-01 16:56
mysqlbinlog
3.11
MB
-rwxr-xr-x
2020-10-01 16:56
mysqlbug
10.23
KB
-rwxr-xr-x
2020-10-01 16:53
mysqlcheck
2.95
MB
-rwxr-xr-x
2020-10-01 16:56
mysqld_multi
23.55
KB
-rwxr-xr-x
2020-10-01 16:53
mysqld_safe
26.47
KB
-rwxr-xr-x
2020-10-01 16:53
mysqld_safe_helper
2.75
MB
-rwxr-xr-x
2020-10-01 16:56
mysqldump
3.03
MB
-rwxr-xr-x
2020-10-01 16:56
mysqldumpslow
7.69
KB
-rwxr-xr-x
2020-10-01 16:53
mysqlhotcopy
34.12
KB
-rwxr-xr-x
2020-10-01 16:53
mysqlimport
2.95
MB
-rwxr-xr-x
2020-10-01 16:56
mysqlshow
2.94
MB
-rwxr-xr-x
2020-10-01 16:56
mysqlslap
2.96
MB
-rwxr-xr-x
2020-10-01 16:56
mysqltest
3.29
MB
-rwxr-xr-x
2020-10-01 16:56
namei
27.95
KB
-rwxr-xr-x
2021-02-02 16:31
ndptool
23.63
KB
-rwxr-xr-x
2019-08-09 00:25
needs-restarting
8.17
KB
-rwxr-xr-x
2020-05-12 16:27
neqn
271
B
-rwxr-xr-x
2014-06-09 20:17
nettle-hash
11.33
KB
-rwxr-xr-x
2021-04-15 18:45
nettle-lfib-stream
7.05
KB
-rwxr-xr-x
2021-04-15 18:45
newaliases
242.11
KB
-rwxr-xr-x
2020-04-01 04:09
newaliases.postfix
242.11
KB
-rwxr-xr-x
2020-04-01 04:09
newgidmap
38.09
KB
-rwxr-xr-x
2019-08-09 02:51
newgrp
40.95
KB
-rwsr-xr-x
2019-08-09 02:51
newuidmap
38.06
KB
-rwxr-xr-x
2019-08-09 02:51
ngettext
35.95
KB
-rwxr-xr-x
2020-04-01 02:43
nginx-upgrade
560
B
-rwxr-xr-x
2021-10-18 23:55
nice
32.32
KB
-rwxr-xr-x
2020-11-16 22:24
nisdomainname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
nl
40.6
KB
-rwxr-xr-x
2020-11-16 22:24
nm
45.43
KB
-rwxr-xr-x
2021-11-01 15:39
nm-connection-editor
788.91
KB
-rwxr-xr-x
2018-04-11 04:50
nm-online
15.16
KB
-rwxr-xr-x
2020-11-16 16:15
nmcli
809.16
KB
-rwxr-xr-x
2020-11-16 16:15
node
71.15
MB
-rwxr-xr-x
2022-01-10 12:45
nohup
32.42
KB
-rwxr-xr-x
2020-11-16 22:24
notify-send
15.34
KB
-rwxr-xr-x
2017-08-02 06:34
npm
4.6
KB
-rwxr-xr-x
2022-01-10 12:20
nproc
32.37
KB
-rwxr-xr-x
2020-11-16 22:24
npx
177
B
-rwxr-xr-x
2022-01-10 12:20
nroff
3.31
KB
-rwxr-xr-x
2014-06-09 20:17
nsenter
28.22
KB
-rwxr-xr-x
2021-02-02 16:31
nspr-config
2.53
KB
-rwxr-xr-x
2021-10-13 23:08
nss-config
2.37
KB
-rwxr-xr-x
2021-10-14 00:14
nss-policy-check
11.19
KB
-rwxr-xr-x
2021-10-14 00:14
nss-softokn-config
1.99
KB
-rwxr-xr-x
2021-10-13 23:45
nss-util-config
1.93
KB
-rwxr-xr-x
2021-10-13 23:13
ntpstat
6.36
KB
-rwxr-xr-x
2020-06-23 15:38
numfmt
64.71
KB
-rwxr-xr-x
2020-11-16 22:24
objcopy
227.34
KB
-rwxr-xr-x
2021-11-01 15:39
objdump
357.74
KB
-rwxr-xr-x
2021-11-01 15:39
od
64.81
KB
-rwxr-xr-x
2020-11-16 22:24
odbc_config
11.04
KB
-rwxr-xr-x
2019-08-09 03:12
odbcinst
27.69
KB
-rwxr-xr-x
2019-08-09 03:12
oldfind
186.41
KB
-rwxr-xr-x
2018-10-30 16:42
open
19.55
KB
-rwxr-xr-x
2018-10-30 22:39
openssl
629.31
KB
-rwxr-xr-x
2021-11-17 01:59
openssl10
542.27
KB
-rwxr-xr-x
2022-01-18 13:56
openssl11
629.31
KB
-rwxr-xr-x
2021-11-17 01:59
openvt
19.55
KB
-rwxr-xr-x
2018-10-30 22:39
orc-bugreport
15.39
KB
-rwxr-xr-x
2017-08-02 22:04
os-prober
5.51
KB
-rwxr-xr-x
2016-11-06 03:30
p11-kit
32.18
KB
-rwxr-xr-x
2017-08-04 23:36
package-cleanup
17.39
KB
-rwxr-xr-x
2020-05-12 16:27
page_owner_sort
10.2
KB
-rwxr-xr-x
2021-10-13 17:32
pango-list
11.1
KB
-rwxr-xr-x
2019-09-13 18:03
pango-querymodules-64
28.26
KB
-rwxr-xr-x
2020-11-16 22:24
pango-view
49.47
KB
-rwxr-xr-x
2019-09-13 18:03
passwd
27.2
KB
-rwsr-xr-x
2020-04-01 03:57
paste
32.34
KB
-rwxr-xr-x
2020-11-16 22:24
pathchk
32.31
KB
-rwxr-xr-x
2020-11-16 22:24
pchrt
3.93
KB
-rwxr-xr-x
2016-11-05 21:51
pcre-config
2.09
KB
-rwxr-xr-x
2017-08-02 03:07
peekfd
11.21
KB
-rwxr-xr-x
2020-09-30 17:20
perl
11.14
KB
-rwxr-xr-x
2021-02-02 16:33
perl5.16.3
11.14
KB
-rwxr-xr-x
2021-02-02 16:33
perlbug
43.61
KB
-rwxr-xr-x
2021-02-02 16:32
perldoc
203
B
-rwxr-xr-x
2014-06-10 08:17
perlthanks
43.61
KB
-rwxr-xr-x
2021-02-02 16:32
perror
2.9
MB
-rwxr-xr-x
2020-10-01 16:56
pflags
2.06
KB
-rwxr-xr-x
2019-08-09 02:08
pgawk
418.63
KB
-rwxr-xr-x
2017-06-28 21:52
pgrep
27.67
KB
-rwxr-xr-x
2020-09-30 17:21
php
6.08
MB
-rwxr-xr-x
2022-11-01 07:04
php72
5.08
MB
-rwxr-xr-x
2022-10-24 08:30
php72-cgi
4.97
MB
-rwxr-xr-x
2022-10-24 08:30
php72-phar
14.48
KB
-rwxr-xr-x
2022-10-24 08:29
php74
6.08
MB
-rwxr-xr-x
2022-11-01 07:04
php74-cgi
6.08
MB
-rwxr-xr-x
2022-11-01 07:04
php74-phar
14.55
KB
-rwxr-xr-x
2022-11-01 07:04
pic
180.41
KB
-rwxr-xr-x
2014-06-09 20:17
piconv
7.99
KB
-rwxr-xr-x
2014-06-10 02:49
pinentry
2.54
KB
-rwxr-xr-x
2016-11-04 18:02
pinentry-curses
49.19
KB
-rwxr-xr-x
2016-11-05 15:49
pinentry-gtk
108.2
KB
-rwxr-xr-x
2016-11-05 15:49
pinentry-gtk-2
108.2
KB
-rwxr-xr-x
2016-11-05 15:49
ping
64.63
KB
-rwxr-xr-x
2017-08-04 08:01
ping6
64.63
KB
-rwxr-xr-x
2017-08-04 08:01
pinky
36.57
KB
-rwxr-xr-x
2020-11-16 22:24
pip-3
407
B
-rwxr-xr-x
2020-10-13 16:03
pip-3.6
407
B
-rwxr-xr-x
2020-10-13 16:03
pip3
407
B
-rwxr-xr-x
2020-10-13 16:03
pip3.6
407
B
-rwxr-xr-x
2020-10-13 16:03
pk12util
103.21
KB
-rwxr-xr-x
2021-10-14 00:14
pkaction
15
KB
-rwxr-xr-x
2020-04-01 04:07
pkcheck
23.02
KB
-rwxr-xr-x
2020-04-01 04:07
pkcs1-conv
15.52
KB
-rwxr-xr-x
2021-04-15 18:45
pkexec
23.02
KB
-rwsr-xr-x
2020-04-01 04:07
pkg-config
44.38
KB
-rwxr-xr-x
2014-06-09 22:05
pkill
27.67
KB
-rwxr-xr-x
2020-09-30 17:21
pkla-admin-identities
19.23
KB
-rwxr-xr-x
2014-06-09 22:08
pkla-check-authorization
27.3
KB
-rwxr-xr-x
2014-06-09 22:08
pkttyagent
18.98
KB
-rwxr-xr-x
2020-04-01 04:07
pl2pm
4.42
KB
-rwxr-xr-x
2021-02-02 16:32
pldd
14.11
KB
-rwxr-xr-x
2021-10-13 18:29
plistutil
11.16
KB
-rwxr-xr-x
2017-08-03 07:17
plymouth
39.77
KB
-rwxr-xr-x
2020-10-01 16:53
pmap
27.61
KB
-rwxr-xr-x
2020-09-30 17:21
pod2html
4
KB
-rwxr-xr-x
2021-02-02 16:32
pod2man
13.26
KB
-rwxr-xr-x
2014-06-09 19:56
pod2text
10.75
KB
-rwxr-xr-x
2014-06-09 19:56
pod2usage
3.67
KB
-rwxr-xr-x
2014-06-10 08:56
post-grohtml
187.55
KB
-rwxr-xr-x
2014-06-09 20:17
powernow-k8-decode
6.15
KB
-rwxr-xr-x
2021-10-13 17:32
pr
65.11
KB
-rwxr-xr-x
2020-11-16 22:24
pre-grohtml
86.24
KB
-rwxr-xr-x
2014-06-09 20:17
preconv
40.88
KB
-rwxr-xr-x
2014-06-09 20:17
printenv
28.28
KB
-rwxr-xr-x
2020-11-16 22:24
printf
48.61
KB
-rwxr-xr-x
2020-11-16 22:24
prlimit
41.2
KB
-rwxr-xr-x
2021-02-02 16:31
prtstat
15.25
KB
-rwxr-xr-x
2020-09-30 17:20
ps
97.77
KB
-rwxr-xr-x
2020-09-30 17:21
psed
52.08
KB
-rwxr-xr-x
2021-02-02 16:32
psfaddtable
19.54
KB
-rwxr-xr-x
2018-10-30 22:39
psfgettable
19.54
KB
-rwxr-xr-x
2018-10-30 22:39
psfstriptable
19.54
KB
-rwxr-xr-x
2018-10-30 22:39
psfxtable
19.54
KB
-rwxr-xr-x
2018-10-30 22:39
pstree
27.84
KB
-rwxr-xr-x
2020-09-30 17:20
pstree.x11
27.84
KB
-rwxr-xr-x
2020-09-30 17:20
pstruct
35.75
KB
-rwxr-xr-x
2021-02-02 16:32
ptaskset
3.8
KB
-rwxr-xr-x
2016-11-05 21:51
ptx
65.08
KB
-rwxr-xr-x
2020-11-16 22:24
pulseaudio
87.64
KB
-rwxr-xr-x
2020-12-15 16:40
pwd
32.45
KB
-rwxr-xr-x
2020-11-16 22:24
pwdx
11.27
KB
-rwxr-xr-x
2020-09-30 17:21
pwmake
11.13
KB
-rwxr-xr-x
2018-04-11 03:58
pwscore
11.13
KB
-rwxr-xr-x
2018-04-11 03:58
pydoc
78
B
-rwxr-xr-x
2020-11-16 22:23
pydoc3
78
B
-rwxr-xr-x
2020-11-16 16:57
pydoc3.6
78
B
-rwxr-xr-x
2020-11-16 16:57
python
6.98
KB
-rwxr-xr-x
2020-11-16 22:23
python2
6.98
KB
-rwxr-xr-x
2020-11-16 22:23
python2.7
6.98
KB
-rwxr-xr-x
2020-11-16 22:23
python3
11.06
KB
-rwxr-xr-x
2020-11-16 16:59
python3.6
11.06
KB
-rwxr-xr-x
2020-11-16 16:59
python3.6m
11.06
KB
-rwxr-xr-x
2020-11-16 16:59
pyvenv
435
B
-rwxr-xr-x
2020-11-16 16:57
pyvenv-3.6
435
B
-rwxr-xr-x
2020-11-16 16:57
qemu-ga
267.8
KB
-rwxr-xr-x
2019-08-08 11:49
ranlib
61.22
KB
-rwxr-xr-x
2021-11-01 15:39
raw
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
rctest
149.13
KB
-rwxr-xr-x
2020-09-30 15:49
read
28
B
-rwxr-xr-x
2020-04-01 02:17
readelf
509.83
KB
-rwxr-xr-x
2021-11-01 15:39
readlink
40.82
KB
-rwxr-xr-x
2020-11-16 22:24
realpath
61.23
KB
-rwxr-xr-x
2020-11-16 22:24
recode-sr-latin
15.29
KB
-rwxr-xr-x
2020-04-01 02:43
rename
11.26
KB
-rwxr-xr-x
2021-02-02 16:31
renew-dummy-cert
725
B
-rwxr-xr-x
2021-11-17 01:58
renice
11.21
KB
-rwxr-xr-x
2021-02-02 16:31
replace
2.77
MB
-rwxr-xr-x
2020-10-01 16:56
repo-graph
4.09
KB
-rwxr-xr-x
2020-05-12 16:27
repo-rss
10.07
KB
-rwxr-xr-x
2020-05-12 16:27
repoclosure
11.42
KB
-rwxr-xr-x
2020-05-12 16:27
repodiff
13.97
KB
-rwxr-xr-x
2020-05-12 16:27
repomanage
6.88
KB
-rwxr-xr-x
2020-05-12 16:27
repoquery
55.68
KB
-rwxr-xr-x
2020-05-12 16:27
reposync
14.14
KB
-rwxr-xr-x
2020-05-12 16:27
repotrack
9.86
KB
-rwxr-xr-x
2020-05-12 16:27
rescan-scsi-bus.sh
33.81
KB
-rwxr-xr-x
2020-04-01 04:29
reset
19.6
KB
-rwxr-xr-x
2017-09-06 22:08
resizecons
19.7
KB
-rwxr-xr-x
2018-10-30 22:39
resolve_stack_dump
2.78
MB
-rwxr-xr-x
2020-10-01 16:56
resolveip
2.78
MB
-rwxr-xr-x
2020-10-01 16:56
rev
11.26
KB
-rwxr-xr-x
2021-02-02 16:31
rfcomm
106.92
KB
-rwxr-xr-x
2020-09-30 15:49
rm
61.4
KB
-rwxr-xr-x
2020-11-16 22:24
rmail
262
B
-rwxr-xr-x
2020-04-01 04:08
rmail.postfix
262
B
-rwxr-xr-x
2020-04-01 04:08
rmdir
44.46
KB
-rwxr-xr-x
2020-11-16 22:24
rpcgen
90.45
KB
-rwxr-xr-x
2021-10-13 18:29
rpm
15.75
KB
-rwxr-xr-x
2021-10-14 12:28
rpm2cpio
11.16
KB
-rwxr-xr-x
2021-10-14 12:28
rpmdb
11.73
KB
-rwxr-xr-x
2021-10-14 12:28
rpmkeys
11.73
KB
-rwxr-xr-x
2021-10-14 12:28
rpmquery
15.75
KB
-rwxr-xr-x
2021-10-14 12:28
rpmverify
15.75
KB
-rwxr-xr-x
2021-10-14 12:28
rsync
484.2
KB
-rwxr-xr-x
2020-04-01 04:22
rsyslog-recover-qi.pl
5.96
KB
-rwxr-xr-x
2021-06-09 16:13
run-parts
2.04
KB
-rwxr-xr-x
2014-06-09 22:14
runcon
32.47
KB
-rwxr-xr-x
2020-11-16 22:24
rvi
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
rview
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
rvim
2.23
MB
-rwxr-xr-x
2020-12-15 16:44
s2p
52.08
KB
-rwxr-xr-x
2021-02-02 16:32
sandbox
17.52
KB
-rwxr-xr-x
2020-04-01 04:04
sbcdec
63.66
KB
-rwxr-xr-x
2014-06-10 05:11
sbcenc
63.79
KB
-rwxr-xr-x
2014-06-10 05:11
sbcinfo
11.13
KB
-rwxr-xr-x
2014-06-10 05:11
scl
19.5
KB
-rwxr-xr-x
2018-10-30 19:17
scl_enabled
258
B
-rwxr-xr-x
2018-10-30 19:17
scl_source
1.83
KB
-rwxr-xr-x
2018-10-30 19:17
scp
89.24
KB
-rwxr-xr-x
2019-08-09 01:40
script
19.61
KB
-rwxr-xr-x
2021-02-02 16:31
scriptreplay
15.29
KB
-rwxr-xr-x
2021-02-02 16:31
scsi-rescan
33.81
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_logging_level
7.72
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_mandat
3.55
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_readcap
1.3
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_ready
1.09
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_satl
3.76
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_start
1.25
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_stop
1.44
KB
-rwxr-xr-x
2020-04-01 04:29
scsi_temperature
936
B
-rwxr-xr-x
2020-04-01 04:29
sdiff
48.48
KB
-rwxr-xr-x
2019-08-08 23:11
sdptool
209.02
KB
-rwxr-xr-x
2020-09-30 15:49
secon
24.06
KB
-rwxr-xr-x
2020-04-01 04:04
secret-tool
19.68
KB
-rwxr-xr-x
2018-10-30 17:47
sed
74.29
KB
-rwxr-xr-x
2020-09-30 17:35
sedismod
249.42
KB
-rwxr-xr-x
2018-10-30 21:48
sedispol
176.32
KB
-rwxr-xr-x
2018-10-30 21:48
semodule_package
15.3
KB
-rwxr-xr-x
2020-04-01 04:04
seq
48.48
KB
-rwxr-xr-x
2020-11-16 22:24
sessreg
11.24
KB
-rwxr-xr-x
2017-08-11 18:43
setarch
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
setfacl
36.73
KB
-rwxr-xr-x
2020-04-01 02:16
setfont
40.46
KB
-rwxr-xr-x
2018-10-30 22:39
setkeycodes
11.23
KB
-rwxr-xr-x
2018-10-30 22:39
setleds
11.25
KB
-rwxr-xr-x
2018-10-30 22:39
setmetamode
11.3
KB
-rwxr-xr-x
2018-10-30 22:39
setpriv
36.06
KB
-rwxr-xr-x
2021-02-02 16:31
setsid
11.23
KB
-rwxr-xr-x
2021-02-02 16:31
setterm
27.48
KB
-rwxr-xr-x
2021-02-02 16:31
setup-nsssysinit
1.5
KB
-rwxr-xr-x
2021-10-14 00:14
setup-nsssysinit.sh
1.5
KB
-rwxr-xr-x
2021-10-14 00:14
setvtrgb
11.41
KB
-rwxr-xr-x
2018-10-30 22:39
setxkbmap
23.96
KB
-rwxr-xr-x
2018-10-30 18:23
sexp-conv
23.63
KB
-rwxr-xr-x
2021-04-15 18:45
sftp
142.02
KB
-rwxr-xr-x
2019-08-09 01:40
sg
40.95
KB
-rwsr-xr-x
2019-08-09 02:51
sg_compare_and_write
15.82
KB
-rwxr-xr-x
2020-04-01 04:30
sg_copy_results
20.02
KB
-rwxr-xr-x
2020-04-01 04:30
sg_dd
43.63
KB
-rwxr-xr-x
2020-04-01 04:30
sg_decode_sense
15.49
KB
-rwxr-xr-x
2020-04-01 04:30
sg_emc_trespass
11.09
KB
-rwxr-xr-x
2020-04-01 04:30
sg_format
24.05
KB
-rwxr-xr-x
2020-04-01 04:30
sg_get_config
28.22
KB
-rwxr-xr-x
2020-04-01 04:30
sg_get_lba_status
15.5
KB
-rwxr-xr-x
2020-04-01 04:30
sg_ident
15.46
KB
-rwxr-xr-x
2020-04-01 04:30
sg_inq
83.68
KB
-rwxr-xr-x
2020-04-01 04:30
sg_logs
92.48
KB
-rwxr-xr-x
2020-04-01 04:30
sg_luns
19.65
KB
-rwxr-xr-x
2020-04-01 04:30
sg_map
15.23
KB
-rwxr-xr-x
2020-04-01 04:30
sg_map26
23.77
KB
-rwxr-xr-x
2020-04-01 04:30
sg_modes
29.3
KB
-rwxr-xr-x
2020-04-01 04:30
sg_opcodes
23.88
KB
-rwxr-xr-x
2020-04-01 04:30
sg_persist
28.34
KB
-rwxr-xr-x
2020-04-01 04:30
sg_prevent
11.29
KB
-rwxr-xr-x
2020-04-01 04:30
sg_raw
19.78
KB
-rwxr-xr-x
2020-04-01 04:30
sg_rbuf
19.66
KB
-rwxr-xr-x
2020-04-01 04:30
sg_rdac
15.13
KB
-rwxr-xr-x
2020-04-01 04:30
sg_read
23.33
KB
-rwxr-xr-x
2020-04-01 04:30
sg_read_block_limits
11.31
KB
-rwxr-xr-x
2020-04-01 04:30
sg_read_buffer
15.53
KB
-rwxr-xr-x
2020-04-01 04:30
sg_read_long
15.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_readcap
19.66
KB
-rwxr-xr-x
2020-04-01 04:30
sg_reassign
15.54
KB
-rwxr-xr-x
2020-04-01 04:30
sg_referrals
15.48
KB
-rwxr-xr-x
2020-04-01 04:30
sg_requests
15.58
KB
-rwxr-xr-x
2020-04-01 04:30
sg_reset
11.46
KB
-rwxr-xr-x
2020-04-01 04:30
sg_rmsn
11.32
KB
-rwxr-xr-x
2020-04-01 04:30
sg_rtpg
15.39
KB
-rwxr-xr-x
2020-04-01 04:30
sg_safte
19.59
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sanitize
19.88
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sat_identify
15.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sat_phy_event
15.87
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sat_set_features
15.41
KB
-rwxr-xr-x
2020-04-01 04:30
sg_scan
15.34
KB
-rwxr-xr-x
2020-04-01 04:30
sg_senddiag
20.02
KB
-rwxr-xr-x
2020-04-01 04:30
sg_ses
67.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_start
19.7
KB
-rwxr-xr-x
2020-04-01 04:30
sg_stpg
19.61
KB
-rwxr-xr-x
2020-04-01 04:30
sg_sync
15.52
KB
-rwxr-xr-x
2020-04-01 04:30
sg_test_rwbuf
15.6
KB
-rwxr-xr-x
2020-04-01 04:30
sg_turs
15.48
KB
-rwxr-xr-x
2020-04-01 04:30
sg_unmap
15.5
KB
-rwxr-xr-x
2020-04-01 04:30
sg_verify
15.7
KB
-rwxr-xr-x
2020-04-01 04:30
sg_vpd
77.67
KB
-rwxr-xr-x
2020-04-01 04:30
sg_wr_mode
19.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_write_buffer
15.66
KB
-rwxr-xr-x
2020-04-01 04:30
sg_write_long
15.55
KB
-rwxr-xr-x
2020-04-01 04:30
sg_write_same
19.9
KB
-rwxr-xr-x
2020-04-01 04:30
sg_xcopy
35.61
KB
-rwxr-xr-x
2020-04-01 04:30
sginfo
65.8
KB
-rwxr-xr-x
2020-04-01 04:30
sgm_dd
31.52
KB
-rwxr-xr-x
2020-04-01 04:30
sgp_dd
35.83
KB
-rwxr-xr-x
2020-04-01 04:30
sh
941.93
KB
-rwxr-xr-x
2020-04-01 02:17
sha1sum
36.57
KB
-rwxr-xr-x
2020-11-16 22:24
sha224sum
40.63
KB
-rwxr-xr-x
2020-11-16 22:24
sha256sum
40.63
KB
-rwxr-xr-x
2020-11-16 22:24
sha384sum
40.65
KB
-rwxr-xr-x
2020-11-16 22:24
sha512sum
40.65
KB
-rwxr-xr-x
2020-11-16 22:24
show-changed-rco
10.13
KB
-rwxr-xr-x
2020-05-12 16:27
show-installed
16.18
KB
-rwxr-xr-x
2020-05-12 16:27
showconsolefont
15.54
KB
-rwxr-xr-x
2018-10-30 22:39
showkey
15.31
KB
-rwxr-xr-x
2018-10-30 22:39
showrgb
7.08
KB
-rwxr-xr-x
2017-08-11 18:43
shred
52.94
KB
-rwxr-xr-x
2020-11-16 22:24
shuf
49.13
KB
-rwxr-xr-x
2020-11-16 22:24
signver
102.59
KB
-rwxr-xr-x
2021-10-14 00:14
sim_client
14.97
KB
-rwxr-xr-x
2021-12-02 15:32
size
32.35
KB
-rwxr-xr-x
2021-11-01 15:39
skill
23.62
KB
-rwxr-xr-x
2020-09-30 17:21
slabinfo
34.96
KB
-rwxr-xr-x
2021-10-13 17:32
slabtop
19.52
KB
-rwxr-xr-x
2020-09-30 17:21
sleep
32.35
KB
-rwxr-xr-x
2020-11-16 22:24
slogin
756.41
KB
-rwxr-xr-x
2019-08-09 01:40
snice
23.62
KB
-rwxr-xr-x
2020-09-30 17:21
soelim
32.59
KB
-rwxr-xr-x
2014-06-09 20:17
sort
114.94
KB
-rwxr-xr-x
2020-11-16 22:24
sotruss
4.24
KB
-rwxr-xr-x
2021-10-13 18:07
soundstretch
26.59
KB
-rwxr-xr-x
2014-06-10 00:16
splain
18.03
KB
-rwxr-xr-x
2021-02-02 16:32
split
69.47
KB
-rwxr-xr-x
2020-11-16 22:24
sprof
22.1
KB
-rwxr-xr-x
2021-10-13 18:29
sqlite3
54.95
KB
-rwxr-xr-x
2020-01-28 14:24
ssh
756.41
KB
-rwxr-xr-x
2019-08-09 01:40
ssh-add
352.46
KB
-rwxr-xr-x
2019-08-09 01:40
ssh-agent
373.26
KB
---x--s--x
2019-08-09 01:40
ssh-copy-id
10.22
KB
-rwxr-xr-x
2019-08-09 01:40
ssh-keygen
409.38
KB
-rwxr-xr-x
2019-08-09 01:40
ssh-keyscan
430.69
KB
-rwxr-xr-x
2019-08-09 01:40
ssltap
118.42
KB
-rwxr-xr-x
2021-10-14 00:14
startx
5.44
KB
-rwxr-xr-x
2018-04-10 23:46
stat
77.19
KB
-rwxr-xr-x
2020-11-16 22:24
stdbuf
64.88
KB
-rwxr-xr-x
2020-11-16 22:24
strings
32.55
KB
-rwxr-xr-x
2021-11-01 15:39
strip
227.34
KB
-rwxr-xr-x
2021-11-01 15:39
stty
68.61
KB
-rwxr-xr-x
2020-11-16 22:24
su
31.38
KB
-rwsr-xr-x
2021-02-02 16:31
sudo
147.88
KB
---s--x--x
2021-10-14 12:28
sudoedit
147.88
KB
---s--x--x
2021-10-14 12:28
sudoreplay
56.11
KB
---x--x--x
2021-10-14 12:28
sum
36.55
KB
-rwxr-xr-x
2020-11-16 22:24
sync
28.33
KB
-rwxr-xr-x
2020-11-16 22:24
systemctl
704.8
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-analyze
1.49
MB
-rwxr-xr-x
2022-01-13 16:54
systemd-ask-password
60.38
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-cat
39.98
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-cgls
326.29
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-cgtop
85.09
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-coredumpctl
154.52
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-delta
76.84
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-detect-virt
39.97
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-escape
48.2
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-firstboot
101.52
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-hwdb
85.31
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-inhibit
309.83
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-loginctl
489.62
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-machine-id-setup
52.23
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-notify
48.13
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-nspawn
545.88
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-path
52.16
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-run
387.05
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-stdio-bridge
305.77
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-sysv-convert
3.89
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-tmpfiles
146.13
KB
-rwxr-xr-x
2022-01-13 16:54
systemd-tty-ask-password-agent
84.75
KB
-rwxr-xr-x
2022-01-13 16:54
tabs
15.31
KB
-rwxr-xr-x
2017-09-06 22:08
tac
32.48
KB
-rwxr-xr-x
2020-11-16 22:24
tail
65.25
KB
-rwxr-xr-x
2020-11-16 22:24
tailf
23.88
KB
-rwxr-xr-x
2021-02-02 16:31
tar
338.02
KB
-rwxr-xr-x
2018-10-30 20:24
taskset
32.22
KB
-rwxr-xr-x
2021-02-02 16:31
tbl
115.96
KB
-rwxr-xr-x
2014-06-09 20:17
tclsh
7
KB
-rwxr-xr-x
2015-11-20 08:40
tclsh8.5
7
KB
-rwxr-xr-x
2015-11-20 08:40
tee
32.38
KB
-rwxr-xr-x
2020-11-16 22:24
test
36.46
KB
-rwxr-xr-x
2020-11-16 22:24
testgdbm
29.77
KB
-rwxr-xr-x
2014-06-09 21:39
tic
64.26
KB
-rwxr-xr-x
2017-09-06 22:08
timedatectl
330.22
KB
-rwxr-xr-x
2022-01-13 16:54
timeout
53.31
KB
-rwxr-xr-x
2020-11-16 22:24
tload
15.38
KB
-rwxr-xr-x
2020-09-30 17:21
tmon
31.11
KB
-rwxr-xr-x
2021-10-13 17:32
toe
15.43
KB
-rwxr-xr-x
2017-09-06 22:08
top
104.38
KB
-rwxr-xr-x
2020-09-30 17:21
touch
61.02
KB
-rwxr-xr-x
2020-11-16 22:24
tput
15.41
KB
-rwxr-xr-x
2017-09-06 22:08
tr
44.61
KB
-rwxr-xr-x
2020-11-16 22:24
tracepath
15.05
KB
-rwxr-xr-x
2017-08-04 08:01
tracepath6
15.05
KB
-rwxr-xr-x
2017-08-04 08:01
troff
512.96
KB
-rwxr-xr-x
2014-06-09 20:17
true
28.26
KB
-rwxr-xr-x
2020-11-16 22:24
truncate
52.68
KB
-rwxr-xr-x
2020-11-16 22:24
trust
179.08
KB
-rwxr-xr-x
2017-08-04 23:36
tset
19.6
KB
-rwxr-xr-x
2017-09-06 22:08
tsort
36.47
KB
-rwxr-xr-x
2020-11-16 22:24
ttmkfdir
99.04
KB
-rwxr-xr-x
2015-11-20 08:46
tty
28.29
KB
-rwxr-xr-x
2020-11-16 22:24
turbostat
113.15
KB
-rwxr-xr-x
2021-10-13 17:32
tzselect
7.17
KB
-rwxr-xr-x
2021-10-13 18:06
ucs2any
19.47
KB
-rwxr-xr-x
2018-10-30 16:59
udevadm
414.27
KB
-rwxr-xr-x
2022-01-13 16:54
ul
19.47
KB
-rwxr-xr-x
2021-02-02 16:31
ulockmgr_server
15.11
KB
-rwxr-xr-x
2018-10-30 21:32
umask
29
B
-rwxr-xr-x
2020-04-01 02:17
umount
31.23
KB
-rwsr-xr-x
2021-02-02 16:31
unalias
31
B
-rwxr-xr-x
2020-04-01 02:17
uname
32.3
KB
-rwxr-xr-x
2020-11-16 22:24
unexpand
32.45
KB
-rwxr-xr-x
2020-11-16 22:24
unicode_start
2.5
KB
-rwxr-xr-x
2018-10-30 22:38
unicode_stop
363
B
-rwxr-xr-x
2018-10-30 22:38
uniq
44.71
KB
-rwxr-xr-x
2020-11-16 22:24
unlink
28.3
KB
-rwxr-xr-x
2020-11-16 22:24
unlz4
105.84
KB
-rwxr-xr-x
2020-09-30 16:55
unshare
15.45
KB
-rwxr-xr-x
2021-02-02 16:31
unxz
73.52
KB
-rwxr-xr-x
2016-11-05 15:27
update-ca-trust
1.03
KB
-rwxr-xr-x
2021-09-23 08:17
update-desktop-database
19.7
KB
-rwxr-xr-x
2019-08-08 23:09
update-gtk-immodules
313
B
-rwxr-xr-x
2017-08-02 05:52
update-mime-database
52.82
KB
-rwxr-xr-x
2020-04-01 04:30
upower
15.13
KB
-rwxr-xr-x
2018-10-30 18:12
uptime
11.22
KB
-rwxr-xr-x
2020-09-30 17:21
urlgrabber
12.17
KB
-rwxr-xr-x
2020-04-01 04:14
users
32.42
KB
-rwxr-xr-x
2020-11-16 22:24
usleep
10.95
KB
-rwxr-xr-x
2020-11-16 16:20
usx2yloader
15.41
KB
-rwxr-xr-x
2016-11-05 18:34
utmpdump
15.45
KB
-rwxr-xr-x
2021-02-02 16:31
uuclient
14.97
KB
-rwxr-xr-x
2021-12-02 15:32
uuidgen
11.21
KB
-rwxr-xr-x
2021-02-02 16:31
vdir
114.85
KB
-rwxr-xr-x
2020-11-16 22:24
verifytree
10.79
KB
-rwxr-xr-x
2020-05-12 16:27
vi
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
view
906.45
KB
-rwxr-xr-x
2020-12-15 16:44
vim
2.23
MB
-rwxr-xr-x
2020-12-15 16:44
vimdiff
2.23
MB
-rwxr-xr-x
2020-12-15 16:44
vimtutor
2.04
KB
-rwxr-xr-x
2020-12-15 16:44
vlock
15.78
KB
-rwxr-xr-x
2018-10-30 22:39
vmstat
31.48
KB
-rwxr-xr-x
2020-09-30 17:21
vxloader
15.38
KB
-rwxr-xr-x
2016-11-05 18:34
w
19.45
KB
-rwxr-xr-x
2020-09-30 17:21
wait
28
B
-rwxr-xr-x
2020-04-01 02:17
wall
14.98
KB
-r-xr-sr-x
2014-06-09 23:16
watch
24.14
KB
-rwxr-xr-x
2020-09-30 17:21
watchgnupg
15.35
KB
-rwxr-xr-x
2018-07-13 13:05
wc
40.67
KB
-rwxr-xr-x
2020-11-16 22:24
wdctl
40.7
KB
-rwxr-xr-x
2021-02-02 16:31
wget
408.96
KB
-rwxr-xr-x
2019-05-15 21:01
whatis
45.49
KB
-rwxr-xr-x
2018-10-30 20:26
whereis
20.2
KB
-rwxr-xr-x
2021-02-02 16:31
which
23.77
KB
-rwxr-xr-x
2014-06-10 02:25
whiptail
27.84
KB
-rwxr-xr-x
2014-06-10 07:48
who
48.7
KB
-rwxr-xr-x
2020-11-16 22:24
whoami
28.3
KB
-rwxr-xr-x
2020-11-16 22:24
write
19.09
KB
-rwxr-sr-x
2021-02-02 16:31
x86_64
15.27
KB
-rwxr-xr-x
2021-02-02 16:31
x86_64-redhat-linux-c++
754.59
KB
-rwxr-xr-x
2020-09-30 02:18
x86_64-redhat-linux-g++
754.59
KB
-rwxr-xr-x
2020-09-30 02:18
x86_64-redhat-linux-gcc
750.59
KB
-rwxr-xr-x
2020-09-30 02:18
x86_energy_perf_policy
10.23
KB
-rwxr-xr-x
2021-10-13 17:32
xargs
60.91
KB
-rwxr-xr-x
2018-10-30 16:42
xauth
40.8
KB
-rwxr-xr-x
2015-11-22 22:50
xdg-desktop-icon
19.05
KB
-rwxr-xr-x
2016-11-05 15:45
xdg-desktop-menu
41.91
KB
-rwxr-xr-x
2016-11-05 15:45
xdg-email
23.4
KB
-rwxr-xr-x
2016-11-05 15:45
xdg-icon-resource
28.05
KB
-rwxr-xr-x
2016-11-05 15:45
xdg-mime
38.43
KB
-rwxr-xr-x
2016-11-05 15:45
xdg-open
18.84
KB
-rwxr-xr-x
2016-11-05 15:45
xdg-screensaver
27.86
KB
-rwxr-xr-x
2016-11-05 15:45
xdg-settings
32.79
KB
-rwxr-xr-x
2016-11-05 15:45
xdpyinfo
36.84
KB
-rwxr-xr-x
2018-10-30 17:08
xdriinfo
11.16
KB
-rwxr-xr-x
2018-10-30 16:56
xev
27.81
KB
-rwxr-xr-x
2018-10-30 17:08
xgamma
11.15
KB
-rwxr-xr-x
2017-08-11 18:43
xgettext
265.35
KB
-rwxr-xr-x
2020-04-01 02:43
xhost
15.38
KB
-rwxr-xr-x
2017-08-11 18:43
xinit
19.63
KB
-rwxr-xr-x
2018-04-10 23:46
xinput
52.81
KB
-rwxr-xr-x
2017-08-11 18:43
xkbcomp
208.35
KB
-rwxr-xr-x
2018-10-30 18:23
xkill
15.27
KB
-rwxr-xr-x
2017-08-11 18:43
xlsatoms
11.27
KB
-rwxr-xr-x
2018-10-30 17:08
xlsclients
15.44
KB
-rwxr-xr-x
2018-10-30 17:08
xlsfonts
19.48
KB
-rwxr-xr-x
2018-10-30 17:08
xmlcatalog
15.3
KB
-rwxr-xr-x
2021-10-21 16:15
xmllint
61.94
KB
-rwxr-xr-x
2021-10-21 16:15
xmlwf
24
KB
-rwxr-xr-x
2020-09-30 16:05
xmodmap
32.28
KB
-rwxr-xr-x
2017-08-11 18:43
xorg-x11-fonts-update-dirs
1.29
KB
-rwxr--r--
2018-10-30 16:59
xprop
38.4
KB
-rwxr-xr-x
2018-10-30 17:08
xrandr
60.06
KB
-rwxr-xr-x
2017-08-11 18:43
xrdb
27.78
KB
-rwxr-xr-x
2017-08-11 18:43
xrefresh
11.16
KB
-rwxr-xr-x
2017-08-11 18:43
xset
31.72
KB
-rwxr-xr-x
2017-08-11 18:43
xsetmode
11.1
KB
-rwxr-xr-x
2017-08-11 18:43
xsetpointer
11.13
KB
-rwxr-xr-x
2017-08-11 18:43
xsetroot
19.38
KB
-rwxr-xr-x
2017-08-11 18:43
xsltproc
23.51
KB
-rwxr-xr-x
2020-09-30 16:56
xstdcmap
15.77
KB
-rwxr-xr-x
2017-08-11 18:43
xvfb-run
6.37
KB
-rwxr-xr-x
2022-01-04 17:45
xvinfo
15.25
KB
-rwxr-xr-x
2018-10-30 17:08
xwininfo
40.16
KB
-rwxr-xr-x
2018-10-30 17:08
xxd
14.46
KB
-rwxr-xr-x
2020-12-15 16:44
xz
73.52
KB
-rwxr-xr-x
2016-11-05 15:27
xzcat
73.52
KB
-rwxr-xr-x
2016-11-05 15:27
xzcmp
6.48
KB
-rwxr-xr-x
2016-11-05 15:27
xzdec
11.2
KB
-rwxr-xr-x
2016-11-05 15:27
xzdiff
6.48
KB
-rwxr-xr-x
2016-11-05 15:27
xzegrep
5.5
KB
-rwxr-xr-x
2016-11-05 15:27
xzfgrep
5.5
KB
-rwxr-xr-x
2016-11-05 15:27
xzgrep
5.5
KB
-rwxr-xr-x
2016-11-05 15:27
xzless
1.76
KB
-rwxr-xr-x
2016-11-05 15:27
xzmore
2.11
KB
-rwxr-xr-x
2016-11-05 15:27
yarn
1
KB
-rwxr-xr-x
2021-10-16 15:07
yarnpkg
1
KB
-rwxr-xr-x
2021-10-16 15:07
yes
28.3
KB
-rwxr-xr-x
2020-11-16 22:24
ypdomainname
15.41
KB
-rwxr-xr-x
2019-10-18 16:02
yum
801
B
-rwxr-xr-x
2020-10-01 17:03
yum-builddep
9.95
KB
-rwxr-xr-x
2020-05-12 16:27
yum-config-manager
9.35
KB
-rwxr-xr-x
2020-05-12 16:27
yum-debug-dump
8.34
KB
-rwxr-xr-x
2020-05-12 16:27
yum-debug-restore
7.72
KB
-rwxr-xr-x
2020-05-12 16:27
yum-groups-manager
10.77
KB
-rwxr-xr-x
2020-05-12 16:27
yumdownloader
10.85
KB
-rwxr-xr-x
2020-05-12 16:27
zcat
1.9
KB
-rwxr-xr-x
2018-04-11 00:01
zcmp
1.72
KB
-rwxr-xr-x
2018-04-11 00:01
zdiff
5.63
KB
-rwxr-xr-x
2018-04-11 00:01
zegrep
123
B
-rwxr-xr-x
2018-04-11 00:01
zenity
101.27
KB
-rwxr-xr-x
2018-10-30 18:06
zfgrep
123
B
-rwxr-xr-x
2018-04-11 00:01
zforce
2.09
KB
-rwxr-xr-x
2018-04-11 00:01
zgrep
5.99
KB
-rwxr-xr-x
2018-04-11 00:01
zip
210.78
KB
-rwxr-xr-x
2016-11-05 16:49
zipcloak
98.1
KB
-rwxr-xr-x
2016-11-05 16:49
zipdetails
47.32
KB
-rwxr-xr-x
2014-06-10 00:59
zipnote
93.73
KB
-rwxr-xr-x
2016-11-05 16:49
zipsplit
97.75
KB
-rwxr-xr-x
2016-11-05 16:49
zless
1.99
KB
-rwxr-xr-x
2018-04-11 00:01
zmore
2.79
KB
-rwxr-xr-x
2018-04-11 00:01
znew
5.22
KB
-rwxr-xr-x
2018-04-11 00:01
zsoelim
32.59
KB
-rwxr-xr-x
2014-06-09 20:17
Save
Rename
#!/usr/bin/python2 -Es # -*- coding: utf-8 -*- # # Copyright (C) 2009-2016 Red Hat, Inc. # # Authors: # Thomas Woerner <twoerner@redhat.com> # Jiri Popelka <jpopelka@redhat.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # from gi.repository import GObject import sys sys.modules['gobject'] = GObject import argparse import os from firewall.client import FirewallClientIPSetSettings, \ FirewallClientZoneSettings, FirewallClientServiceSettings, \ FirewallClientIcmpTypeSettings, FirewallClientHelperSettings from firewall.errors import FirewallError from firewall import config from firewall.core.fw_test import Firewall_test from firewall.functions import joinArgs, splitArgs from firewall.core.io.functions import check_config from firewall.core.io.zone import zone_reader from firewall.core.io.service import service_reader from firewall.core.io.ipset import ipset_reader from firewall.core.io.icmptype import icmptype_reader from firewall.core.io.helper import helper_reader from firewall.command import FirewallCommand # check for root user def assert_root(): if os.getuid() != 0: sys.stderr.write("You need to be root to run %s.\n" % sys.argv[0]) sys.exit(-1) SYSTEM_CONFIG_FIREWALL = config.SYSCONFIGDIR + '/system-config-firewall' def __usage(): sys.stdout.write(""" Usage: firewall-offline-cmd [OPTIONS...] If no options are given, configuration from '%s' will be migrated. General Options -h, --help Prints a short help text and exists -V, --version Print the version string of firewalld -q, --quiet Do not print status messages --system-config Path to firewalld system configuration --default-config Path to firewalld default configuration --check-config Check system and default configuration Lokkit Compatibility Options --migrate-system-config-firewall=<file> Import configuration data from the given configuration file. --enabled Enable firewall (default) --disabled Disable firewall --addmodule=<module> Ignored option, was used to enable an iptables module --removemodule=<module> Ignored option, was used to disable an iptables module -s <service>, --service=<service> Enable a service in the default zone (example: ssh) --remove-service=<service> Disable a service in the default zone (example: ssh) -p <port>[-<port>]:<protocol>, --port=<port>[-<port>]:<protocol> Enable a port in the default zone (example: ssh:tcp) -t <interface>, --trust=<interface> Bind an interface to the trusted zone -m <interface>, --masq=<interface> Enables masquerading in the default zone, interface argument is ignored. This is IPv4 only. --custom-rules=[<type>:][<table>:]<filename> Ignored option. Was used to add custom rules to the firewall (Example: ipv4:filter:%s/ipv4_filter_addon) --forward-port=if=<interface>:port=<port>:proto=<protocol>[:toport=<destination port>][:toaddr=<destination address>] Forward the port with protocol for the interface to either another local destination port (no destination address given) or to an other destination address with an optional destination port. This will be added to the default zone. This is IPv4 only. --block-icmp=<icmp type> Block this ICMP type in the default zone. The default is to accept all ICMP types. Log Denied Options --get-log-denied Print the log denied value --set-log-denied=<value> Set log denied value Automatic Helpers Options --get-automatic-helpers Print the automatic helpers value --set-automatic-helpers=<value> Set automatic helpers value Zone Options --get-default-zone Print default zone for connections and interfaces --set-default-zone=<zone> Set default zone --get-zones Print predefined zones --get-services Print predefined services --get-icmptypes Print predefined icmptypes --get-zone-of-interface=<interface> Print name of the zone the interface is bound to --get-zone-of-source=<source>[/<mask>]|<MAC>|ipset:<ipset> Print name of the zone the source is bound to --list-all-zones List everything added for or enabled in all zones --new-zone=<zone> Add a new empty zone --new-zone-from-file=<filename> [--name=<zone>] Add a new zone from file with optional name override [P only] --delete-zone=<zone> Delete an existing zone --load-zone-defaults=<zone> Load zone default settings [Z] --zone=<zone> Use this zone to set or query options, else default zone Usable for options marked with [Z] --set-description=<description> Set new description to zone --get-description Print description for zone --get-target Get the zone target --set-target=<target> Set the zone target --info-zone=<zone> Print information about a zone --path-zone=<zone> Print file path of a zone IPSet Options --new-ipset=<ipset> --type=<ipset type> [--option=<key>[=<value>]].. Add a new empty ipset --new-ipset-from-file=<filename> [--name=<ipset>] Add a new ipset from file with optional name override [P only] --delete-ipset=<ipset> Delete an existing ipset --load-ipset-defaults=<ipset> Load ipset default settings --info-ipset=<ipset> Print information about an ipset --path-ipset=<ipset> Print file path of an ipset --get-ipsets Print predefined ipsets --ipset=<ipset> --set-description=<description> Set new description to ipset --ipset=<ipset> --get-description Print description for ipset --ipset=<ipset> --set-short=<description> Set new short description to ipset --ipset=<ipset> --get-short Print short description for ipset --ipset=<ipset> --add-entry=<entry> Add a new entry to an ipset --ipset=<ipset> --remove-entry=<entry> Remove an entry from an ipset --ipset=<ipset> --query-entry=<entry> Return whether ipset has an entry --ipset=<ipset> --get-entries List entries of an ipset --ipset=<ipset> --add-entries-from-file=<entry> Add a new entries to an ipset [P] --ipset=<ipset> --remove-entries-from-file=<entry> Remove entries from an ipset [P] IcmpType Options --new-icmptype=<icmptype> Add a new empty icmptype --new-icmptype-from-file=<filename> [--name=<icmptype>] Add a new icmptype from file with optional name override [P only] --delete-icmptype=<icmptype> Delete an existing icmptype --load-icmptype-defaults=<icmptype> Load icmptype default settings --info-icmptype=<icmptype> Print information about an icmptype --path-icmptype=<icmptype> Print file path of an icmptype --icmptype=<icmptype> --set-description=<description> Set new description to icmptype --icmptype=<icmptype> --get-description Print description for icmptype --icmptype=<icmptype> --set-short=<description> Set new short description to icmptype --icmptype=<icmptype> --get-short Print short description for icmptype --icmptype=<icmptype> --add-destination=<ipv> Enable destination for ipv in icmptype --icmptype=<icmptype> --remove-destination=<ipv> Disable destination for ipv in icmptype --icmptype=<icmptype> --query-destination=<ipv> Return whether destination ipv is enabled in icmptype --icmptype=<icmptype> --get-destinations List destinations in icmptype Service Options --new-service=<service> Add a new empty service --new-service-from-file=<filename> [--name=<service>] Add a new service from file with optional name override [P only] --delete-service=<service> Delete an existing service --load-service-defaults=<service> Load icmptype default settings --info-service=<service> Print information about a service --path-service=<service> Print file path of a service --service=<service> --set-description=<description> Set new description to service --service=<service> --get-description Print description for service --service=<service> --set-short=<description> Set new short description to service --service=<service> --get-short Print short description for service --service=<service> --add-port=<portid>[-<portid>]/<protocol> Add a new port to service --service=<service> --remove-port=<portid>[-<portid>]/<protocol> Remove a port from service --service=<service> --query-port=<portid>[-<portid>]/<protocol> Return whether the port has been added for service --service=<service> --get-ports List ports of service --service=<service> --add-protocol=<protocol> Add a new protocol to service --service=<service> --remove-protocol=<protocol> Remove a protocol from service --service=<service> --query-protocol=<protocol> Return whether the protocol has been added for service --service=<service> --get-protocols List protocols of service --service=<service> --add-source-port=<portid>[-<portid>]/<protocol> Add a new source port to service --service=<service> --remove-source-port=<portid>[-<portid>]/<protocol> Remove a source port from service --service=<service> --query-source-port=<portid>[-<portid>]/<protocol> Return whether the source port has been added for service [P only] --service=<service> --get-source-ports List source ports of service --service=<service> --add-module=<module> Add a new module to service --service=<service> --remove-module=<module> Remove a module from service --service=<service> --query-module=<module> Return whether the module has been added for service --service=<service> --get-modules List modules of service --service=<service> --set-destination=<ipv>:<address>[/<mask>] Set destination for ipv to address in service --service=<service> --remove-destination=<ipv> Disable destination for ipv i service --service=<service> --query-destination=<ipv>:<address>[/<mask>] Return whether destination ipv is set for service --service=<service> --get-destinations List destinations in service Options to Adapt and Query Zones --list-all List everything added for or enabled in a zone [Z] --list-services List services added for a zone [Z] --add-service=<service> Add a service for a zone [Z] --remove-service-from-zone=<service> Remove a service from a zone [Z] --query-service=<service> Return whether service has been added for a zone [Z] --list-ports List ports added for a zone [Z] --add-port=<portid>[-<portid>]/<protocol> Add the port for a zone [Z] --remove-port=<portid>[-<portid>]/<protocol> Remove the port from a zone [Z] --query-port=<portid>[-<portid>]/<protocol> Return whether the port has been added for zone [Z] --list-protocols List protocols added for a zone [Z] --add-protocol=<protocol> Add the protocol for a zone [Z] --remove-protocol=<protocol> Remove the protocol from a zone [Z] --query-protocol=<protocol> Return whether the protocol has been added for zone [Z] --list-source-ports List source ports added for a zone [Z] --add-source-port=<portid>[-<portid>]/<protocol> Add the source port for a zone [Z] --remove-source-port=<portid>[-<portid>]/<protocol> Remove the source port from a zone [Z] --query-source-port=<portid>[-<portid>]/<protocol> Return whether the source port has been added for zone [Z] --list-icmp-blocks List Internet ICMP type blocks added for a zone [Z] --add-icmp-block=<icmptype> Add an ICMP block for a zone [Z] --remove-icmp-block=<icmptype> Remove the ICMP block from a zone [Z] --query-icmp-block=<icmptype> Return whether an ICMP block has been added for a zone [Z] --add-icmp-block-inversion Enable inversion of icmp blocks for a zone [Z] --remove-icmp-block-inversion Disable inversion of icmp blocks for a zone [Z] --query-icmp-block-inversion Return whether inversion of icmp blocks has been enabled for a zone [Z] --list-forward-ports List IPv4 forward ports added for a zone [Z] --add-forward-port=port=<portid>[-<portid>]:proto=<protocol>[:toport=<portid>[-<portid>]][:toaddr=<address>[/<mask>]] Add the IPv4 forward port for a zone [Z] --remove-forward-port=port=<portid>[-<portid>]:proto=<protocol>[:toport=<portid>[-<portid>]][:toaddr=<address>[/<mask>]] Remove the IPv4 forward port from a zone [Z] --query-forward-port=port=<portid>[-<portid>]:proto=<protocol>[:toport=<portid>[-<portid>]][:toaddr=<address>[/<mask>]] Return whether the IPv4 forward port has been added for a zone [Z] --add-masquerade Enable IPv4 masquerade for a zone [Z] --remove-masquerade Disable IPv4 masquerade for a zone [Z] --query-masquerade Return whether IPv4 masquerading has been enabled for a zone [Z] --list-rich-rules List rich language rules added for a zone [Z] --add-rich-rule=<rule> Add rich language rule 'rule' for a zone [Z] --remove-rich-rule=<rule> Remove rich language rule 'rule' from a zone [Z] --query-rich-rule=<rule> Return whether a rich language rule 'rule' has been added for a zone [Z] Options to Handle Bindings of Interfaces --list-interfaces List interfaces that are bound to a zone [Z] --add-interface=<interface> Bind the <interface> to a zone [Z] --change-interface=<interface> Change zone the <interface> is bound to [Z] --query-interface=<interface> Query whether <interface> is bound to a zone [Z] --remove-interface=<interface> Remove binding of <interface> from a zone [Z] Options to Handle Bindings of Sources --list-sources List sources that are bound to a zone [Z] --add-source=<source>[/<mask>]|<MAC>|ipset:<ipset> Bind the source to a zone [Z] --change-source=<source>[/<mask>]|<MAC>|ipset:<ipset> Change zone the source is bound to [Z] --query-source=<source>[/<mask>]|<MAC>|ipset:<ipset> Query whether the source is bound to a zone [Z] --remove-source=<source>[/<mask>]|<MAC>|ipset:<ipset> Remove binding of the source from a zone [Z] Helper Options --new-helper=<helper> --module=<module> [--family=<family>] Add a new helper --new-helper-from-file=<filename> [--name=<helper>] Add a new helper from file with optional name --delete-helper=<helper> Delete an existing helper --load-helper-defaults=<helper> Load helper default settings --info-helper=<helper> Print information about an helper --path-helper=<helper> Print file path of an helper --get-helpers Print predefined helpers --helper=<helper> --set-description=<description> Set new description to helper --helper=<helper> --get-description Print description for helper --helper=<helper> --set-short=<description> Set new short description to helper --helper=<helper> --get-short Print short description for helper --helper=<helper> --add-port=<portid>[-<portid>]/<protocol> Add a new port to helper --helper=<helper> --remove-port=<portid>[-<portid>]/<protocol> Remove a port from helper --helper=<helper> --query-port=<portid>[-<portid>]/<protocol> Return whether the port has been added for helper --helper=<helper> --get-ports List ports of helper --helper=<helper> --set-module=<module> Set module to helper --helper=<helper> --get-module Get module from helper --helper=<helper> --set-family={ipv4|ipv6|} Set family for helper --helper=<helper> --get-family Get module from helper Direct Options --direct First option for all direct options --get-all-chains Get all chains --get-chains {ipv4|ipv6|eb} <table> Get all chains added to the table --add-chain {ipv4|ipv6|eb} <table> <chain> Add a new chain to the table --remove-chain {ipv4|ipv6|eb} <table> <chain> Remove the chain from the table --query-chain {ipv4|ipv6|eb} <table> <chain> Return whether the chain has been added to the table --get-all-rules Get all rules --get-rules {ipv4|ipv6|eb} <table> <chain> Get all rules added to chain in table --add-rule {ipv4|ipv6|eb} <table> <chain> <priority> <arg>... Add rule to chain in table --remove-rule {ipv4|ipv6|eb} <table> <chain> <priority> <arg>... Remove rule with priority from chain in table --remove-rules {ipv4|ipv6|eb} <table> <chain> Remove rules from chain in table --query-rule {ipv4|ipv6|eb} <table> <chain> <priority> <arg>... Return whether a rule with priority has been added to chain in table --get-all-passthroughs Get all passthrough rules --get-passthroughs {ipv4|ipv6|eb} <arg>... Get passthrough rules --add-passthrough {ipv4|ipv6|eb} <arg>... Add a new passthrough rule --remove-passthrough {ipv4|ipv6|eb} <arg>... Remove a passthrough rule --query-passthrough {ipv4|ipv6|eb} <arg>... Return whether the passthrough rule has been added Lockdown Options --lockdown-on Enable lockdown. --lockdown-off Disable lockdown. --query-lockdown Query whether lockdown is enabled Lockdown Whitelist Options --list-lockdown-whitelist-commands List all command lines that are on the whitelist --add-lockdown-whitelist-command=<command> Add the command to the whitelist --remove-lockdown-whitelist-command=<command> Remove the command from the whitelist --query-lockdown-whitelist-command=<command> Query whether the command is on the whitelist --list-lockdown-whitelist-contexts List all contexts that are on the whitelist --add-lockdown-whitelist-context=<context> Add the context context to the whitelist --remove-lockdown-whitelist-context=<context> Remove the context from the whitelist --query-lockdown-whitelist-context=<context> Query whether the context is on the whitelist --list-lockdown-whitelist-uids List all user ids that are on the whitelist --add-lockdown-whitelist-uid=<uid> Add the user id uid to the whitelist --remove-lockdown-whitelist-uid=<uid> Remove the user id uid from the whitelist --query-lockdown-whitelist-uid=<uid> Query whether the user id uid is on the whitelist --list-lockdown-whitelist-users List all user names that are on the whitelist --add-lockdown-whitelist-user=<user> Add the user name user to the whitelist --remove-lockdown-whitelist-user=<user> Remove the user name user from the whitelist --query-lockdown-whitelist-user=<user> Query whether the user name user is on the whitelist Polkit Options --policy-server Change Polkit actions to 'server' (more restricted) --policy-desktop Change Polkit actions to 'desktop' (less restricted) """ % (SYSTEM_CONFIG_FIREWALL, config.SYSCONFIGDIR)) def parse_port_lokkit(value): try: (port, proto) = value.split(":") except Exception: cmd.fail("bad port (most likely missing protocol), correct syntax is portid[-portid]:protocol") return (port, proto) def pk_symlink(product='server'): _PK_DIR = '/usr/share/polkit-1/actions/' _PK_NAME = 'org.fedoraproject.FirewallD1.' os.chdir(_PK_DIR) if os.path.isfile(_PK_NAME+product+'.policy.choice'): if os.path.isfile(_PK_NAME+'policy'): os.remove(_PK_NAME+'policy') os.symlink(_PK_NAME+product+'.policy.choice', _PK_NAME+'policy') cmd.print_and_exit('symlink '+_PK_DIR+_PK_NAME+product+'.policy.choice -> '+_PK_NAME+'policy') else: cmd.fail('no such file '+_PK_DIR+_PK_NAME+product+'.policy.choice') # system-config-firewall def read_sysconfig_args(config_file=SYSTEM_CONFIG_FIREWALL): filename = None if os.path.exists(config_file) and os.path.isfile(config_file): filename = config_file try: f = open(filename, 'r') except Exception: return None argv = [ ] for line in f: if not line: break line = line.strip() if len(line) < 1 or line[0] == '#': continue argv.append(line) f.close() return argv parser = argparse.ArgumentParser(usage="see firewall-offline-cmd man page", add_help=False) parser_group_output = parser.add_mutually_exclusive_group() parser_group_output.add_argument("-v", "--verbose", action="store_true") parser_group_output.add_argument("-q", "--quiet", action="store_true") parser_group_lokkit = parser.add_argument_group() parser_group_lokkit.add_argument("--enabled", action="store_true") parser_group_lokkit.add_argument("--disabled", action="store_true") parser_group_lokkit.add_argument("--addmodule", metavar="<module>", action='append') parser_group_lokkit.add_argument("--removemodule", metavar="<module>", action='append') parser_group_lokkit.add_argument("--service", "-s", metavar="<service>", action='append') parser_group_lokkit.add_argument("--remove-service", metavar="<service>", action='append') parser_group_lokkit.add_argument("--port", "-p", metavar="<port>", action='append') parser_group_lokkit.add_argument("--trust", "-t", metavar="<iface>", action='append') parser_group_lokkit.add_argument("--masq", "-m", metavar="<iface>", action='append') parser_group_lokkit.add_argument("--custom-rules", metavar="<filename>", action='append') parser_group_lokkit.add_argument("--forward-port", metavar="<port>", action='append') parser_group_lokkit.add_argument("--block-icmp", metavar="<icmptype>", action='append') parser.add_argument("--system-config", metavar="path") parser.add_argument("--default-config", metavar="path") parser.add_argument("--check-config", action="store_true") parser_group_standalone = parser.add_mutually_exclusive_group() parser_group_standalone.add_argument("-h", "--help", action="store_true") parser_group_standalone.add_argument("-V", "--version", action="store_true") parser_group_standalone.add_argument("--get-log-denied", action="store_true") parser_group_standalone.add_argument("--set-log-denied", metavar="<value>") parser_group_standalone.add_argument("--get-automatic-helpers", action="store_true") parser_group_standalone.add_argument("--set-automatic-helpers", metavar="<value>") parser_group_standalone.add_argument("--policy-server", action="store_true") parser_group_standalone.add_argument("--policy-desktop", action="store_true") parser_group_standalone.add_argument("--lockdown-on", action="store_true") parser_group_standalone.add_argument("--lockdown-off", action="store_true") parser_group_standalone.add_argument("--query-lockdown", action="store_true") parser_group_standalone.add_argument("--get-default-zone", action="store_true") parser_group_standalone.add_argument("--set-default-zone", metavar="<zone>") parser_group_standalone.add_argument("--get-zones", action="store_true") parser_group_standalone.add_argument("--get-services", action="store_true") parser_group_standalone.add_argument("--get-icmptypes", action="store_true") parser_group_standalone.add_argument("--get-zone-of-interface", metavar="<iface>", action='append') parser_group_standalone.add_argument("--get-zone-of-source", metavar="<source>", action='append') parser_group_standalone.add_argument("--list-all-zones", action="store_true") parser_group_standalone.add_argument("--info-zone", metavar="<zone>") parser_group_standalone.add_argument("--info-service", metavar="<service>") parser_group_standalone.add_argument("--info-icmptype", metavar="<icmptype>") parser_group_standalone.add_argument("--info-ipset", metavar="<ipset>") parser_group_standalone.add_argument("--info-helper", metavar="<helper>") parser_group_config = parser.add_mutually_exclusive_group() parser_group_config.add_argument("--new-icmptype", metavar="<icmptype>") parser_group_config.add_argument("--new-icmptype-from-file", metavar="<filename>") parser_group_config.add_argument("--delete-icmptype", metavar="<icmptype>") parser_group_config.add_argument("--load-icmptype-defaults", metavar="<icmptype>") parser_group_config.add_argument("--new-service", metavar="<service>") parser_group_config.add_argument("--new-service-from-file", metavar="<filename>") parser_group_config.add_argument("--delete-service", metavar="<service>") parser_group_config.add_argument("--load-service-defaults", metavar="<service>") parser_group_config.add_argument("--new-zone", metavar="<zone>") parser_group_config.add_argument("--new-zone-from-file", metavar="<filename>") parser_group_config.add_argument("--delete-zone", metavar="<zone>") parser_group_config.add_argument("--load-zone-defaults", metavar="<zone>") parser_group_config.add_argument("--new-ipset", metavar="<ipset>") parser_group_config.add_argument("--new-ipset-from-file", metavar="<filename>") parser_group_config.add_argument("--delete-ipset", metavar="<ipset>") parser_group_config.add_argument("--load-ipset-defaults", metavar="<ipset>") parser_group_config.add_argument("--new-helper", metavar="<helper>") parser_group_config.add_argument("--new-helper-from-file", metavar="<filename>") parser_group_config.add_argument("--delete-helper", metavar="<helper>") parser_group_config.add_argument("--load-helper-defaults", metavar="<helper>") parser_group_config.add_argument("--path-zone", metavar="<zone>") parser_group_config.add_argument("--path-service", metavar="<service>") parser_group_config.add_argument("--path-icmptype", metavar="<icmptype>") parser_group_config.add_argument("--path-ipset", metavar="<ipset>") parser_group_config.add_argument("--path-helper", metavar="<helper>") parser.add_argument("--name", default="", metavar="<name>") parser_group_lockdown_whitelist = parser.add_mutually_exclusive_group() parser_group_lockdown_whitelist.add_argument("--list-lockdown-whitelist-commands", action="store_true") parser_group_lockdown_whitelist.add_argument("--add-lockdown-whitelist-command", metavar="<command>", action='append') parser_group_lockdown_whitelist.add_argument("--remove-lockdown-whitelist-command", metavar="<command>", action='append') parser_group_lockdown_whitelist.add_argument("--query-lockdown-whitelist-command", metavar="<command>", action='append') parser_group_lockdown_whitelist.add_argument("--list-lockdown-whitelist-contexts", action="store_true") parser_group_lockdown_whitelist.add_argument("--add-lockdown-whitelist-context", metavar="<context>", action='append') parser_group_lockdown_whitelist.add_argument("--remove-lockdown-whitelist-context", metavar="<context>", action='append') parser_group_lockdown_whitelist.add_argument("--query-lockdown-whitelist-context", metavar="<context>", action='append') parser_group_lockdown_whitelist.add_argument("--list-lockdown-whitelist-uids", action="store_true") parser_group_lockdown_whitelist.add_argument("--add-lockdown-whitelist-uid", metavar="<uid>", type=int, action='append') parser_group_lockdown_whitelist.add_argument("--remove-lockdown-whitelist-uid", metavar="<uid>", type=int, action='append') parser_group_lockdown_whitelist.add_argument("--query-lockdown-whitelist-uid", metavar="<uid>", type=int, action='append') parser_group_lockdown_whitelist.add_argument("--list-lockdown-whitelist-users", action="store_true") parser_group_lockdown_whitelist.add_argument("--add-lockdown-whitelist-user", metavar="<user>", action='append') parser_group_lockdown_whitelist.add_argument("--remove-lockdown-whitelist-user", metavar="<user>", action='append') parser_group_lockdown_whitelist.add_argument("--query-lockdown-whitelist-user", metavar="<user>", action='append') parser.add_argument("--zone", default="", metavar="<zone>") parser_group_zone = parser.add_mutually_exclusive_group() parser_group_zone.add_argument("--add-interface", metavar="<iface>", action='append') parser_group_zone.add_argument("--remove-interface", metavar="<iface>", action='append') parser_group_zone.add_argument("--query-interface", metavar="<iface>", action='append') parser_group_zone.add_argument("--change-interface", "--change-zone", metavar="<iface>", action='append') parser_group_zone.add_argument("--list-interfaces", action="store_true") parser_group_zone.add_argument("--add-source", metavar="<source>", action='append') parser_group_zone.add_argument("--remove-source", metavar="<source>", action='append') parser_group_zone.add_argument("--query-source", metavar="<source>", action='append') parser_group_zone.add_argument("--change-source", metavar="<source>", action='append') parser_group_zone.add_argument("--list-sources", action="store_true") parser_group_zone.add_argument("--add-rich-rule", metavar="<rule>", action='append') parser_group_zone.add_argument("--remove-rich-rule", metavar="<rule>", action='append') parser_group_zone.add_argument("--query-rich-rule", metavar="<rule>", action='append') parser_group_zone.add_argument("--add-service", metavar="<service>", action='append') parser_group_zone.add_argument("--remove-service-from-zone", metavar="<zone>", action='append') parser_group_zone.add_argument("--query-service", metavar="<zone>", action='append') parser_group_zone.add_argument("--add-port", metavar="<port>", action='append') parser_group_zone.add_argument("--remove-port", metavar="<port>", action='append') parser_group_zone.add_argument("--query-port", metavar="<port>", action='append') parser_group_zone.add_argument("--add-protocol", metavar="<protocol>", action='append') parser_group_zone.add_argument("--remove-protocol", metavar="<protocol>", action='append') parser_group_zone.add_argument("--query-protocol", metavar="<protocol>", action='append') parser_group_zone.add_argument("--add-source-port", metavar="<port>", action='append') parser_group_zone.add_argument("--remove-source-port", metavar="<port>", action='append') parser_group_zone.add_argument("--query-source-port", metavar="<port>", action='append') parser_group_zone.add_argument("--add-masquerade", action="store_true") parser_group_zone.add_argument("--remove-masquerade", action="store_true") parser_group_zone.add_argument("--query-masquerade", action="store_true") parser_group_zone.add_argument("--add-icmp-block", metavar="<icmptype>", action='append') parser_group_zone.add_argument("--remove-icmp-block", metavar="<icmptype>", action='append') parser_group_zone.add_argument("--query-icmp-block", metavar="<icmptype>", action='append') parser_group_zone.add_argument("--add-icmp-block-inversion", action="store_true") parser_group_zone.add_argument("--remove-icmp-block-inversion", action="store_true") parser_group_zone.add_argument("--query-icmp-block-inversion", action="store_true") parser_group_zone.add_argument("--add-forward-port", metavar="<port>", action='append') parser_group_zone.add_argument("--remove-forward-port", metavar="<port>", action='append') parser_group_zone.add_argument("--query-forward-port", metavar="<port>", action='append') parser_group_zone.add_argument("--list-rich-rules", action="store_true") parser_group_zone.add_argument("--list-services", action="store_true") parser_group_zone.add_argument("--list-ports", action="store_true") parser_group_zone.add_argument("--list-protocols", action="store_true") parser_group_zone.add_argument("--list-icmp-blocks", action="store_true") parser_group_zone.add_argument("--list-forward-ports", action="store_true") parser_group_zone.add_argument("--list-source-ports", action="store_true") parser_group_zone.add_argument("--list-all", action="store_true") parser_group_zone.add_argument("--get-target", action="store_true") parser_group_zone.add_argument("--set-target", metavar="<target>") parser.add_argument("--option", metavar="<key>[=<value>]", action='append') parser.add_argument("--type", metavar="<ipsettype>") parser.add_argument("--ipset", metavar="<ipset>") parser_ipset = parser.add_mutually_exclusive_group() #parser_ipset.add_argument("--add-option", metavar="<key>[=<value>]") #parser_ipset.add_argument("--remove-option", metavar="<key>[=<value>]") #parser_ipset.add_argument("--query-option", metavar="<key>[=<value>]") #parser_ipset.add_argument("--get-options", action="store_true") parser_ipset.add_argument("--get-ipsets", action="store_true") parser_ipset.add_argument("--add-entry", metavar="<entry>", action='append') parser_ipset.add_argument("--remove-entry", metavar="<entry>", action='append') parser_ipset.add_argument("--query-entry", metavar="<entry>", action='append') parser_ipset.add_argument("--get-entries", action="store_true") parser_ipset.add_argument("--add-entries-from-file", metavar="<filename>", action='append') parser_ipset.add_argument("--remove-entries-from-file", metavar="<filename>", action='append') parser.add_argument("--icmptype", metavar="<icmptype>") parser_icmptype = parser.add_mutually_exclusive_group() parser_icmptype.add_argument("--add-destination", metavar="<ipv>", action='append') parser_icmptype.add_argument("--remove-destination", metavar="<ipv>", action='append') parser_icmptype.add_argument("--query-destination", metavar="<ipv>", action='append') parser_icmptype.add_argument("--get-destinations", action="store_true") parser_service = parser.add_mutually_exclusive_group() parser_service.add_argument("--get-ports", action="store_true") parser_service.add_argument("--get-source-ports", action="store_true") parser_service.add_argument("--get-protocols", action="store_true") parser_service.add_argument("--add-module", metavar="<module>", action='append') parser_service.add_argument("--remove-module", metavar="<module>", action='append') parser_service.add_argument("--query-module", metavar="<module>", action='append') parser_service.add_argument("--get-modules", action="store_true") parser_service.add_argument("--set-destination", metavar="<destination>", action='append') parser_service.add_argument("--get-destination", action="store_true") parser_service.add_argument("--set-description", metavar="<description>") parser_service.add_argument("--get-description", action="store_true") parser_service.add_argument("--set-short", metavar="<description>") parser_service.add_argument("--get-short", action="store_true") parser.add_argument("--helper", metavar="<helper>") parser.add_argument("--family", metavar="<family>") parser.add_argument("--module", metavar="<module>") parser_helper = parser.add_mutually_exclusive_group() #parser_helper.add_argument("--get-ports", action="store_true") parser_helper.add_argument("--get-helpers", action="store_true") parser_helper.add_argument("--set-module", metavar="<module>") parser_helper.add_argument("--get-module", action="store_true") #parser_helper.add_argument("--query-module", metavar="<module>") parser_helper.add_argument("--set-family", metavar="<family>|''", nargs="*") parser_helper.add_argument("--get-family", action="store_true") parser.add_argument("--direct", action="store_true") # not possible to have sequences of options here parser_direct = parser.add_mutually_exclusive_group() parser_direct.add_argument("--add-passthrough", nargs=argparse.REMAINDER, metavar=("{ ipv4 | ipv6 | eb }", "<args>")) parser_direct.add_argument("--remove-passthrough", nargs=argparse.REMAINDER, metavar=("{ ipv4 | ipv6 | eb }", "<args>")) parser_direct.add_argument("--query-passthrough", nargs=argparse.REMAINDER, metavar=("{ ipv4 | ipv6 | eb }", "<args>")) parser_direct.add_argument("--get-passthroughs", nargs=1, metavar=("{ ipv4 | ipv6 | eb }")) parser_direct.add_argument("--get-all-passthroughs", action="store_true") parser_direct.add_argument("--add-chain", nargs=3, metavar=("{ ipv4 | ipv6 | eb }", "<table>", "<chain>")) parser_direct.add_argument("--remove-chain", nargs=3, metavar=("{ ipv4 | ipv6 | eb }", "<table>", "<chain>")) parser_direct.add_argument("--query-chain", nargs=3, metavar=("{ ipv4 | ipv6 | eb }", "<table>", "<chain>")) parser_direct.add_argument("--get-all-chains", action="store_true") parser_direct.add_argument("--get-chains", nargs=2, metavar=("{ ipv4 | ipv6 | eb }", "<table>")) parser_direct.add_argument("--add-rule", nargs=argparse.REMAINDER, metavar=("{ ipv4 | ipv6 | eb }", "<table> <chain> <priority> <args>")) parser_direct.add_argument("--remove-rule", nargs=argparse.REMAINDER, metavar=("{ ipv4 | ipv6 | eb }", "<table> <chain> <priority> <args>")) parser_direct.add_argument("--remove-rules", nargs=3, metavar=("{ ipv4 | ipv6 | eb }", "<table> <chain>")) parser_direct.add_argument("--query-rule", nargs=argparse.REMAINDER, metavar=("{ ipv4 | ipv6 | eb }", "<table> <chain> <priority> <args>")) parser_direct.add_argument("--get-rules", nargs=3, metavar=("{ ipv4 | ipv6 | eb }", "<table>", "<chain>")) parser_direct.add_argument("--get-all-rules", action="store_true") ############################################################################## cmd = FirewallCommand() def myexcepthook(exctype, value, traceback): cmd.exception_handler(str(value)) sys.excepthook = myexcepthook if len(sys.argv) > 1 and \ any('--migrate-system-config-firewall' in arg for arg in sys.argv): args = sys.argv[1:] migration_parser = argparse.ArgumentParser( usage="see firewall-offline-cmd man page", add_help=False) migration_parser.add_argument("-h", "--help", action="store_true") migration_parser.add_argument("-v", "--verbose", action="store_true") migration_parser.add_argument("-q", "--quiet", action="store_true") migration_parser.add_argument("--migrate-system-config-firewall", metavar="<file>", action='store') a,unknown = migration_parser.parse_known_args(args) cmd.set_quiet(a.quiet) cmd.set_verbose(a.verbose) if a.help: __usage() sys.exit(0) else: assert_root() if a.quiet: # it makes no sense to use --quiet with these options a.quiet = False cmd.set_quiet(a.quiet) cmd.fail("-q/--quiet can't be used with this option(s)") if a.migrate_system_config_firewall: args = read_sysconfig_args(a.migrate_system_config_firewall) if not args: cmd.fail("Opening of '%s' failed, exiting." % \ a.migrate_system_config_firewall) args += unknown elif len(sys.argv) > 1: i = -1 args = sys.argv[1:] if '--add-passthrough' in args: i = args.index('--add-passthrough') + 1 elif '--remove-passthrough' in args: i = args.index('--remove-passthrough') + 1 elif '--query-passthrough' in args: i = args.index('--query-passthrough') + 1 elif '--add-rule' in args: i = args.index('--add-rule') + 4 elif '--remove-rule' in args: i = args.index('--remove-rule') + 4 elif '--query-rule' in args: i = args.index('--query-rule') + 4 # join <args> into one argument to prevent parser from parsing each iptables # option, because they can conflict with firewall-cmd options # # e.g. --delete (iptables) and --delete-* (firewall-cmd) if (i > -1) and (i < len(args) - 1): aux_args = args[:] args = aux_args[:i+1] # all but not <args> args.append(joinArgs(aux_args[i+1:])) # add <args> as one arg else: assert_root() # migrate configuration from SYSTEM_CONFIG_FIREWALL args = read_sysconfig_args() if not args: cmd.fail("Opening of '%s' failed, exiting." % SYSTEM_CONFIG_FIREWALL) a = parser.parse_args(args) options_lokkit = a.enabled or a.disabled or a.addmodule or a.removemodule or \ a.trust or a.masq or a.custom_rules or \ a.service or a.remove_service or a.port or \ a.trust or a.masq or a.forward_port or a.block_icmp options_standalone = a.help or a.version or \ a.policy_server or a.policy_desktop or \ a.lockdown_on or a.lockdown_off or a.query_lockdown or \ a.get_default_zone or a.set_default_zone or \ a.get_log_denied or a.set_log_denied or \ a.get_automatic_helpers or a.set_automatic_helpers options_desc_xml_file = a.set_description or a.get_description or \ a.set_short or a.get_short options_lockdown_whitelist = \ a.list_lockdown_whitelist_commands or a.add_lockdown_whitelist_command or \ a.remove_lockdown_whitelist_command or \ a.query_lockdown_whitelist_command or \ a.list_lockdown_whitelist_contexts or a.add_lockdown_whitelist_context or \ a.remove_lockdown_whitelist_context or \ a.query_lockdown_whitelist_context or \ a.list_lockdown_whitelist_uids or a.add_lockdown_whitelist_uid is not None or \ a.remove_lockdown_whitelist_uid is not None or \ a.query_lockdown_whitelist_uid is not None or \ a.list_lockdown_whitelist_users or a.add_lockdown_whitelist_user or \ a.remove_lockdown_whitelist_user or \ a.query_lockdown_whitelist_user options_config = a.get_zones or a.get_services or a.get_icmptypes or \ options_lockdown_whitelist or a.list_all_zones or \ a.get_zone_of_interface or a.get_zone_of_source or \ a.info_zone or a.info_icmptype or a.info_service or \ a.info_ipset or a.get_ipsets or a.info_helper or \ a.get_helpers options_zone_action_action = \ a.add_service or a.remove_service_from_zone or a.query_service or \ a.add_port or a.remove_port or a.query_port or \ a.add_protocol or a.remove_protocol or a.query_protocol or \ a.add_source_port or a.remove_source_port or a.query_source_port or \ a.add_icmp_block or a.remove_icmp_block or a.query_icmp_block or \ a.add_forward_port or a.remove_forward_port or a.query_forward_port options_zone_interfaces_sources = \ a.list_interfaces or a.change_interface or \ a.add_interface or a.remove_interface or a.query_interface or \ a.list_sources or a.change_source or \ a.add_source or a.remove_source or a.query_source options_zone_adapt_query = \ a.add_rich_rule or a.remove_rich_rule or a.query_rich_rule or \ a.add_masquerade or a.remove_masquerade or a.query_masquerade or \ a.list_services or a.list_ports or a.list_protocols or \ a.list_source_ports or \ a.list_icmp_blocks or a.list_forward_ports or a.list_rich_rules or \ a.add_icmp_block_inversion or a.remove_icmp_block_inversion or \ a.query_icmp_block_inversion or \ a.list_all or a.get_target or a.set_target options_zone_ops = options_zone_interfaces_sources or \ options_zone_action_action or options_zone_adapt_query options_zone = a.zone or options_zone_ops or options_desc_xml_file options_ipset = a.add_entry or a.remove_entry or a.query_entry or \ a.get_entries or a.add_entries_from_file or \ a.remove_entries_from_file or options_desc_xml_file options_icmptype = a.add_destination or a.remove_destination or \ a.query_destination or a.get_destinations or \ options_desc_xml_file options_service = a.add_port or a.remove_port or a.query_port or \ a.get_ports or \ a.add_protocol or a.remove_protocol or a.query_protocol or \ a.get_protocols or \ a.add_source_port or a.remove_source_port or \ a.query_source_port or a.get_source_ports or \ a.add_module or a.remove_module or a.query_module or \ a.get_modules or \ a.set_destination or a.remove_destination or \ a.query_destination or a.get_destinations or \ options_desc_xml_file options_helper = a.add_port or a.remove_port or a.query_port or \ a.get_ports or a.set_module or a.get_module or \ a.set_family or a.get_family or \ options_desc_xml_file options_permanent = options_config or options_zone or \ a.new_icmptype or a.delete_icmptype or \ a.new_icmptype_from_file or \ a.load_icmptype_defaults or \ a.new_service or a.delete_service or \ a.new_service_from_file or \ a.load_service_defaults or \ a.new_zone or a.delete_zone or \ a.new_zone_from_file or \ a.load_zone_defaults or \ a.new_helper or a.delete_helper or \ a.new_helper_from_file or \ a.load_helper_defaults or \ a.new_ipset or a.delete_ipset or \ a.new_ipset_from_file or \ a.load_ipset_defaults or \ a.ipset or options_ipset or \ (a.icmptype and options_icmptype) or \ (a.service and options_service) or \ (a.helper and options_helper) or \ a.path_zone or a.path_icmptype or a.path_service or \ a.path_ipset or a.path_helper options_direct = \ a.add_chain or a.remove_chain or a.query_chain or \ a.get_chains or a.get_all_chains or \ a.add_rule or a.remove_rule or a.remove_rules or a.query_rule or \ a.get_rules or a.get_all_rules or \ a.add_passthrough or a.remove_passthrough or a.query_passthrough or \ a.get_passthroughs or a.get_all_passthroughs # these are supposed to only write out some output options_list_get = a.help or a.version or a.list_all or a.list_all_zones or \ a.list_lockdown_whitelist_commands or a.list_lockdown_whitelist_contexts or \ a.list_lockdown_whitelist_uids or a.list_lockdown_whitelist_users or \ a.list_services or a.list_ports or a.list_protocols or a.list_icmp_blocks or \ a.list_forward_ports or a.list_rich_rules or a.list_interfaces or \ a.list_sources or a.get_default_zone or \ a.get_zone_of_interface or a.get_zone_of_source or a.get_zones or \ a.get_services or a.get_icmptypes or a.get_target or \ a.info_zone or a.info_icmptype or a.info_service or \ a.info_ipset or a.get_ipsets or a.get_entries or \ a.info_helper or a.get_helpers or \ a.get_destinations or a.get_description # Set quiet and verbose cmd.set_quiet(a.quiet) cmd.set_verbose(a.verbose) # Check various impossible combinations of options if not (options_standalone or options_ipset or \ options_lokkit or \ options_icmptype or options_service or options_helper or \ options_permanent or options_direct or options_desc_xml_file or \ a.check_config): cmd.fail(parser.format_usage() + "No option specified.") if options_lokkit and (options_standalone or \ options_permanent or options_direct) and \ not (options_service and a.service): cmd.fail(parser.format_usage() + "Can't use lokkit options with other options.") if options_standalone and (options_permanent or \ options_direct or options_ipset): cmd.fail(parser.format_usage() + "Can't use stand-alone options with other options.") if options_ipset and not options_desc_xml_file and not a.ipset: cmd.fail(parser.format_usage() + "No ipset specified.") if (options_icmptype and not a.icmptype) and \ not (options_service and a.service) and not options_desc_xml_file: cmd.fail(parser.format_usage() + "No icmptype specified.") if options_service and a.service and len(a.service) > 0: if len(a.service) > 1: cmd.fail(parser.format_usage() + "More than one service specified.") # use the first entry in the array only a.service = a.service[0] if (options_helper and not a.helper) and \ not (options_service and a.service) and \ not options_zone and not options_desc_xml_file: cmd.fail(parser.format_usage() + "No helper specified.") if options_direct and options_zone: cmd.fail(parser.format_usage() + "Can't use 'direct' options with other options.") if (a.direct and not options_direct) or (options_direct and not a.direct): cmd.fail(parser.format_usage() + "Wrong usage of 'direct' options.") if a.name and not (a.new_zone_from_file or a.new_service_from_file or \ a.new_ipset_from_file or a.new_icmptype_from_file or \ a.new_helper_from_file): cmd.fail(parser.format_usage() + "Wrong usage of '--name' option.") if options_config and options_zone: cmd.fail(parser.format_usage() + "Wrong usage of --get-zones | --get-services | --get-icmptypes.") if a.quiet and options_list_get: # it makes no sense to use --quiet with these options a.quiet = False cmd.set_quiet(a.quiet) cmd.fail("-q/--quiet can't be used with this option(s)") if a.help: __usage() sys.exit(0) assert_root() if a.system_config: config.set_system_config_paths(a.system_config) if a.default_config: config.set_default_config_paths(a.default_config) if a.check_config: try: fw = Firewall_test() fw.start() check_config(fw) except FirewallError as error: cmd.print_and_exit("Configuration error: %s" % error, error.code) except Exception as msg: cmd.fail("Configuration error: %s" % msg) sys.exit(0) zone = a.zone fw = Firewall_test() fw.start() try: # Lokkit Compatibility Options if options_lokkit and not (options_service and a.service): trusted_zone = "trusted" default_zone = fw.get_default_zone() fw_zone = fw.config.get_zone(default_zone) fw_settings = FirewallClientZoneSettings( list(fw.config.get_zone_config(fw_zone))) if a.enabled: # Enable firewall (default) os.system("systemctl enable firewalld.service") if a.disabled: # Disable firewall os.system("systemctl disable firewalld.service") if a.addmodule: for m in a.addmodule: cmd.print_msg("Ignoring addmodule '%s'" % m) if a.removemodule: for m in a.removemodule: cmd.print_msg("Ignoring removemodule '%s'" % m) if a.custom_rules: for c in a.custom_rules: cmd.print_msg("Ignoring custom-rule '%s'" % c) if a.service: for s in a.service: cmd.print_msg("Adding service '%s' to default zone." % s) if not fw_settings.queryService(s): fw_settings.addService(s) else: cmd.print_msg("ALREADY_ENABLED: %s" % s) if a.remove_service: for s in a.remove_service: cmd.print_msg("Removing service '%s' from default zone." % s) if fw_settings.queryService(s): fw_settings.removeService(s) else: cmd.print_msg("NOT_ENABLED: %s" % s) if a.port: for port_proto in a.port: (port, proto) = parse_port_lokkit(port_proto) cmd.print_msg("Adding port '%s/%s' to default zone." % (port, proto)) if not fw_settings.queryPort(port, proto): fw_settings.addPort(port, proto) else: cmd.print_msg("ALREADY_ENABLED: %s" % port_proto) if a.trust: if default_zone != trusted_zone: fw_trusted = fw.config.get_zone("trusted") fw_trusted_settings = FirewallClientZoneSettings( list(fw.config.get_zone_config(fw_trusted))) # Bind an interface to the trusted zone for i in a.trust: cmd.print_msg("Interface '%s' will be bound to zone '%s'." % \ (i, trusted_zone)) if not fw_trusted_settings.queryInterface(i): fw_trusted_settings.addInterface(i) else: cmd.print_msg("ALREADY_ENABLED: %s" % i) fw.config.set_zone_config(fw_trusted, fw_trusted_settings.settings) else: for i in a.trust: cmd.print_msg("Interface '%s' will be bound to zone '%s'." % \ (i, trusted_zone)) if not fw_settings.queryInterface(i): fw_settings.addInterface(i) else: cmd.print_msg("ALREADY_ENABLED: %s" % i) if a.masq: # Enables masquerading in the default zone, interface argument is ignored cmd.print_msg("Enabling masquerade for the default zone.") fw_settings.setMasquerade(True) if a.forward_port: for fp in a.forward_port: (port, protocol, toport, toaddr) = cmd.parse_forward_port( fp, compat=True) cmd.print_msg("Adding forward port %s:%s:%s:%s to default zone." % \ (port, protocol, toport, toaddr)) if not fw_settings.queryForwardPort(port, protocol, toport, toaddr): fw_settings.addForwardPort(port, protocol, toport, toaddr) else: cmd.print_msg("ALREADY_ENABLED: %s" % fp) if a.block_icmp: for ib in a.block_icmp: cmd.print_msg("Adding icmpblock '%s' to default zone." % ib) if not fw_settings.queryIcmpBlock(ib): fw_settings.addIcmpBlock(ib) else: cmd.print_msg("ALREADY_ENABLED: %s" % ib) fw.config.set_zone_config(fw_zone, fw_settings.settings) elif a.version: cmd.print_and_exit(config.VERSION) elif a.get_log_denied: cmd.print_and_exit(fw.get_log_denied()) elif a.set_log_denied: fw.set_log_denied(a.set_log_denied) elif a.get_automatic_helpers: cmd.print_and_exit(fw.get_automatic_helpers()) elif a.set_automatic_helpers: fw.set_automatic_helpers(a.set_automatic_helpers) elif a.policy_server: pk_symlink('server') elif a.policy_desktop: pk_symlink('desktop') # options from firewall-cmd elif a.get_default_zone: cmd.print_and_exit(fw.get_default_zone()) elif a.set_default_zone: fw.set_default_zone(a.set_default_zone) # lockdown elif a.lockdown_on: fw.enable_lockdown() elif a.lockdown_off: fw.disable_lockdown() elif a.query_lockdown: cmd.print_query_result(fw.policies.query_lockdown()) # zones elif a.get_zones: zones = fw.config.get_zones() cmd.print_and_exit(" ".join(zones)) elif a.new_zone: fw.config.new_zone(a.new_zone, FirewallClientZoneSettings().settings) elif a.new_zone_from_file: filename = os.path.basename(a.new_zone_from_file) dirname = os.path.dirname(a.new_zone_from_file) if dirname == "": dirname = "./" try: obj = zone_reader(filename, dirname) except FirewallError as msg: cmd.print_and_exit("Failed to load zone file '%s': %s" % \ (a.new_zone_from_file, msg), msg.code) except IOError as msg: cmd.fail("Failed to load zone file: %s" % msg) if a.name: obj.name = a.name fw.config.new_zone(obj.name, obj.export_config()) elif a.delete_zone: obj = fw.config.get_zone(a.delete_zone) fw.config.remove_zone(obj) elif a.load_zone_defaults: obj = fw.config.get_zone(a.load_zone_defaults) fw.config.load_zone_defaults(obj) elif a.info_zone: zone = fw.config.get_zone(a.info_zone) settings = FirewallClientZoneSettings( list(fw.config.get_zone_config(zone))) cmd.print_zone_info(a.info_zone, settings, True) sys.exit(0) elif a.path_zone: obj = fw.config.get_zone(a.path_zone) cmd.print_and_exit("%s/%s" % (obj.path, obj.filename)) # services elif a.get_services: services = fw.config.get_services() cmd.print_and_exit(" ".join(services)) elif a.new_service: fw.config.new_service(a.new_service, FirewallClientServiceSettings().settings) elif a.new_service_from_file: filename = os.path.basename(a.new_service_from_file) dirname = os.path.dirname(a.new_service_from_file) if dirname == "": dirname = "./" try: obj = service_reader(filename, dirname) except FirewallError as msg: cmd.print_and_exit("Failed to load service file '%s': %s" % \ (a.new_service_from_file, msg), msg.code) except IOError as msg: cmd.fail("Failed to load service file: %s" % msg) if a.name: obj.name = a.name fw.config.new_service(obj.name, obj.export_config()) elif a.delete_service: obj = fw.config.get_service(a.delete_service) fw.config.remove_service(obj) # remove service from all zones zones = fw.config.get_zones() for zone in zones: _zone = fw.config.get_zone(zone) _settings = FirewallClientZoneSettings( list(fw.config.get_zone_config(_zone))) if _settings.queryService(a.delete_service): _settings.removeService(a.delete_service) fw.config.set_zone_config(_zone, _settings.settings) elif a.load_service_defaults: obj = fw.config.get_service(a.load_service_defaults) fw.config.load_service_defaults(obj) elif a.info_service: service = fw.config.get_service(a.info_service) settings = FirewallClientServiceSettings( list(fw.config.get_service_config(service))) cmd.print_service_info(a.info_service, settings) sys.exit(0) elif a.path_service: obj = fw.config.get_service(a.path_service) cmd.print_and_exit("%s/%s" % (obj.path, obj.filename)) # icmptypes elif a.get_icmptypes: icmptypes = fw.config.get_icmptypes() cmd.print_and_exit(" ".join(icmptypes)) elif a.new_icmptype: fw.config.new_icmptype(a.new_icmptype, FirewallClientIcmpTypeSettings().settings) elif a.new_icmptype_from_file: filename = os.path.basename(a.new_icmptype_from_file) dirname = os.path.dirname(a.new_icmptype_from_file) if dirname == "": dirname = "./" try: obj = icmptype_reader(filename, dirname) except FirewallError as msg: cmd.print_and_exit("Failed to load icmptype file '%s': %s" % \ (a.new_icmptype_from_file, msg), msg.code) except IOError as msg: cmd.fail("Failed to load icmptype file: %s" % msg) if a.name: obj.name = a.name fw.config.new_icmptype(obj.name, obj.export_config()) elif a.delete_icmptype: obj = fw.config.get_icmptype(a.delete_icmptype) fw.config.remove_icmptype(obj) # remove icmpyte from all zones zones = fw.config.get_zones() for zone in zones: _zone = fw.config.get_zone(zone) _settings = FirewallClientZoneSettings( list(fw.config.get_zone_config(_zone))) if _settings.queryIcmpBlock(a.delete_icmptype): _settings.removeIcmpBlock(a.delete_icmptype) fw.config.set_zone_config(_zone, _settings.settings) elif a.load_icmptype_defaults: obj = fw.config.get_icmptype(a.load_icmptype_defaults) fw.config.load_icmptype_defaults(obj) elif a.info_icmptype: icmptype = fw.config.get_icmptype(a.info_icmptype) settings = FirewallClientIcmpTypeSettings( list(fw.config.get_icmptype_config(icmptype))) cmd.print_icmptype_info(a.info_icmptype, settings) sys.exit(0) elif a.path_icmptype: obj = fw.config.get_icmptype(a.path_icmptype) cmd.print_and_exit("%s/%s" % (obj.path, obj.filename)) elif a.icmptype and options_icmptype: icmptype = fw.config.get_icmptype(a.icmptype) settings = FirewallClientIcmpTypeSettings( list(fw.config.get_icmptype_config(icmptype))) if a.add_destination: cmd.add_sequence(a.add_destination, settings.addDestination, settings.queryDestination, cmd.check_destination_ipv, "'%s'") fw.config.set_icmptype_config(icmptype, settings.settings) elif a.remove_destination: cmd.remove_sequence(a.remove_destination, settings.removeDestination, settings.queryDestination, cmd.check_destination_ipv, "'%s'") fw.config.set_icmptype_config(icmptype, settings.settings) elif a.query_destination: cmd.query_sequence(a.query_destination, settings.queryDestination, cmd.check_destination_ipv , "'%s'") elif a.get_destinations: l = settings.getDestinations() if len(l) == 0: l = [ "ipv4", "ipv6" ] cmd.print_and_exit("\n".join(l)) elif a.set_description: settings.setDescription(a.set_description) fw.config.set_icmptype_config(icmptype, settings.settings) elif a.get_description: cmd.print_and_exit(settings.getDescription()) elif a.set_short: settings.setShort(a.set_short) fw.config.set_icmptype_config(icmptype, settings.settings) elif a.get_short: cmd.print_and_exit(settings.getShort()) else: cmd.fail(parser.format_usage() + "Unknown option") cmd.print_and_exit("success") elif a.service and options_service: service = fw.config.get_service(a.service) settings = FirewallClientServiceSettings( list(fw.config.get_service_config(service))) if a.add_port: cmd.add_sequence(a.add_port, settings.addPort, settings.queryPort, cmd.parse_port, "%s/%s") fw.config.set_service_config(service, settings.settings) elif a.remove_port: cmd.remove_sequence(a.remove_port, settings.removePort, settings.queryPort, cmd.parse_port, "%s/%s") fw.config.set_service_config(service, settings.settings) elif a.query_port: cmd.query_sequence(a.query_port, settings.queryPort, cmd.parse_port, "%s/%s") elif a.get_ports: l = settings.getPorts() cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l])) elif a.add_protocol: cmd.add_sequence(a.add_protocol, settings.addProtocol, settings.queryProtocol, None, "'%s'") fw.config.set_service_config(service, settings.settings) elif a.remove_protocol: cmd.remove_sequence(a.remove_protocol, settings.removeProtocol, settings.queryProtocol, None, "'%s'") fw.config.set_service_config(service, settings.settings) elif a.query_protocol: cmd.query_sequence(a.query_protocol, settings.queryProtocol, None, "'%s'") elif a.get_protocols: l = settings.getProtocols() cmd.print_and_exit(" ".join(["%s" % protocol for protocol in l])) elif a.add_source_port: cmd.add_sequence(a.add_source_port, settings.addSourcePort, settings.querySourcePort, cmd.parse_port, "%s/%s") fw.config.set_service_config(service, settings.settings) elif a.remove_source_port: cmd.remove_sequence(a.remove_source_port, settings.removeSourcePort, settings.querySourcePort, cmd.parse_port, "%s/%s") fw.config.set_service_config(service, settings.settings) elif a.query_source_port: cmd.query_sequence(a.query_source_port, settings.querySourcePort, cmd.parse_port, "%s/%s") elif a.get_source_ports: l = settings.getSourcePorts() cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l])) elif a.add_module: cmd.add_sequence(a.add_module, settings.addModule, settings.queryModule, None, "'%s'") fw.config.set_service_config(service, settings.settings) elif a.remove_module: cmd.remove_sequence(a.remove_module, settings.removeModule, settings.queryModule, None, "'%s'") fw.config.set_service_config(service, settings.settings) elif a.query_module: cmd.query_sequence(a.query_module, settings.queryModule, None, "'%s'") elif a.get_modules: l = settings.getModules() cmd.print_and_exit(" ".join(["%s" % module for module in l])) elif a.set_destination: cmd.add_sequence(a.set_destination, settings.setDestination, settings.queryDestination, cmd.parse_service_destination, "%s:%s") fw.config.set_service_config(service, settings.settings) elif a.remove_destination: # special case for removeDestination: Only ipv, no address for ipv in a.remove_destination: cmd.check_destination_ipv(ipv) if ipv not in settings.getDestinations(): if len(a.remove_destination) > 1: cmd.print_warning("Warning: NOT_ENABLED: '%s'" % ipv) else: code = FirewallError.get_code("NOT_ENABLED") cmd.print_and_exit("Error: NOT_ENABLED: '%s'" % ipv, code) else: settings.removeDestination(ipv) fw.config.set_service_config(service, settings.settings) elif a.query_destination: cmd.query_sequence(a.query_destination, settings.queryDestination, cmd.parse_service_destination, "'%s'") elif a.get_destinations: l = settings.getDestinations() cmd.print_and_exit(" ".join(["%s:%s" % (dest[0], dest[1]) for dest in l.items()])) elif a.set_description: settings.setDescription(a.set_description) fw.config.set_service_config(service, settings.settings) elif a.get_description: cmd.print_and_exit(settings.getDescription()) elif a.set_short: settings.setShort(a.set_short) fw.config.set_service_config(service, settings.settings) elif a.get_short: cmd.print_and_exit(settings.getShort()) else: cmd.fail(parser.format_usage() + "Unknown option") cmd.print_and_exit("success") # ipsets if a.get_ipsets: ipsets = fw.config.get_ipsets() cmd.print_and_exit(" ".join(sorted(ipsets))) elif a.new_ipset: if not a.type: cmd.fail(parser.format_usage() + "No type specified.") settings = FirewallClientIPSetSettings() settings.setType(a.type) if a.option: for opt in a.option: settings.addOption(*cmd.parse_ipset_option(opt)) fw.config.new_ipset(a.new_ipset, settings.settings) elif a.new_ipset_from_file: filename = os.path.basename(a.new_ipset_from_file) dirname = os.path.dirname(a.new_ipset_from_file) if dirname == "": dirname = "./" try: obj = ipset_reader(filename, dirname) except FirewallError as msg: cmd.print_and_exit("Failed to load ipset file '%s': %s" % \ (a.new_ipset_from_file, msg), msg.code) except IOError as msg: cmd.fail("Failed to load ipset file: %s" % msg) if a.name: obj.name = a.name fw.config.new_ipset(obj.name, obj.export_config()) elif a.delete_ipset: ipset = fw.config.get_ipset(a.delete_ipset) fw.config.remove_ipset(ipset) elif a.load_ipset_defaults: obj = fw.config.get_ipset(a.load_ipset_defaults) fw.config.load_ipset_defaults(obj) elif a.info_ipset: ipset = fw.config.get_ipset(a.info_ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) cmd.print_ipset_info(a.info_ipset, settings) sys.exit(0) elif a.path_ipset: obj = fw.config.get_ipset(a.path_ipset) cmd.print_and_exit("%s/%s" % (obj.path, obj.filename)) elif a.ipset: if a.add_entry: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) cmd.add_sequence(a.add_entry, settings.addEntry, settings.queryEntry, None, "'%s'") fw.config.set_ipset_config(ipset, settings.settings) elif a.remove_entry: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) cmd.remove_sequence(a.remove_entry, settings.removeEntry, settings.queryEntry, None, "'%s'") fw.config.set_ipset_config(ipset, settings.settings) elif a.query_entry: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) cmd.query_sequence(a.query_entry, settings.queryEntry, None, "'%s'") elif a.get_entries: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) l = settings.getEntries() cmd.print_and_exit("\n".join(l)) elif a.add_entries_from_file: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) changed = False for filename in a.add_entries_from_file: try: entries = cmd.get_ipset_entries_from_file(filename) except IOError as msg: message = "Failed to read file '%s': %s" % (filename, msg) if len(a.add_entries_from_file) > 1: cmd.print_warning(message) else: cmd.print_and_exit(message) else: old_entries = settings.getEntries() entries_set = set() for entry in old_entries: entries_set.add(entry) for entry in entries: if entry not in entries_set: old_entries.append(entry) entries_set.add(entry) changed = True else: cmd.print_if_verbose( "Warning: ALREADY_ENABLED: %s" % entry) if changed: settings.setEntries(old_entries) if changed: fw.config.set_ipset_config(ipset, settings.settings) elif a.remove_entries_from_file: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) changed = False for filename in a.remove_entries_from_file: try: entries = cmd.get_ipset_entries_from_file(filename) except IOError as msg: message = "Failed to read file '%s': %s" % (filename, msg) if len(a.remove_entries_from_file) > 1: cmd.print_warning(message) else: cmd.print_and_exit(message) else: old_entries = settings.getEntries() entries_set = set() for entry in old_entries: entries_set.add(entry) for entry in entries: if entry in entries_set: old_entries.remove(entry) entries_set.discard(entry) changed = True else: cmd.print_if_verbose("Warning: NOT_ENABLED: %s" % \ entry) if changed: settings.setEntries(old_entries) if changed: fw.config.set_ipset_config(ipset, settings.settings) elif a.set_description: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) settings.setDescription(a.set_description) fw.config.set_ipset_config(ipset, settings.settings) elif a.get_description: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) cmd.print_and_exit(settings.getDescription()) elif a.set_short: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) settings.setShort(a.set_short) fw.config.set_ipset_config(ipset, settings.settings) elif a.get_short: ipset = fw.config.get_ipset(a.ipset) settings = FirewallClientIPSetSettings( list(fw.config.get_ipset_config(ipset))) cmd.print_and_exit(settings.getShort()) else: cmd.fail(parser.format_usage() + "Unknown option") cmd.print_and_exit("success") # helper elif a.get_helpers: cmd.print_and_exit(" ".join(sorted(fw.config.get_helpers()))) elif a.new_helper: if not a.module: cmd.fail(parser.format_usage() + "No module specified.") settings = FirewallClientHelperSettings() settings.setModule(a.module) if a.family: settings.setFamily(a.family) fw.config.new_helper(a.new_helper, settings.settings) elif a.new_helper_from_file: filename = os.path.basename(a.new_helper_from_file) dirname = os.path.dirname(a.new_helper_from_file) if dirname == "": dirname = "./" try: obj = helper_reader(filename, dirname) except FirewallError as msg: cmd.print_and_exit("Failed to load helper file '%s': %s" % \ (a.new_helper_from_file, msg), msg.code) except IOError as msg: cmd.fail("Failed to load helper file: %s" % msg) if a.name: obj.name = a.name fw.config.new_helper(obj.name, obj.export_config()) elif a.delete_helper: obj = fw.config.get_helper(a.delete_helper) fw.config.remove_helper(obj) elif a.load_helper_defaults: obj = fw.config.get_helper(a.load_helper_defaults) fw.config.load_helper_defaults(obj) elif a.info_helper: obj = fw.config.get_helper(a.info_helper) settings = FirewallClientHelperSettings( list(fw.config.get_helper_config(obj))) cmd.print_helper_info(a.info_helper, settings) sys.exit(0) elif a.path_helper: obj = fw.config.get_helper(a.path_helper) cmd.print_and_exit("%s/%s" % (obj.path, obj.filename)) elif a.helper: obj = fw.config.get_helper(a.helper) settings = FirewallClientHelperSettings( list(fw.config.get_helper_config(obj))) if a.add_port: cmd.add_sequence(a.add_port, settings.addPort, settings.queryPort, cmd.parse_port, "%s/%s") fw.config.set_helper_config(obj, settings.settings) elif a.remove_port: cmd.remove_sequence(a.remove_port, settings.removePort, settings.queryPort, cmd.parse_port, "%s/%s") fw.config.set_helper_config(obj, settings.settings) elif a.query_port: cmd.query_sequence(a.query_port, settings.queryPort, cmd.parse_port, "%s/%s") elif a.get_ports: l = settings.getPorts() cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l])) elif a.get_module: cmd.print_and_exit(settings.getModule()) elif a.set_module: settings.setModule(cmd.check_module(a.set_module)) fw.config.set_helper_config(obj, settings.settings) elif a.get_family: cmd.print_and_exit(settings.getFamily()) elif a.set_family: settings.setFamily(cmd.check_helper_family(a.set_family[0])) fw.config.set_helper_config(obj, settings.settings) elif a.set_description: settings.setDescription(a.set_description) fw.config.set_helper_config(obj, settings.settings) elif a.get_description: cmd.print_and_exit(settings.getDescription()) elif a.set_short: settings.setShort(a.set_short) fw.config.set_helper_config(obj, settings.settings) elif a.get_short: cmd.print_and_exit(settings.getShort()) else: cmd.fail(parser.format_usage() + "Unknown option") # lockdown whitelist elif options_lockdown_whitelist: whitelist = fw.config.get_policies().lockdown_whitelist # commands if a.list_lockdown_whitelist_commands: l = whitelist.get_commands() cmd.print_and_exit("\n".join(l)) elif a.add_lockdown_whitelist_command: cmd.add_sequence(a.add_lockdown_whitelist_command, whitelist.add_command, whitelist.has_command, None, "'%s'") elif a.remove_lockdown_whitelist_command: cmd.remove_sequence(a.remove_lockdown_whitelist_command, whitelist.remove_command, whitelist.has_command, None, "'%s'") elif a.query_lockdown_whitelist_command: cmd.query_sequence(a.query_lockdown_whitelist_command, whitelist.has_command, None, "'%s'") # contexts elif a.list_lockdown_whitelist_contexts: l = whitelist.get_contexts() cmd.print_and_exit("\n".join(l)) elif a.add_lockdown_whitelist_context: cmd.add_sequence(a.add_lockdown_whitelist_context, whitelist.add_context, whitelist.has_context, None, "'%s'") elif a.remove_lockdown_whitelist_context: cmd.remove_sequence(a.remove_lockdown_whitelist_context, whitelist.remove_context, whitelist.has_context, None, "'%s'") elif a.query_lockdown_whitelist_context: cmd.query_sequence(a.query_lockdown_whitelist_context, whitelist.has_context, None, "'%s'") # uids elif a.list_lockdown_whitelist_uids: l = whitelist.get_uids() cmd.print_and_exit(" ".join(map(str, l))) elif a.add_lockdown_whitelist_uid: cmd.add_sequence(a.add_lockdown_whitelist_uid, whitelist.add_uid, whitelist.has_uid, None, "'%s'") elif a.remove_lockdown_whitelist_uid: cmd.remove_sequence(a.remove_lockdown_whitelist_uid, whitelist.remove_uid, whitelist.has_uid, None, "'%s'") elif a.query_lockdown_whitelist_uid: cmd.query_sequence(a.query_lockdown_whitelist_uid, whitelist.has_uid, None, "'%s'") # users elif a.list_lockdown_whitelist_users: l = whitelist.get_users() cmd.print_and_exit("\n".join(l)) elif a.add_lockdown_whitelist_user: cmd.add_sequence(a.add_lockdown_whitelist_user, whitelist.add_user, whitelist.has_user, None, "'%s'") elif a.remove_lockdown_whitelist_user: cmd.remove_sequence(a.remove_lockdown_whitelist_user, whitelist.remove_user, whitelist.has_user, None, "'%s'") elif a.query_lockdown_whitelist_user: cmd.query_sequence(a.query_lockdown_whitelist_user, whitelist.has_user, None, "'%s'") # apply whitelist changes whitelist.write() elif options_direct: obj = fw.config.get_direct() if a.add_passthrough: if len(a.add_passthrough) < 2: cmd.fail("usage: --direct --add-passthrough { ipv4 | ipv6 | eb } <args>") cmd.print_msg( obj.add_passthrough(cmd.check_ipv(a.add_passthrough[0]), splitArgs(a.add_passthrough[1]))) elif a.remove_passthrough: if len(a.remove_passthrough) < 2: cmd.fail("usage: --direct --remove-passthrough { ipv4 | ipv6 | eb } <args>") obj.remove_passthrough(cmd.check_ipv(a.remove_passthrough[0]), splitArgs(a.remove_passthrough[1])) elif a.query_passthrough: if len(a.query_passthrough) < 2: cmd.fail("usage: --direct --query-passthrough { ipv4 | ipv6 | eb } <args>") cmd.print_query_result( obj.query_passthrough(cmd.check_ipv(a.query_passthrough[0]), splitArgs(a.query_passthrough[1]))) sys.exit(0) elif a.get_passthroughs: rules = obj.get_passthroughs(cmd.check_ipv(a.get_passthroughs[0])) for rule in rules: cmd.print_msg(joinArgs(rule)) sys.exit(0) elif a.get_all_passthroughs: rules = obj.get_all_passthroughs() for ipv in rules: for rule in rules[ipv]: cmd.print_msg("%s %s" % (ipv, joinArgs(rule))) sys.exit(0) elif a.add_chain: obj.add_chain(cmd.check_ipv(a.add_chain[0]), a.add_chain[1], a.add_chain[2]) elif a.remove_chain: obj.remove_chain(cmd.check_ipv(a.remove_chain[0]), a.remove_chain[1], a.remove_chain[2]) elif a.query_chain: cmd.print_query_result( obj.query_chain(cmd.check_ipv(a.query_chain[0]), a.query_chain[1], a.query_chain[2])) sys.exit(0) elif a.get_chains: cmd.print_and_exit( " ".join(obj.get_chains(cmd.check_ipv(a.get_chains[0]), a.get_chains[1]))) sys.exit(0) elif a.get_all_chains: chains = obj.get_all_chains() for (ipv, table) in chains: for chain in chains[(ipv, table)]: cmd.print_msg("%s %s %s" % (ipv, table, chain)) sys.exit(0) elif a.add_rule: if len(a.add_rule) < 5: cmd.fail("usage: --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>") try: priority = int(a.add_rule[3]) except ValueError: cmd.fail("wrong priority\nusage: --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>") obj.add_rule(cmd.check_ipv(a.add_rule[0]), a.add_rule[1], a.add_rule[2], priority, splitArgs(a.add_rule[4])) elif a.remove_rule: if len(a.remove_rule) < 5: cmd.fail("usage: --direct --remove-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>") try: priority = int(a.remove_rule[3]) except ValueError: cmd.fail("usage: --direct --remove-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>") obj.remove_rule(cmd.check_ipv(a.remove_rule[0]), a.remove_rule[1], a.remove_rule[2], priority, splitArgs(a.remove_rule[4])) elif a.remove_rules: if len(a.remove_rules) < 3: cmd.fail("usage: --direct --remove-rules { ipv4 | ipv6 | eb } <table> <chain>") obj.remove_rules(cmd.check_ipv(a.remove_rules[0]), a.remove_rules[1], a.remove_rules[2]) elif a.query_rule: if len(a.query_rule) < 5: cmd.fail("usage: --direct --query-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>") try: priority = int(a.query_rule[3]) except ValueError: cmd.fail("usage: --direct --query-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>") cmd.print_query_result( obj.query_rule(cmd.check_ipv(a.query_rule[0]), a.query_rule[1], a.query_rule[2], priority, splitArgs(a.query_rule[4]))) sys.exit(0) elif a.get_rules: rules = obj.get_rules(cmd.check_ipv(a.get_rules[0]), a.get_rules[1], a.get_rules[2]) for (priority, rule) in rules: cmd.print_msg("%d %s" % (priority, joinArgs(rule))) sys.exit(0) elif a.get_all_rules: rules = obj.get_all_rules() for (ipv, table, chain) in rules: for (priority, rule) in rules[(ipv, table, chain)]: cmd.print_msg("%s %s %s %d %s" % \ (ipv, table, chain, priority, joinArgs(rule))) sys.exit(0) obj.write() else: if zone == "": zone = fw.get_default_zone() fw_zone = fw.config.get_zone(zone) fw_settings = FirewallClientZoneSettings( list(fw.config.get_zone_config(fw_zone))) # convert to list, for setMasquerade # interface if a.list_interfaces: l = fw_settings.getInterfaces() cmd.print_and_exit(" ".join(l)) elif a.get_zone_of_interface: for interface in a.get_zone_of_interface: ret = [ ] for zone in fw.config.get_zones(): obj = fw.config.get_zone(zone) if interface in obj.interfaces: ret.append(obj.name) if len(ret) > 1: # Even it shouldn't happen, it's actually possible that # the same interface is in several zone XML files cmd.print_warning(" ".join(ret) + " (ERROR: interface '%s' is in %s zone XML files, can be only in one)" % (interface, len(ret))) if len(ret) == 1: if len(a.get_zone_of_interface) > 1: cmd.print_warning("%s: %s" % (interface, ret[0])) else: cmd.print_and_exit(ret[0]) else: if len(a.get_zone_of_interface) > 1: cmd.print_warning("%s: no zone" % interface) else: cmd.print_and_exit("no zone", 2) elif a.change_interface: for interface in a.change_interface: for old_zone in fw.config.get_zones(): old_zone_obj = fw.config.get_zone(old_zone) if interface in old_zone_obj.interfaces: if old_zone_obj.name != zone: old_zone_settings = FirewallClientZoneSettings( fw.config.get_zone_config(old_zone_obj)) old_zone_settings.removeInterface(interface) # remove from old fw.config.set_zone_config(old_zone_obj, old_zone_settings.settings) fw_settings.addInterface(interface) # add to new elif a.add_interface: cmd.add_sequence(a.add_interface, fw_settings.addInterface, fw_settings.queryInterface, None, "'%s'") elif a.remove_interface: cmd.remove_sequence(a.remove_interface, fw_settings.removeInterface, fw_settings.queryInterface, None, "'%s'") elif a.query_interface: cmd.query_sequence(a.query_interface, fw_settings.queryInterface, None, "'%s'") # source if a.list_sources: sources = fw_settings.getSources() cmd.print_and_exit(" ".join(sources)) elif a.get_zone_of_source: for source in a.get_zone_of_source: ret = [ ] for zone in fw.config.get_zones(): obj = fw.config.get_zone(zone) if source in obj.sources: ret.append(obj.name) if len(ret) > 1: # Even it shouldn't happen, it's actually possible that # the same source is in several zone XML files cmd.print_warning(" ".join(ret) + " (ERROR: source '%s' is in %s zone XML files, can be only in one)" % (source, len(ret))) if len(ret) == 1: if len(a.get_zone_of_source) > 1: cmd.print_warning("%s: %s" % (source, ret[0])) else: cmd.print_and_exit(ret[0]) else: if len(a.get_zone_of_source) > 1: cmd.print_warning("%s: no zone" % source) else: cmd.print_and_exit("no zone", 2) elif a.change_source: for source in a.change_source: for old_zone in fw.config.get_zones(): old_zone_obj = fw.config.get_zone(old_zone) if source in old_zone_obj.sources: if old_zone_obj.name != zone: old_zone_settings = FirewallClientZoneSettings( fw.config.get_zone_config(old_zone_obj)) old_zone_settings.removeSource(source) # remove from old fw.config.set_zone_config(old_zone_obj, old_zone_settings.settings) fw_settings.addSource(source) # add to new elif a.add_source: cmd.add_sequence(a.add_source, fw_settings.addSource, fw_settings.querySource, None, "'%s'") elif a.remove_source: cmd.remove_sequence(a.remove_source, fw_settings.removeSource, fw_settings.querySource, None, "'%s'") elif a.query_source: cmd.query_sequence(a.query_source, fw_settings.querySource, None, "'%s'") # rich rules if a.list_rich_rules: l = fw_settings.getRichRules() cmd.print_and_exit("\n".join(l)) elif a.add_rich_rule: cmd.add_sequence(a.add_rich_rule, fw_settings.addRichRule, fw_settings.queryRichRule, None, "'%s'") elif a.remove_rich_rule: cmd.remove_sequence(a.remove_rich_rule, fw_settings.removeRichRule, fw_settings.queryRichRule, None, "'%s'") elif a.query_rich_rule: cmd.query_sequence(a.query_rich_rule, fw_settings.queryRichRule, None, "'%s'") # service if a.list_services: l = fw_settings.getServices() cmd.print_and_exit(" ".join(sorted(l))) elif a.add_service: cmd.add_sequence(a.add_service, fw_settings.addService, fw_settings.queryService, None, "'%s'") elif a.remove_service_from_zone: cmd.remove_sequence(a.remove_service_from_zone, fw_settings.removeService, fw_settings.queryService, None, "'%s'") elif a.query_service: cmd.query_sequence(a.query_service, fw_settings.queryService, None, "'%s'") # port elif a.list_ports: l = fw_settings.getPorts() cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l])) elif a.add_port: cmd.add_sequence(a.add_port, fw_settings.addPort, fw_settings.queryPort, cmd.parse_port, "%s/%s") elif a.remove_port: cmd.remove_sequence(a.remove_port, fw_settings.removePort, fw_settings.queryPort, cmd.parse_port, "%s/%s") elif a.query_port: cmd.query_sequence(a.query_port, fw_settings.queryPort, cmd.parse_port, "%s/%s") # protocol elif a.list_protocols: l = fw_settings.getProtocols() cmd.print_and_exit(" ".join(sorted(l))) elif a.add_protocol: cmd.add_sequence(a.add_protocol, fw_settings.addProtocol, fw_settings.queryProtocol, None, "'%s'") elif a.remove_protocol: cmd.remove_sequence(a.remove_protocol, fw_settings.removeProtocol, fw_settings.queryProtocol, None, "'%s'") elif a.query_protocol: cmd.query_sequence(a.query_protocol, fw_settings.queryProtocol, None, "'%s'") # source port elif a.list_source_ports: l = fw_settings.getSourcePorts() cmd.print_and_exit(" ".join(["%s/%s" % (port[0], port[1]) for port in l])) elif a.add_source_port: cmd.add_sequence(a.add_source_port, fw_settings.addSourcePort, fw_settings.querySourcePort, cmd.parse_port, "%s/%s") elif a.remove_source_port: cmd.remove_sequence(a.remove_source_port, fw_settings.removeSourcePort, fw_settings.querySourcePort, cmd.parse_port, "%s/%s") elif a.query_source_port: cmd.query_sequence(a.query_source_port, fw_settings.querySourcePort, cmd.parse_port, "%s/%s") # masquerade elif a.add_masquerade: fw_settings.setMasquerade(True) elif a.remove_masquerade: fw_settings.setMasquerade(False) elif a.query_masquerade: cmd.print_query_result(fw_settings.getMasquerade()) # forward port elif a.list_forward_ports: l = fw_settings.getForwardPorts() cmd.print_and_exit("\n".join(["port=%s:proto=%s:toport=%s:toaddr=%s" % (_port, _protocol, _toport, _toaddr) for (_port, _protocol, _toport, _toaddr) in l])) elif a.add_forward_port: cmd.add_sequence(a.add_forward_port, fw_settings.addForwardPort, fw_settings.queryForwardPort, cmd.parse_forward_port, "port=%s:proto=%s:toport=%s:toaddr=%s") elif a.remove_forward_port: cmd.remove_sequence(a.remove_forward_port, fw_settings.removeForwardPort, fw_settings.queryForwardPort, cmd.parse_forward_port, "port=%s:proto=%s:toport=%s:toaddr=%s") elif a.query_forward_port: cmd.query_sequence(a.query_forward_port, fw_settings.queryForwardPort, cmd.parse_forward_port, "port=%s:proto=%s:toport=%s:toaddr=%s") # block icmp elif a.list_icmp_blocks: l = fw_settings.getIcmpBlocks() cmd.print_and_exit(" ".join(l)) elif a.add_icmp_block: cmd.add_sequence(a.add_icmp_block, fw_settings.addIcmpBlock, fw_settings.queryIcmpBlock, None, "'%s'") elif a.remove_icmp_block: cmd.remove_sequence(a.remove_icmp_block, fw_settings.removeIcmpBlock, fw_settings.queryIcmpBlock, None, "'%s'") elif a.query_icmp_block: cmd.query_sequence(a.query_icmp_block, fw_settings.queryIcmpBlock, None, "'%s'") # icmp block inversion elif a.add_icmp_block_inversion: fw_settings.addIcmpBlockInversion() elif a.remove_icmp_block_inversion: fw_settings.removeIcmpBlockInversion() elif a.query_icmp_block_inversion: cmd.print_query_result(fw_settings.queryIcmpBlockInversion()) # zone target elif a.get_target: cmd.print_and_exit(fw_settings.getTarget()) elif a.set_target: fw_settings.setTarget(a.set_target) # list all zone settings elif a.list_all: cmd.print_zone_info(zone if zone else fw.get_default_zone(), fw_settings) sys.exit(0) # list everything elif a.list_all_zones: zones = fw.config.get_zones() for zone in zones: fw_zone = fw.config.get_zone(zone) fw_settings = FirewallClientZoneSettings(list(fw.config.get_zone_config(fw_zone))) cmd.print_zone_info(zone, fw_settings) cmd.print_msg("") sys.exit(0) elif a.set_description: fw_settings.setDescription(a.set_description) elif a.get_description: cmd.print_and_exit(fw_settings.getDescription()) elif a.set_short: fw_settings.setShort(a.set_short) elif a.get_short: cmd.print_and_exit(fw_settings.getShort()) fw.config.set_zone_config(fw_zone, fw_settings.settings) cmd.print_and_exit("success") except FirewallError as msg: cmd.print_and_exit("%s" % msg, msg.code) except Exception as msg: cmd.fail("%s" % msg) else: cmd.print_and_exit("success")