Linux sgeserver.thesutherlandgroup.org 4.18.0-553.121.1.el8_10.x86_64 #1 SMP Thu Apr 30 09:06:34 EDT 2026 x86_64
LiteSpeed
Server IP : 65.39.177.89 & Your IP : 216.73.216.189
Domains : 28 Domain
User : ch1ps2bc3cc0
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
sbin /
Delete
Unzip
Name
Size
Permission
Date
Action
r1soft
[ DIR ]
drwx------
2026-04-30 04:53
NetworkManager
3.41
MB
-rwxr-xr-x
2025-08-26 09:47
accessdb
12.59
KB
-rwxr-xr-x
2021-10-08 13:04
accton
13.69
KB
-rwxr-xr-x
2019-10-21 16:09
adcli
179.27
KB
-rwxr-xr-x
2023-03-31 18:37
addgnupghome
3
KB
-rwxr-xr-x
2018-12-11 07:44
addpart
24.86
KB
-rwxr-xr-x
2026-02-04 20:18
adduser
148.16
KB
-rwxr-xr-x
2025-12-18 13:51
agetty
62.39
KB
-rwxr-xr-x
2026-02-04 20:18
alternatives
36.66
KB
-rwxr-xr-x
2023-10-14 22:48
anacron
40.99
KB
-rwxr-xr-x
2024-04-06 11:40
apachectl
4.69
KB
-rwxr-xr-x
2026-05-13 21:13
applygnupgdefaults
2.17
KB
-rwxr-xr-x
2017-12-18 12:28
arp
64.71
KB
-rwxr-xr-x
2020-08-30 17:47
arpd
109.52
KB
-rwxr-xr-x
2024-05-23 08:36
arping
28.74
KB
-rwxr-xr-x
2023-10-14 17:19
atd
32.63
KB
-rwxr-xr-x
2022-10-10 10:23
atrun
67
B
-rwxr-xr-x
2022-10-10 10:23
auditctl
45.04
KB
-rwxr-xr-x
2025-07-15 09:41
auditd
151.73
KB
-rwxr-xr-x
2025-07-15 09:41
augenrules
4.04
KB
-rwxr-xr-x
2025-07-15 09:41
aureport
122.35
KB
-rwxr-xr-x
2025-07-15 09:41
ausearch
130.36
KB
-rwxr-xr-x
2025-07-15 09:41
autrace
16.54
KB
-rwxr-x---
2025-07-15 09:41
avcstat
16.4
KB
-rwxr-xr-x
2026-02-10 14:26
badblocks
32.59
KB
-rwxr-xr-x
2025-10-07 07:08
biosdecode
21.45
KB
-rwxr-xr-x
2024-04-06 13:04
biosdevname
46.16
KB
-rwxr-xr-x
2019-10-18 20:07
blkdeactivate
15.97
KB
-r-xr-xr-x
2026-01-23 07:31
blkdiscard
29.05
KB
-rwxr-xr-x
2026-02-04 20:18
blkid
98.66
KB
-rwxr-xr-x
2026-02-04 20:18
blkmapd
53.48
KB
-rwxr-xr-x
2026-03-09 13:08
blkzone
49.75
KB
-rwxr-xr-x
2026-02-04 20:18
blockdev
41.3
KB
-rwxr-xr-x
2026-02-04 20:18
bpftool
2.74
MB
-rwxr-xr-x
2026-05-12 12:26
bridge
158.25
KB
-rwxr-xr-x
2024-05-23 08:36
build-locale-archive
841.13
KB
-rwx------
2026-05-05 10:58
cache_check
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
cache_dump
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
cache_metadata_size
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
cache_repair
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
cache_restore
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
cache_writeback
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
capsh
32.45
KB
-rwxr-xr-x
2026-05-04 20:33
cfdisk
98.41
KB
-rwxr-xr-x
2026-02-04 20:18
chcpu
28.83
KB
-rwxr-xr-x
2026-02-04 20:18
chgpasswd
69.69
KB
-rwxr-xr-x
2025-12-18 13:51
chkconfig
45.11
KB
-rwxr-xr-x
2023-10-14 22:48
chpasswd
61.42
KB
-rwxr-xr-x
2025-12-18 13:51
chronyd
375.66
KB
-rwxr-xr-x
2024-11-05 07:47
chroot
41.45
KB
-rwxr-xr-x
2026-03-24 13:05
clock
65.22
KB
-rwxr-xr-x
2026-02-04 20:18
clockdiff
20.43
KB
-rwxr-xr-x
2023-10-14 17:19
consoletype
11.86
KB
-rwxr-xr-x
2025-11-04 09:19
convertquota
78.68
KB
-rwxr-xr-x
2021-10-09 07:08
cracklib-check
13.05
KB
-rwxr-xr-x
2019-10-12 00:47
cracklib-format
251
B
-rwxr-xr-x
2019-10-12 00:47
cracklib-packer
13.05
KB
-rwxr-xr-x
2019-10-12 00:47
cracklib-unpacker
9.03
KB
-rwxr-xr-x
2019-10-12 00:47
create-cracklib-dict
990
B
-rwxr-xr-x
2019-10-12 00:47
crond
73.94
KB
-rwxr-xr-x
2024-04-06 11:40
cryptsetup
147.42
KB
-rwxr-xr-x
2023-10-15 03:50
csf
245.69
KB
-rwx------
2025-10-30 13:28
ctrlaltdel
24.79
KB
-rwxr-xr-x
2026-02-04 20:18
ctstat
25.33
KB
-rwxr-xr-x
2024-05-23 08:36
dcb
155.04
KB
-rwxr-xr-x
2024-05-23 08:36
ddns-confgen
20.46
KB
-rwxr-xr-x
2026-04-15 23:44
debugfs
231.63
KB
-rwxr-xr-x
2025-10-07 07:08
delpart
24.86
KB
-rwxr-xr-x
2026-02-04 20:18
depmod
159.95
KB
-rwxr-xr-x
2024-04-08 09:18
devlink
215.87
KB
-rwxr-xr-x
2024-05-23 08:36
dmeventd
45.08
KB
-r-xr-xr-x
2026-01-23 07:31
dmfilemapd
24.55
KB
-r-xr-xr-x
2026-01-23 07:31
dmidecode
141.8
KB
-rwxr-xr-x
2024-04-06 13:04
dmsetup
158.64
KB
-r-xr-xr-x
2026-01-23 07:31
dmstats
158.64
KB
-r-xr-xr-x
2026-01-23 07:31
dnssec-checkds
936
B
-rwxr-xr-x
2026-04-15 23:44
dnssec-coverage
938
B
-rwxr-xr-x
2026-04-15 23:44
dnssec-dsfromkey
60.85
KB
-rwxr-xr-x
2026-04-15 23:44
dnssec-importkey
60.85
KB
-rwxr-xr-x
2026-04-15 23:44
dnssec-keyfromlabel
64.76
KB
-rwxr-xr-x
2026-04-15 23:44
dnssec-keygen
72.84
KB
-rwxr-xr-x
2026-04-15 23:44
dnssec-keymgr
934
B
-rwxr-xr-x
2026-04-15 23:44
dnssec-revoke
56.74
KB
-rwxr-xr-x
2026-04-15 23:44
dnssec-settime
60.84
KB
-rwxr-xr-x
2026-04-15 23:44
dnssec-signzone
117.2
KB
-rwxr-xr-x
2026-04-15 23:44
dnssec-verify
52.84
KB
-rwxr-xr-x
2026-04-15 23:44
dosfsck
65.13
KB
-rwxr-xr-x
2019-10-12 00:48
dosfslabel
61.1
KB
-rwxr-xr-x
2019-10-12 00:48
dovecot
157.84
KB
-rwxr-xr-x
2026-02-03 19:40
dovecot_cpshutdown
3.27
KB
-rwxr-xr-x
2026-02-03 19:31
dpkg-fsys-usrunmess
12.11
KB
-rwxr-xr-x
2021-12-15 12:46
dump-acct
29.15
KB
-rwxr-xr-x
2019-10-21 16:09
dump-utmp
25.02
KB
-rwxr-xr-x
2019-10-21 16:09
dumpe2fs
32.52
KB
-rwxr-xr-x
2025-10-07 07:08
e2freefrag
16.42
KB
-rwxr-xr-x
2025-10-07 07:08
e2fsck
328.52
KB
-rwxr-xr-x
2025-10-07 07:08
e2image
36.61
KB
-rwxr-xr-x
2025-10-07 07:08
e2label
110.63
KB
-rwxr-xr-x
2025-10-07 07:08
e2mmpstatus
32.52
KB
-rwxr-xr-x
2025-10-07 07:08
e2undo
20.38
KB
-rwxr-xr-x
2025-10-07 07:08
e4crypt
24.55
KB
-rwxr-xr-x
2025-10-07 07:08
e4defrag
28.49
KB
-rwxr-xr-x
2025-10-07 07:08
ebtables
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ebtables-restore
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ebtables-save
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
edquota
91.24
KB
-rwxr-xr-x
2021-10-09 07:08
era_check
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
era_dump
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
era_invalidate
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
era_restore
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
ether-wake
73.99
KB
-rwxr-xr-x
2020-08-30 17:47
ethtool
557.79
KB
-rwxr-xr-x
2022-10-08 17:27
exicyclog
11.1
KB
-rwxr-xr-x
2026-05-01 16:30
exigrep
11.44
KB
-rwxr-xr-x
2026-05-01 16:30
exim
1.53
MB
-rwsr-xr-x
2026-05-01 16:30
exim_checkaccess
4.83
KB
-rwxr-xr-x
2026-05-01 16:30
exim_dbmbuild
24.69
KB
-rwxr-xr-x
2026-05-01 16:30
exim_dumpdb
43.56
KB
-rwxr-xr-x
2026-05-01 16:30
exim_fixdb
49.05
KB
-rwxr-xr-x
2026-05-01 16:30
exim_lock
26.59
KB
-rwxr-xr-x
2026-05-01 16:30
exim_tidydb
43.78
KB
-rwxr-xr-x
2026-05-01 16:30
eximstats
149.14
KB
-rwxr-xr-x
2026-05-01 16:30
exinext
8.03
KB
-rwxr-xr-x
2026-05-01 16:30
exiqgrep
6.58
KB
-rwxr-xr-x
2026-05-01 16:30
exiqsumm
6.29
KB
-rwxr-xr-x
2026-05-01 16:30
exiwhat
4.42
KB
-rwxr-xr-x
2026-05-01 16:30
exportfs
82.37
KB
-rwxr-xr-x
2026-03-09 13:08
faillock
20.52
KB
-rwxr-xr-x
2025-12-17 18:54
fatlabel
61.1
KB
-rwxr-xr-x
2019-10-12 00:48
fcgistarter
17.11
KB
-rwxr-xr-x
2026-05-13 21:17
fdformat
33.17
KB
-rwxr-xr-x
2026-02-04 20:18
fdisk
130.91
KB
-rwxr-xr-x
2026-02-04 20:18
filefrag
16.46
KB
-rwxr-xr-x
2025-10-07 07:08
findfs
12.38
KB
-rwxr-xr-x
2026-02-04 20:18
firewalld
6.92
KB
-rwxr-xr-x
2025-03-11 09:51
fix-info-dir
7.84
KB
-rwxr-xr-x
2022-04-18 17:09
fixfiles
10.48
KB
-rwxr-xr-x
2024-07-02 21:04
fsadm
24
KB
-r-xr-xr-x
2026-01-23 07:31
fsck
53.47
KB
-rwxr-xr-x
2026-02-04 20:18
fsck.cramfs
41.41
KB
-rwxr-xr-x
2026-02-04 20:18
fsck.ext2
328.52
KB
-rwxr-xr-x
2025-10-07 07:08
fsck.ext3
328.52
KB
-rwxr-xr-x
2025-10-07 07:08
fsck.ext4
328.52
KB
-rwxr-xr-x
2025-10-07 07:08
fsck.fat
65.13
KB
-rwxr-xr-x
2019-10-12 00:48
fsck.minix
98.75
KB
-rwxr-xr-x
2026-02-04 20:18
fsck.msdos
65.13
KB
-rwxr-xr-x
2019-10-12 00:48
fsck.vfat
65.13
KB
-rwxr-xr-x
2019-10-12 00:48
fsck.xfs
1.92
KB
-rwxr-xr-x
2023-10-15 05:10
fsfreeze
16.38
KB
-rwxr-xr-x
2026-02-04 20:18
fstrim
49.6
KB
-rwxr-xr-x
2026-02-04 20:18
fuse2fs
70.39
KB
-rwxr-xr-x
2025-10-07 07:08
fuser
38.14
KB
-rwxr-xr-x
2020-11-06 14:24
g13-syshelp
189.76
KB
-rwxr-xr-x
2026-01-16 01:48
genhomedircon
29.27
KB
-rwxr-xr-x
2024-07-02 21:04
genhostid
11.86
KB
-rwxr-xr-x
2025-11-04 09:19
genl
121.41
KB
-rwxr-xr-x
2024-05-23 08:36
genrandom
12.38
KB
-rwxr-xr-x
2026-04-15 23:44
getcap
12.35
KB
-rwxr-xr-x
2026-05-04 20:33
getenforce
7.84
KB
-rwxr-xr-x
2026-02-10 14:26
getpcaps
12.27
KB
-rwxr-xr-x
2026-05-04 20:33
getsebool
11.87
KB
-rwxr-xr-x
2026-02-10 14:26
groupadd
95.34
KB
-rwxr-xr-x
2025-12-18 13:51
groupdel
91.09
KB
-rwxr-xr-x
2025-12-18 13:51
groupmems
61.48
KB
-rwxr-xr-x
2025-12-18 13:51
groupmod
99.38
KB
-rwxr-xr-x
2025-12-18 13:51
grpck
61.47
KB
-rwxr-xr-x
2025-12-18 13:51
grpconv
57.27
KB
-rwxr-xr-x
2025-12-18 13:51
grpunconv
57.26
KB
-rwxr-xr-x
2025-12-18 13:51
grub2-bios-setup
1.16
MB
-rwxr-xr-x
2026-03-17 06:14
grub2-get-kernel-settings
2.68
KB
-rwxr-xr-x
2026-03-17 06:14
grub2-install
1.44
MB
-rwxr-xr-x
2026-03-17 06:14
grub2-macbless
1.14
MB
-rwxr-xr-x
2026-03-17 06:14
grub2-mkconfig
8.68
KB
-rwxr-xr-x
2026-03-17 06:14
grub2-ofpathname
246.3
KB
-rwxr-xr-x
2026-03-17 06:14
grub2-probe
1.16
MB
-rwxr-xr-x
2026-03-17 06:14
grub2-reboot
3.99
KB
-rwxr-xr-x
2026-03-17 06:14
grub2-rpm-sort
283.14
KB
-rwxr-xr-x
2026-03-17 06:14
grub2-set-bootflag
16.34
KB
-rwsr-xr-x
2026-03-17 06:14
grub2-set-default
3.45
KB
-rwxr-xr-x
2026-03-17 06:14
grub2-set-password
3.05
KB
-rwxr-xr-x
2026-03-17 06:14
grub2-setpassword
3.05
KB
-rwxr-xr-x
2026-03-17 06:14
grub2-sparc64-setup
1.16
MB
-rwxr-xr-x
2026-03-17 06:14
grub2-switch-to-blscfg
8.6
KB
-rwxr-xr-x
2026-03-17 06:14
grubby
260
B
-rwxr-xr-x
2024-04-06 13:02
gss-server
24.61
KB
-rwxr-xr-x
2026-05-13 06:34
gssproxy
132.08
KB
-rwxr-xr-x
2022-10-08 08:02
halt
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
hardlink
17.09
KB
-rwxr-xr-x
2019-10-15 21:49
hcp
88.05
KB
-rwxrwxr-x
2026-04-10 09:15
hcp-setup
5.75
MB
-rw-rw-r--
2026-04-10 09:15
hdparm
131.91
KB
-rwxr-xr-x
2021-10-08 19:47
htcacheclean
44.36
KB
-rwxr-xr-x
2026-05-13 21:17
httpd
1.82
KB
-rwxr-xr-x
2026-05-15 05:02
httpd_ls_bak
991.46
KB
-rwxr-xr-x
2026-05-13 21:17
httpd_ls_bak_bak
991.46
KB
-rwxr-xr-x
2026-05-05 05:39
hwclock
65.22
KB
-rwxr-xr-x
2026-02-04 20:18
iconvconfig
33.05
KB
-rwxr-xr-x
2026-05-05 10:58
ifconfig
80.86
KB
-rwxr-xr-x
2020-08-30 17:47
ifdown
2.07
KB
-rwxr-xr-x
2025-09-23 08:27
ifenslave
24.95
KB
-rwxr-xr-x
2023-10-14 17:19
ifstat
117.67
KB
-rwxr-xr-x
2024-05-23 08:36
ifup
5.33
KB
-rwxr-xr-x
2025-09-23 08:27
imunify-notifier
9.82
MB
-rwxr-xr-x
2024-10-25 12:14
init
1.54
MB
-rwxr-xr-x
2026-04-23 11:13
insmod
159.95
KB
-rwxr-xr-x
2024-04-08 09:18
install-info
50.23
KB
-rwxr-xr-x
2022-04-18 17:09
installkernel
323
B
-rwxr-xr-x
2024-04-06 13:02
intel_sdsi
15.62
KB
-rwxr-xr-x
2026-05-12 12:26
ip
693.3
KB
-rwxr-xr-x
2024-05-23 08:36
ip6tables
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-apply
6.89
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-restore
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-restore-translate
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-save
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ip6tables-translate
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
ipmaddr
21
KB
-rwxr-xr-x
2020-08-30 17:47
iprconfig
408.03
KB
-rwxr-xr-x
2020-08-30 07:37
iprdbg
137.57
KB
-rwxr-xr-x
2020-08-30 07:37
iprdump
129.3
KB
-rwxr-xr-x
2020-08-30 07:37
iprinit
125.28
KB
-rwxr-xr-x
2020-08-30 07:37
iprsos
2.18
KB
-rwxr-xr-x
2020-05-08 14:19
iprupdate
129.3
KB
-rwxr-xr-x
2020-08-30 07:37
ipset
9.01
KB
-rwxr-xr-x
2019-11-12 14:33
iptables
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-apply
6.89
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-restore
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-restore-translate
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-save
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptables-translate
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
iptstate
92.05
KB
-rwxr-xr-x
2019-10-15 21:54
iptunnel
25
KB
-rwxr-xr-x
2020-08-30 17:47
irqbalance
62.28
KB
-rwxr-xr-x
2023-10-14 17:57
irqbalance-ui
41.29
KB
-rwxr-xr-x
2023-10-14 17:57
isc-hmac-fixup
11.86
KB
-rwxr-xr-x
2026-04-15 23:44
kexec
194.98
KB
-rwxr-xr-x
2026-02-10 17:24
key.dns_resolver
24.52
KB
-rwxr-xr-x
2021-10-08 13:50
kpartx
49.05
KB
-rwxr-xr-x
2026-05-05 11:28
kpatch
16.59
KB
-rwxr-xr-x
2025-07-15 11:39
lchage
16.41
KB
-rwxr-xr-x
2024-09-24 02:24
ldattach
32.99
KB
-rwxr-xr-x
2026-02-04 20:18
ldconfig
986.09
KB
-rwxr-xr-x
2026-05-05 10:58
ledctl
101.16
KB
-rwxr-xr-x
2023-10-14 22:53
ledmon
101.11
KB
-rwxr-xr-x
2023-10-14 22:53
lfd
383.05
KB
-rwx------
2025-10-30 13:28
lgroupadd
11.88
KB
-rwxr-xr-x
2024-09-24 02:24
lgroupdel
11.88
KB
-rwxr-xr-x
2024-09-24 02:24
lgroupmod
19.88
KB
-rwxr-xr-x
2024-09-24 02:24
lid
16.27
KB
-rwxr-xr-x
2024-09-24 02:24
lnewusers
19.87
KB
-rwxr-xr-x
2024-09-24 02:24
lnstat
25.33
KB
-rwxr-xr-x
2024-05-23 08:36
load_policy
12.28
KB
-rwxr-xr-x
2024-07-02 21:04
logrotate
93.03
KB
-rwxr-xr-x
2023-04-02 00:29
logsave
16.41
KB
-rwxr-xr-x
2025-10-07 07:08
losetup
90.59
KB
-rwxr-xr-x
2026-02-04 20:18
lpasswd
20.35
KB
-rwxr-xr-x
2024-09-24 02:24
lshw
969.55
KB
-rwxr-xr-x
2025-10-07 08:50
lsmod
159.95
KB
-rwxr-xr-x
2024-04-08 09:18
lspci
94.85
KB
-rwxr-xr-x
2023-03-31 21:30
luseradd
19.88
KB
-rwxr-xr-x
2024-09-24 02:24
luserdel
15.88
KB
-rwxr-xr-x
2024-09-24 02:24
lusermod
19.88
KB
-rwxr-xr-x
2024-09-24 02:24
lvchange
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvconvert
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvcreate
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvdisplay
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvextend
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvm
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvm_import_vdo
23.14
KB
-r-xr-xr-x
2026-01-23 07:31
lvmconfig
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvmdevices
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvmdiskscan
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvmdump
10.12
KB
-r-xr-xr-x
2026-01-23 07:31
lvmpolld
200.7
KB
-r-xr-xr-x
2026-01-23 07:31
lvmsadc
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvmsar
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvreduce
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvremove
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvrename
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvresize
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvs
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lvscan
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
lwresd
840.93
KB
-rwxr-xr-x
2026-04-15 23:44
makedumpfile
425.19
KB
-rwxr-xr-x
2026-02-10 17:24
mariadbd
26.04
MB
-rwxr-xr-x
2026-01-31 17:49
matchpathcon
12.37
KB
-rwxr-xr-x
2026-02-10 14:26
mcelog
206.3
KB
-rwxr-xr-x
2024-04-06 12:45
mdadm
620.75
KB
-rwxr-xr-x
2025-11-05 10:54
mdmon
379.51
KB
-rwxr-xr-x
2025-11-05 10:54
mii-diag
25.4
KB
-rwxr-xr-x
2020-08-30 17:47
mii-tool
21.03
KB
-rwxr-xr-x
2020-08-30 17:47
mkdict
251
B
-rwxr-xr-x
2019-10-12 00:47
mkdosfs
39.07
KB
-rwxr-xr-x
2019-10-12 00:48
mkdumprd
12.68
KB
-rwxr-xr-x
2026-02-10 17:24
mke2fs
138.45
KB
-rwxr-xr-x
2025-10-07 07:08
mkfadumprd
2.23
KB
-rwxr-xr-x
2026-02-10 17:24
mkfs
16.48
KB
-rwxr-xr-x
2026-02-04 20:18
mkfs.cramfs
41.27
KB
-rwxr-xr-x
2026-02-04 20:18
mkfs.ext2
138.45
KB
-rwxr-xr-x
2025-10-07 07:08
mkfs.ext3
138.45
KB
-rwxr-xr-x
2025-10-07 07:08
mkfs.ext4
138.45
KB
-rwxr-xr-x
2025-10-07 07:08
mkfs.fat
39.07
KB
-rwxr-xr-x
2019-10-12 00:48
mkfs.minix
86.56
KB
-rwxr-xr-x
2026-02-04 20:18
mkfs.msdos
39.07
KB
-rwxr-xr-x
2019-10-12 00:48
mkfs.vfat
39.07
KB
-rwxr-xr-x
2019-10-12 00:48
mkfs.xfs
475.98
KB
-rwxr-xr-x
2023-10-15 05:11
mkhomedir_helper
24.44
KB
-rwxr-xr-x
2025-12-17 18:54
mklost+found
11.86
KB
-rwxr-xr-x
2025-10-07 07:08
mksquashfs
186.83
KB
-rwxr-xr-x
2024-04-06 14:17
mkswap
86.48
KB
-rwxr-xr-x
2026-02-04 20:18
modinfo
159.95
KB
-rwxr-xr-x
2024-04-08 09:18
modprobe
159.95
KB
-rwxr-xr-x
2024-04-08 09:18
modsec-sdbm-util
25.83
KB
-rwxr-x---
2026-05-13 21:13
mount.nfs
197.24
KB
-rwsr-xr-x
2026-03-09 13:08
mount.nfs4
197.24
KB
-rwsr-xr-x
2026-03-09 13:08
mountstats
42.22
KB
-rwxr-xr-x
2026-03-09 13:07
mtr
110.92
KB
-rwxr-xr-x
2019-12-15 02:52
mtr-packet
58.3
KB
-rwxr-xr-x
2019-12-15 02:52
mysqld
26.04
MB
-rwxr-xr-x
2026-01-31 17:49
named
840.93
KB
-rwxr-xr-x
2026-04-15 23:44
named-checkconf
40.79
KB
-rwxr-xr-x
2026-04-15 23:44
named-checkzone
36.63
KB
-rwxr-xr-x
2026-04-15 23:44
named-compilezone
36.63
KB
-rwxr-xr-x
2026-04-15 23:44
named-journalprint
11.85
KB
-rwxr-xr-x
2026-04-15 23:44
nameif
16.98
KB
-rwxr-xr-x
2020-08-30 17:47
newusers
107.23
KB
-rwxr-xr-x
2025-12-18 13:51
nfsconf
37.48
KB
-rwxr-xr-x
2026-03-09 13:08
nfsconvert
13.03
KB
-rwxr-xr-x
2026-03-09 13:08
nfsdcld
65.87
KB
-rwxr-xr-x
2026-03-09 13:08
nfsdclddb
10
KB
-rwxr-xr-x
2026-03-09 13:07
nfsdclnts
9.02
KB
-rwxr-xr-x
2026-03-09 13:07
nfsdcltrack
49.78
KB
-rwxr-xr-x
2026-03-09 13:08
nfsidmap
45.35
KB
-rwxr-xr-x
2026-03-09 13:08
nfsiostat
23.36
KB
-rwxr-xr-x
2026-03-09 13:07
nfsref
65.8
KB
-rwxr-xr-x
2026-03-09 13:08
nfsstat
35.52
KB
-rwxr-xr-x
2026-03-09 13:08
nft
24.41
KB
-rwxr-xr-x
2025-01-28 01:24
nologin
11.87
KB
-rwxr-xr-x
2026-02-04 20:18
nscd
156.68
KB
-rwxr-xr-x
2026-05-05 10:58
nsec3hash
12.29
KB
-rwxr-xr-x
2026-04-15 23:44
nstat
113.57
KB
-rwxr-xr-x
2024-05-23 08:36
nvme
721.38
KB
-rwxr-xr-x
2026-04-14 18:44
ownership
12.4
KB
-rwxr-xr-x
2024-04-06 13:04
packer
13.05
KB
-rwxr-xr-x
2019-10-12 00:47
pam_console_apply
45.2
KB
-rwxr-xr-x
2025-12-17 18:54
pam_timestamp_check
11.87
KB
-rwsr-xr-x
2025-12-17 18:54
paperconfig
4.07
KB
-rwxr-xr-x
2019-10-12 20:09
parted
85.6
KB
-rwxr-xr-x
2021-10-08 15:43
partprobe
16.39
KB
-rwxr-xr-x
2021-10-08 15:43
partx
94.5
KB
-rwxr-xr-x
2026-02-04 20:18
pdata_tools
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
pdns_server
6.24
MB
-rwxr-xr-x
2025-08-26 16:36
pidof
16.7
KB
-rwxr-xr-x
2023-10-14 20:31
ping
66.13
KB
-rwxr-xr-x
2023-10-14 17:19
ping6
66.13
KB
-rwxr-xr-x
2023-10-14 17:19
pivot_root
12.38
KB
-rwxr-xr-x
2026-02-04 20:18
plipconfig
12.71
KB
-rwxr-xr-x
2020-08-30 17:47
poweroff
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
pure-authd
19.23
KB
-rwxr-xr-x
2025-06-06 14:16
pure-certd
19.14
KB
-rwxr-xr-x
2025-06-06 14:16
pure-config.pl
4.64
KB
-rwxr-xr-x
2025-06-06 14:14
pure-ftpd
182.07
KB
-rwxr-xr-x
2025-06-06 14:16
pure-ftpwho
26.83
KB
-rwxr-xr-x
2025-06-06 14:16
pure-mrtginfo
11.16
KB
-rwxr-xr-x
2025-06-06 14:16
pure-quotacheck
18.82
KB
-rwxr-xr-x
2025-06-06 14:16
pure-uploadscript
19.08
KB
-rwxr-xr-x
2025-06-06 14:16
pvchange
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pvck
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pvcreate
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pvdisplay
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pvmove
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pvremove
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pvresize
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pvs
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pvscan
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
pwck
57.27
KB
-rwxr-xr-x
2025-12-18 13:51
pwconv
53.1
KB
-rwxr-xr-x
2025-12-18 13:51
pwhistory_helper
20.44
KB
-rwxr-xr-x
2025-12-17 18:54
pwunconv
53.13
KB
-rwxr-xr-x
2025-12-18 13:51
quot
78.67
KB
-rwxr-xr-x
2021-10-09 07:08
quotacheck
115.75
KB
-rwxr-xr-x
2021-10-09 07:08
quotaoff
83.16
KB
-rwxr-xr-x
2021-10-09 07:08
quotaon
83.16
KB
-rwxr-xr-x
2021-10-09 07:08
quotastats
16.54
KB
-rwxr-xr-x
2021-10-09 07:08
r1soft-blkid
534.97
KB
-rwxrwxr-x
2026-03-18 13:31
r1soft-setup-old
2.39
MB
-rw-rw-r--
2026-04-10 09:15
raid-check
3.7
KB
-rwxr-xr-x
2025-11-05 07:57
rdisc
24.55
KB
-rwxr-xr-x
2023-10-14 17:19
rdma
187.38
KB
-rwxr-xr-x
2024-05-23 08:36
readprofile
20.55
KB
-rwxr-xr-x
2026-02-04 20:18
realm
144.26
KB
-rwxr-xr-x
2024-04-06 12:45
reboot
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
repquota
83.24
KB
-rwxr-xr-x
2021-10-09 07:08
request-key
24.38
KB
-rwxr-xr-x
2021-10-08 13:50
resize2fs
64.91
KB
-rwxr-xr-x
2025-10-07 07:08
resizepart
41.57
KB
-rwxr-xr-x
2026-02-04 20:18
resolvconf
195.75
KB
-rwxr-xr-x
2026-04-23 11:13
restorecon
20.53
KB
-rwxr-xr-x
2024-07-02 21:04
restorecon_xattr
16.41
KB
-rwxr-xr-x
2024-07-02 21:04
rfkill
53.46
KB
-rwxr-xr-x
2026-02-04 20:18
rmmod
159.95
KB
-rwxr-xr-x
2024-04-08 09:18
rndc
36.53
KB
-rwxr-xr-x
2026-04-15 23:44
rndc-confgen
20.45
KB
-rwxr-xr-x
2026-04-15 23:44
rotatelogs
30.51
KB
-rwxr-xr-x
2026-05-13 21:17
route
67.63
KB
-rwxr-xr-x
2020-08-30 17:47
rpc.gssd
106.54
KB
-rwxr-xr-x
2026-03-09 13:08
rpc.idmapd
61.73
KB
-rwxr-xr-x
2026-03-09 13:08
rpc.mountd
163.04
KB
-rwxr-xr-x
2026-03-09 13:08
rpc.nfsd
49.91
KB
-rwxr-xr-x
2026-03-09 13:08
rpc.statd
103.29
KB
-rwxr-xr-x
2026-03-09 13:08
rpcbind
61.55
KB
-rwxr-xr-x
2022-10-12 11:00
rpcctl
9.41
KB
-rwxr-xr-x
2026-03-09 13:07
rpcdebug
19.38
KB
-rwxr-xr-x
2026-03-09 13:08
rpcinfo
32.64
KB
-rwxr-xr-x
2022-10-12 11:00
rsyslogd
724.73
KB
-rwxr-xr-x
2024-11-05 02:34
rtacct
46.94
KB
-rwxr-xr-x
2024-05-23 08:36
rtcwake
49.3
KB
-rwxr-xr-x
2026-02-04 20:18
rtmon
117.27
KB
-rwxr-xr-x
2024-05-23 08:36
rtstat
25.33
KB
-rwxr-xr-x
2024-05-23 08:36
runlevel
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
runq
1.53
MB
-rwsr-xr-x
2026-05-01 16:30
runuser
48.99
KB
-rwxr-xr-x
2026-02-04 20:18
sa
46.62
KB
-rwxr-xr-x
2019-10-21 16:09
sasldblistusers2
20.77
KB
-rwxr-xr-x
2022-02-23 20:13
saslpasswd2
16.42
KB
-rwxr-xr-x
2022-02-23 20:13
sedispatch
20.52
KB
-rwxr-xr-x
2024-04-06 13:44
sefcontext_compile
65.35
KB
-rwxr-xr-x
2026-02-10 14:26
selabel_digest
12.28
KB
-rwxr-xr-x
2026-02-10 14:26
selabel_lookup
12.27
KB
-rwxr-xr-x
2026-02-10 14:26
selabel_lookup_best_match
11.89
KB
-rwxr-xr-x
2026-02-10 14:26
selabel_partial_match
11.88
KB
-rwxr-xr-x
2026-02-10 14:26
selinux_check_access
12.36
KB
-rwxr-xr-x
2026-02-10 14:26
selinuxconlist
11.88
KB
-rwxr-xr-x
2026-02-10 14:26
selinuxdefcon
11.88
KB
-rwxr-xr-x
2026-02-10 14:26
selinuxenabled
7.84
KB
-rwxr-xr-x
2026-02-10 14:26
selinuxexeccon
11.86
KB
-rwxr-xr-x
2026-02-10 14:26
semanage
41.18
KB
-rwxr-xr-x
2024-07-02 21:08
semodule
29.27
KB
-rwxr-xr-x
2024-07-02 21:04
sendmail
16.91
KB
-rwxr-sr-x
2026-05-01 16:30
service
3.64
KB
-rwxr-xr-x
2025-09-23 08:27
sestatus
20.41
KB
-rwxr-xr-x
2024-07-02 21:04
setcap
16.27
KB
-rwxr-xr-x
2026-05-04 20:33
setenforce
12.27
KB
-rwxr-xr-x
2026-02-10 14:26
setfiles
20.53
KB
-rwxr-xr-x
2024-07-02 21:04
setpci
28.56
KB
-rwxr-xr-x
2023-03-31 21:30
setquota
91.38
KB
-rwxr-xr-x
2021-10-09 07:08
setroubleshootd
3.34
KB
-rwxr-xr-x
2024-04-06 13:44
setsebool
16.38
KB
-rwxr-xr-x
2024-07-02 21:04
sfdisk
118.51
KB
-rwxr-xr-x
2026-02-04 20:18
showmount
21.06
KB
-rwxr-xr-x
2026-03-09 13:08
shutdown
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
sim_server
11.87
KB
-rwxr-xr-x
2026-05-13 06:34
slattach
43.76
KB
-rwxr-xr-x
2020-08-30 17:47
sm-notify
78.13
KB
-rwxr-xr-x
2026-03-09 13:08
smartctl
907.08
KB
-rwxr-xr-x
2024-04-06 14:11
smartd
733.2
KB
-rwxr-xr-x
2024-04-06 14:11
snmpd
32.45
KB
-rwxr-xr-x
2026-01-19 08:19
snmptrapd
32.6
KB
-rwxr-xr-x
2026-01-19 08:19
sos
627
B
-rwxr-xr-x
2026-03-17 19:42
sos-collector
127
B
-rwxr-xr-x
2026-03-17 19:42
sosreport
117
B
-rwxr-xr-x
2026-03-17 19:42
ss
191.3
KB
-rwxr-xr-x
2024-05-23 08:36
sshd
869.7
KB
-rwxr-xr-x
2026-05-04 20:25
sss_cache
61.09
KB
-rwxr-xr-x
2026-02-10 17:01
sssd
73.01
KB
-rwxr-xr-x
2026-02-10 17:01
start-statd
838
B
-rwxr-xr-x
2018-09-06 18:09
start-stop-daemon
45.98
KB
-rwxr-xr-x
2021-12-15 12:46
suexec
25.3
KB
-rwsr-xr-x
2026-05-13 21:17
sulogin
49.24
KB
-rwxr-xr-x
2026-02-04 20:18
suphp
6.56
MB
-rwsr-x---
2026-05-13 21:35
sw-engine-fpm
20.12
MB
-rwxr-xr-x
1990-01-01 12:00
swaplabel
16.5
KB
-rwxr-xr-x
2026-02-04 20:18
swapoff
20.75
KB
-rwxr-xr-x
2026-02-04 20:18
swapon
49.41
KB
-rwxr-xr-x
2026-02-04 20:18
switch_root
16.49
KB
-rwxr-xr-x
2026-02-04 20:18
sysctl
28.88
KB
-rwxr-xr-x
2023-10-14 20:31
syspurpose
415
B
-rwxr-xr-x
2025-07-15 09:13
tcsd
309.72
KB
-rwxr-xr-x
2024-04-06 12:42
telinit
218.45
KB
-rwxr-xr-x
2026-04-23 11:13
thin_check
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
thin_delta
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
thin_dump
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
thin_ls
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
thin_metadata_pack
907.47
KB
-rwxr-xr-x
2022-10-08 12:29
thin_metadata_size
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
thin_metadata_unpack
895.45
KB
-rwxr-xr-x
2022-10-08 12:29
thin_repair
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
thin_restore
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
thin_rmap
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
thin_trim
1.43
MB
-rwxr-xr-x
2022-10-08 12:29
timedatex
33.43
KB
-rwxr-xr-x
2019-10-16 17:24
tipc
163.07
KB
-rwxr-xr-x
2024-05-23 08:36
tmpwatch
35.47
KB
-rwxr-xr-x
2019-10-12 11:32
tracepath
20.44
KB
-rwxr-xr-x
2023-10-14 17:19
tracepath6
20.44
KB
-rwxr-xr-x
2023-10-14 17:19
tsig-keygen
20.46
KB
-rwxr-xr-x
2026-04-15 23:44
tune2fs
110.63
KB
-rwxr-xr-x
2025-10-07 07:08
tuned
3.88
KB
-rwxr-xr-x
2024-02-22 12:23
tuned-adm
6.5
KB
-rwxr-xr-x
2024-02-22 12:23
udevadm
424.56
KB
-rwxr-xr-x
2026-04-23 11:13
umount.nfs
197.24
KB
-rwsr-xr-x
2026-03-09 13:08
umount.nfs4
197.24
KB
-rwsr-xr-x
2026-03-09 13:08
unbound-anchor
57.34
KB
-rwxr-xr-x
2025-07-28 13:31
unix_chkpwd
36.86
KB
-rwsr-xr-x
2025-12-17 18:54
unix_update
36.86
KB
-rwx------
2025-12-17 18:54
unsquashfs
99.57
KB
-rwxr-xr-x
2024-04-06 14:17
update-alternatives
36.66
KB
-rwxr-xr-x
2023-10-14 22:48
update-pciids
1.71
KB
-rwxr-xr-x
2023-03-31 21:30
update-smart-drivedb
14.44
KB
-rwxr-xr-x
2024-04-06 14:11
usb_modeswitch
63.13
KB
-rwxr-xr-x
2019-10-21 16:07
usb_modeswitch_dispatcher
25.1
KB
-rwxr-xr-x
2019-10-21 16:07
useradd
148.16
KB
-rwxr-xr-x
2025-12-18 13:51
userdel
107.29
KB
-rwxr-xr-x
2025-12-18 13:51
usermod
144.11
KB
-rwxr-xr-x
2025-12-18 13:51
usernetctl
12.41
KB
-rwsr-xr-x
2025-11-04 09:19
uuserver
15.88
KB
-rwxr-xr-x
2026-05-13 06:34
vdpa
118.04
KB
-rwxr-xr-x
2024-05-23 08:36
vgcfgbackup
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgcfgrestore
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgchange
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgck
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgconvert
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgcreate
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgdisplay
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgexport
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgextend
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgimport
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgimportclone
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgimportdevices
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgmerge
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgmknodes
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgreduce
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgremove
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgrename
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgs
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgscan
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vgsplit
2.61
MB
-r-xr-xr-x
2026-01-23 07:31
vigr
68.05
KB
-rwxr-xr-x
2025-12-18 13:51
vipw
68.05
KB
-rwxr-xr-x
2025-12-18 13:51
virt-what
14.22
KB
-rwxr-xr-x
2023-10-14 20:52
visudo
239.28
KB
-rwxr-xr-x
2026-04-29 08:49
vmcore-dmesg
28.58
KB
-rwxr-xr-x
2026-02-10 17:24
vpddecode
16.47
KB
-rwxr-xr-x
2024-04-06 13:04
weak-modules
33.6
KB
-rwxr-xr-x
2024-04-08 09:18
whmapi0
3.38
MB
-rwxr-xr-x
2026-05-09 05:01
whmapi1
3.38
MB
-rwxr-xr-x
2026-05-09 05:01
whmlogin
2.33
KB
-rwxr-xr-x
2024-12-09 21:25
wipefs
41.12
KB
-rwxr-xr-x
2026-02-04 20:18
xfs_admin
1.38
KB
-rwxr-xr-x
2023-10-15 05:10
xfs_bmap
695
B
-rwxr-xr-x
2023-10-15 05:11
xfs_copy
434.59
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_db
760.47
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_estimate
12.39
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_freeze
800
B
-rwxr-xr-x
2023-10-15 05:11
xfs_fsr
53.41
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_growfs
422.48
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_info
1.26
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_io
188.28
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_logprint
454.7
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_mdrestore
410.09
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_metadump
782
B
-rwxr-xr-x
2023-10-15 05:10
xfs_mkfile
1.02
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_ncheck
685
B
-rwxr-xr-x
2023-10-15 05:10
xfs_quota
93.98
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_repair
715.24
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_rtcp
16.38
KB
-rwxr-xr-x
2023-10-15 05:11
xfs_spaceman
45.42
KB
-rwxr-xr-x
2023-10-15 05:11
xfsdump
308.02
KB
-rwxr-xr-x
2024-01-15 12:42
xfsinvutil
66.91
KB
-rwxr-xr-x
2024-01-15 12:42
xfsrestore
369.39
KB
-rwxr-xr-x
2024-01-15 12:42
xqmstats
16.45
KB
-rwxr-xr-x
2021-10-09 07:08
xtables-monitor
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
xtables-nft-multi
220.8
KB
-rwxr-xr-x
2024-04-02 18:37
zabbix_agent2
20.53
MB
-rwxr-xr-x
2026-05-05 09:34
zdump
20.56
KB
-rwxr-xr-x
2026-05-05 10:58
zic
52.83
KB
-rwxr-xr-x
2026-05-05 10:58
zramctl
99.13
KB
-rwxr-xr-x
2026-02-04 20:18
Save
Rename
#!/bin/bash # # kpatch hot patch module management script # # Copyright (C) 2014 Seth Jennings <sjenning@redhat.com> # Copyright (C) 2014 Josh Poimboeuf <jpoimboe@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, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA, # 02110-1301, USA. # This is the kpatch user script that manages installing, loading, and # displaying information about kernel patch modules installed on the system. INSTALLDIR=/var/lib/kpatch SCRIPTDIR="$(readlink -f "$(dirname "$(type -p "$0")")")" VERSION="0.9.7" POST_ENABLE_WAIT=15 # seconds POST_SIGNAL_WAIT=60 # seconds MODULE_REF_WAIT=15 # seconds # How many times to try loading the patch if activeness safety check fails. MAX_LOAD_ATTEMPTS=5 # How long to wait before retry, in seconds. RETRY_INTERVAL=2 usage_cmd() { printf ' %-20s\n%s\n' "$1" "$(fmt -w 80 <(echo " $2"))" >&2 } usage () { # ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION ATTENTION # When changing this, please also update the man page. Thanks! echo "usage: kpatch <command> [<args>]" >&2 echo >&2 echo "Valid commands:" >&2 usage_cmd "install [-k|--kernel-version=<kernel version>] <module>" "install patch module to be loaded at boot" usage_cmd "uninstall [-k|--kernel-version=<kernel version>] <module>" "uninstall patch module" echo >&2 usage_cmd "load --all" "load all installed patch modules into the running kernel" usage_cmd "load <module>" "load patch module into the running kernel" usage_cmd "unload --all (UNSUPPORTED)" "unload all patch modules from the running kernel" usage_cmd "unload <module> (UNSUPPORTED)" "unload patch module from the running kernel" echo >&2 usage_cmd "info <module>" "show information about a patch module" echo >&2 usage_cmd "list" "list installed patch modules" echo >&2 usage_cmd "signal" "signal/poke any process stalling the current patch transition. This is only useful on systems that have the sysfs livepatch signal interface. On other systems, the signaling should be done automatically by the OS and this subcommand is a no-op." echo >&2 usage_cmd "version" "display the kpatch version" exit 1 } warn() { echo "kpatch: $*" >&2 } die() { warn "$@" exit 1 } confirm_prompt() { local prompt="$1" local answer while true; do read -rp "$prompt [Y/N] " answer [[ $answer == 'Y' || $answer == 'y' ]] && return 0 [[ $answer == 'N' || $answer == 'n' ]] && return 1 done } __find_module () { MODULE="$1" [[ -f "$MODULE" ]] && return MODULE="$INSTALLDIR/$(uname -r)/$1" [[ -f "$MODULE" ]] && return return 1 } mod_name () { MODNAME="$(basename "$1")" MODNAME="${MODNAME%.ko}" MODNAME="${MODNAME//-/_}" } find_module () { arg="$1" if [[ "$arg" =~ \.ko ]]; then __find_module "$arg" || return 1 mod_name "$MODULE" return else for i in "$INSTALLDIR/$(uname -r)"/*; do mod_name "$i" if [[ "$MODNAME" == "$arg" ]]; then MODULE="$i" return fi done fi return 1 } find_core_module() { COREMOD="$SCRIPTDIR"/../kmod/core/kpatch.ko [[ -f "$COREMOD" ]] && return COREMOD="/usr/local/lib/kpatch/$(uname -r)/kpatch.ko" [[ -f "$COREMOD" ]] && return COREMOD="/usr/lib/kpatch/$(uname -r)/kpatch.ko" [[ -f "$COREMOD" ]] && return COREMOD="/usr/local/lib/modules/$(uname -r)/extra/kpatch/kpatch.ko" [[ -f "$COREMOD" ]] && return COREMOD="/usr/lib/modules/$(uname -r)/extra/kpatch/kpatch.ko" [[ -f "$COREMOD" ]] && return return 1 } kpatch_core_loaded() { [[ -d "/sys/kernel/kpatch" ]] } core_loaded () { [[ -d "/sys/kernel/kpatch" ]] || [[ -d "/sys/kernel/livepatch" ]] } get_module_name () { readelf -p .gnu.linkonce.this_module "$1" | grep '\[.*\]' | awk '{print $3}' } init_sysfs_var() { # If the kernel is configured with CONFIG_LIVEPATCH, use that. # Otherwise, use the kpatch core module (kpatch.ko). if [[ -e /sys/kernel/livepatch ]] ; then # livepatch ABI SYSFS="/sys/kernel/livepatch" elif [[ -e /sys/kernel/kpatch/patches ]] ; then # kpatch pre-0.4 ABI SYSFS="/sys/kernel/kpatch/patches" else # kpatch 0.4 ABI SYSFS="/sys/kernel/kpatch" fi } verify_module_checksum () { modname="$(get_module_name "$1")" [[ -z "$modname" ]] && return 1 checksum="$(readelf -p .kpatch.checksum "$1" 2>&1 | grep '\[.*\]' | awk '{print $3}')" # Fail checksum match only if both exist and diverge if [[ -n "$checksum" ]] && [[ -e "$SYSFS/${modname}/checksum" ]] ; then sysfs_checksum="$(cat "$SYSFS/${modname}/checksum")" [[ "$checksum" == "$sysfs_checksum" ]] || return 1 fi return 0 } in_transition() { local moddir="$SYSFS/$1" [[ $(cat "$moddir/transition" 2>/dev/null) == "1" ]] && return 0 return 1 } is_stalled() { local module="$1" local pid="$2" local patch_enabled local patch_state patch_enabled="$(cat "$SYSFS/$module/enabled" 2>/dev/null)" patch_state="$(cat "/proc/$pid/patch_state" 2>/dev/null)" # No patch transition in progress [[ "$patch_state" == "-1" ]] && return 1 [[ -z "$patch_enabled" ]] || [[ -z "$patch_state" ]] && return 1 # Stalls can be determined if the process state does not match # the transition target (ie, "enabled" and "patched", "disabled" # and "unpatched"). The state value enumerations match, so we # can just compare them directly: [[ "$patch_enabled" != "$patch_state" ]] && return 0 return 1 } get_transition_patch() { local module local modname for module in "$SYSFS"/*; do modname=$(basename "$module") if in_transition "$modname" ; then echo "$modname" return fi done } show_stalled_processes() { local module local proc_task local tid module=$(get_transition_patch) [[ -z "$module" ]] && return echo "" echo "Stalled processes:" for proc_task in /proc/[0-9]*/task/[0-9]*; do tid=${proc_task#*/task/} is_stalled "$module" "$tid" && echo -e "$tid $(cat "$proc_task"/comm 2>/dev/null)\nstack:\n$(cat "$proc_task"/stack 2>/dev/null)" done } signal_stalled_processes() { local module local proc_task local tid module=$(get_transition_patch) [[ -z "$module" ]] && return if [[ -e "/sys/kernel/livepatch/$module/signal" ]] ; then echo "signaling stalled process(es):" echo 1 > "/sys/kernel/livepatch/$module/signal" else warn "Livepatch process signaling is performed automatically on your system." warn "Skipping manual process signaling." fi } wait_for_patch_transition() { local module="$1" local i in_transition "$module" || return 0 echo "waiting (up to $POST_ENABLE_WAIT seconds) for patch transition to complete..." for (( i=0; i<POST_ENABLE_WAIT; i++ )); do if ! in_transition "$module" ; then echo "transition complete ($i seconds)" return 0 fi sleep 1s done echo "patch transition has stalled!" signal_stalled_processes echo "waiting (up to $POST_SIGNAL_WAIT seconds) for patch transition to complete..." for (( i=0; i<POST_SIGNAL_WAIT; i++ )); do if ! in_transition "$module" ; then echo "transition complete ($i seconds)" return 0 fi sleep 1s done return 1 } module_ref_count() { local modname="$1" [[ $(cat "/sys/module/$modname/refcnt" 2>/dev/null) -gt "0" ]] } wait_for_zero_module_ref_count() { local modname="$1" local i=0 # We can't rely on a zero refcount with kpatch.ko as it # implements KPATCH_FORCE_UNSAFE with an additional reference on # kpatch-patch modules to avoid potential crashes. kpatch_core_loaded && return 0 module_ref_count "$modname" || return 0 echo "waiting (up to $MODULE_REF_WAIT seconds) for module refcount..." for (( i=0; i<MODULE_REF_WAIT; i++ )); do module_ref_count "$modname" || return 0 sleep 1s done return 1 } load_module () { local module="$1" if ! core_loaded; then if modprobe -q kpatch; then echo "loaded core module" else find_core_module || die "can't find core module" echo "loading core module: $COREMOD" insmod "$COREMOD" || die "failed to load core module" fi # Now that the core module has been loaded, set $SYSFS to the # correct value based on the loaded core module's ABI. init_sysfs_var fi local modname modname="$(get_module_name "$module")" local moddir="$SYSFS/$modname" if [[ -d "$moddir" ]] ; then if [[ "$(cat "${moddir}/enabled")" -eq 0 ]]; then if verify_module_checksum "$module"; then # same checksum echo "module already loaded, re-enabling" echo 1 > "${moddir}/enabled" || die "failed to re-enable module $modname" if ! wait_for_patch_transition "$modname" ; then show_stalled_processes echo "module $modname did not complete its transition, disabling..." echo 0 > "${moddir}/enabled" || die "failed to disable module $modname" wait_for_patch_transition "$modname" die "error: failed to re-enable module $modname (transition stalled), patch disabled" fi return else die "error: cannot re-enable patch module $modname, cannot verify checksum match" fi else echo "module named $modname already loaded and enabled" fi else # Cleanup possibly loaded, but disabled patch. remove_module "$modname" "quiet" echo "loading patch module: $module" local i=0 while true; do out="$(LC_ALL=C insmod "$module" 2>&1)" [[ -z "$out" ]] && break echo "$out" 1>&2 [[ ! "$out" =~ "Device or resource busy" ]] && die "failed to load module $module" # "Device or resource busy" means the activeness safety check # failed. Retry in a few seconds. i=$((i+1)) if [[ $i -eq $MAX_LOAD_ATTEMPTS ]]; then die "failed to load module $module" break else warn "retrying..." sleep $RETRY_INTERVAL fi done fi if ! wait_for_patch_transition "$modname" ; then show_stalled_processes echo "module $modname did not complete its transition, unloading..." unload_module "$modname" die "error: failed to load module $modname (transition stalled)" fi return 0 } disable_patch () { local modname="$1" local enabled="$SYSFS/$modname/enabled" if ! [[ -e "$enabled" ]]; then if [[ -d "/sys/module/$modname" ]] ; then # Module is loaded, but already disabled return 0 fi warn "patch module $modname is not loaded" return 1 fi if [[ "$(cat "$enabled")" -eq 1 ]]; then echo "disabling patch module: $modname" local i=0 while true; do out="$(export LC_ALL=C; sh -c "echo 0 > $enabled" 2>&1)" [[ -z "$out" ]] && break echo "$out" 1>&2 if [[ ! "$out" =~ "Device or resource busy" ]]; then return 1 fi # "Device or resource busy" means the activeness safety check # failed. Retry in a few seconds. i=$((i+1)) if [[ $i -eq $MAX_LOAD_ATTEMPTS ]]; then return 1 else warn "retrying..." sleep $RETRY_INTERVAL fi done fi } disable_patch_strict () { local modname="$1" disable_patch "$modname" || die "failed to disable module $modname" if ! wait_for_patch_transition "$modname" ; then die "transition stalled for $modname" fi } remove_module () { local modname="$1" if ! wait_for_zero_module_ref_count "$modname"; then die "failed to unload module $modname (refcnt)" fi if [[ "$#" -lt 2 || "$2" != "quiet" ]] ; then echo "unloading patch module: $modname" fi # ignore any error here because rmmod can fail if the module used # KPATCH_FORCE_UNSAFE. rmmod "$modname" 2> /dev/null || return 0 } unload_module () { PATCH="${1//-/_}" PATCH="${PATCH%.ko}" disable_patch_strict "$PATCH" remove_module "$PATCH" } get_module_version() { MODVER="$(modinfo -F vermagic "$1")" || return 1 MODVER="${MODVER/ */}" } unset MODULE # Initialize the $SYSFS var. This only works if the core module has been # loaded. Otherwise, the value of $SYSFS doesn't matter at this point anyway, # and we'll have to call this function again after loading it. init_sysfs_var [[ "$#" -lt 1 ]] && usage # RHEL-specific support options case "$1" in "force") # For scripting purposes, support "kpatch force unload". # Shift out the "force" to avoid the user-prompt check below. shift ;; "unload") confirm_prompt "WARNING: Red Hat doesn't support unloading of kpatches, continue anyway?" || exit 1 ;; esac case "$1" in "load") [[ "$#" -ne 2 ]] && usage case "$2" in "--all") for i in "$INSTALLDIR/$(uname -r)"/*.ko; do [[ -e "$i" ]] || continue load_module "$i" || die "failed to load module $i" done ;; *) PATCH="$2" find_module "$PATCH" || die "can't find $PATCH" load_module "$MODULE" || die "failed to load module $PATCH" ;; esac ;; "unload") [[ "$#" -ne 2 ]] && usage case "$2" in "--all") # Versions of linux < 5.1 livepatching require patches to be # disabled in the inverse order in which they were enabled. while true; do nr_disabled=0 for module in "$SYSFS"/*; do modname="$(basename "$module")" [[ -e "$module" ]] || continue disable_patch "$modname" || continue if ! wait_for_patch_transition "$modname" ; then warn "transition stalled for $modname" continue fi remove_module "$modname" nr_disabled=$((nr_disabled + 1)) done if [ $nr_disabled -eq 0 ]; then break fi done nr_remaining=0 for module in "$SYSFS"/*; do modname="$(basename "$module")" [[ -e "$module" ]] || continue nr_remaining=$((nr_remaining + 1)) warn "failed to unload module $modname" done if [ $nr_remaining -gt 0 ]; then exit 1 fi ;; *) unload_module "$(basename "$2")" || die "failed to unload module $2" ;; esac ;; "install") KVER="$(uname -r)" shift options="$(getopt -o k: -l "kernel-version:" -- "$@")" || die "getopt failed" eval set -- "$options" while [[ $# -gt 0 ]]; do case "$1" in -k|--kernel-version) KVER="$2" shift ;; --) [[ -z "$2" ]] && die "no module file specified" PATCH="$2" ;; esac shift done [[ ! -e "$PATCH" ]] && die "$PATCH doesn't exist" [[ "${PATCH: -3}" == ".ko" ]] || die "$PATCH isn't a .ko file" get_module_version "$PATCH" || die "modinfo failed" [[ "$KVER" != "$MODVER" ]] && die "invalid module version $MODVER for kernel $KVER" [[ -e "$INSTALLDIR/$KVER/$(basename "$PATCH")" ]] && die "$PATCH is already installed" echo "installing $PATCH ($KVER)" mkdir -p "$INSTALLDIR/$KVER" || die "failed to create install directory" cp -f "$PATCH" "$INSTALLDIR/$KVER" || die "failed to install module $PATCH" command -v systemctl > /dev/null 2>&1 && systemctl enable kpatch.service ;; "uninstall") KVER="$(uname -r)" shift options="$(getopt -o k: -l "kernel-version:" -- "$@")" || die "getopt failed" eval set -- "$options" while [[ $# -gt 0 ]]; do case "$1" in -k|--kernel-version) KVER="$2" shift ;; --) [[ -z "$2" ]] && die "no module file specified" PATCH="$2" [[ "$PATCH" != "$(basename "$PATCH")" ]] && die "please supply patch module name without path" ;; esac shift done MODULE="$INSTALLDIR/$KVER/$PATCH" if [[ ! -f "$MODULE" ]]; then mod_name "$PATCH" PATCHNAME="$MODNAME" for i in "$INSTALLDIR/$KVER"/*; do mod_name "$i" if [[ "$MODNAME" == "$PATCHNAME" ]]; then MODULE="$i" break fi done fi [[ ! -e "$MODULE" ]] && die "$PATCH is not installed for kernel $KVER" echo "uninstalling $PATCH ($KVER)" rm -f "$MODULE" || die "failed to uninstall module $PATCH" rmdir --ignore-fail-on-non-empty "$INSTALLDIR/$KVER" || die "failed to remove directory $INSTALLDIR/$KVER" ;; "list") [[ "$#" -ne 1 ]] && usage echo "Loaded patch modules:" for module in "$SYSFS"/*; do if [[ -e "$module" ]]; then modname=$(basename "$module") if [[ "$(cat "$module/enabled" 2>/dev/null)" -eq 1 ]]; then in_transition "$modname" && state="enabling..." \ || state="enabled" else in_transition "$modname" && state="disabling..." \ || state="disabled" fi echo "$modname [$state]" fi done show_stalled_processes echo "" echo "Installed patch modules:" for kdir in "$INSTALLDIR"/*; do [[ -e "$kdir" ]] || continue for module in "$kdir"/*.ko; do [[ -e "$module" ]] || continue mod_name "$module" echo "$MODNAME ($(basename "$kdir"))" done done ;; "info") [[ "$#" -ne 2 ]] && usage PATCH="$2" find_module "$PATCH" || die "can't find $PATCH" echo "Patch information for $PATCH:" modinfo "$MODULE" || die "failed to get info for module $PATCH" ;; "signal") [[ "$#" -ne 1 ]] && usage signal_stalled_processes ;; "help"|"-h"|"--help") usage ;; "version"|"-v"|"--version") echo "$VERSION" ;; *) echo "subcommand $1 not recognized" usage ;; esac