✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server.blackpussy.asia ​🇻​♯➤ 5.14.0-611.20.1.el9_7.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 163.245.207.76 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗞 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ mail,mb_send_mail
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /usr/sbin//semanage
#!/usr/bin/python3 -EsI
# Copyright (C) 2012-2013 Red Hat
# AUTHOR: Miroslav Grepl <mgrepl@redhat.com>
# AUTHOR: David Quigley <selinux@davequigley.com>
# see file 'COPYING' for use and warranty information
#
# semanage is a tool for managing SELinux configuration files
#
#    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., 59 Temple Place, Suite 330, Boston, MA
#                                        02111-1307  USA
#
#

import argparse
import os
import re
import seobject
import sys
import traceback

PROGNAME = "selinux-python"
try:
    import gettext
    kwargs = {}
    if sys.version_info < (3,):
        kwargs['unicode'] = True
    t = gettext.translation(PROGNAME,
                    localedir="/usr/share/locale",
                    **kwargs,
                    fallback=True)
    _ = t.gettext
except:
    try:
        import builtins
        builtins.__dict__['_'] = str
    except ImportError:
        import __builtin__
        __builtin__.__dict__['_'] = unicode

# define custom usages for selected main actions
usage_login = "semanage login [-h] [-n] [-N] [-S STORE] ["
usage_login_dict = {' --add': ('-s SEUSER', '-r RANGE', 'LOGIN',), ' --modify': ('-s SEUSER', '-r RANGE', 'LOGIN',), ' --delete': ('LOGIN',), ' --list': ('-C',), ' --extract': ('',), ' --deleteall': ('',)}

usage_fcontext = "semanage fcontext [-h] [-n] [-N] [-S STORE] ["
usage_fcontext_dict = {' --add': ('(', '-t TYPE', '-f FTYPE', '-r RANGE', '-s SEUSER', '|', '-e EQUAL', ')', 'FILE_SPEC',), ' --delete': ('(', '-t TYPE', '-f FTYPE', '|', '-e EQUAL', ')', 'FILE_SPEC',), ' --modify': ('(', '-t TYPE', '-f FTYPE', '-r RANGE', '-s SEUSER', '|', '-e EQUAL', ')', 'FILE_SPEC',), ' --list': ('[-C]',), ' --extract': ('',), ' --deleteall': ('',)}

usage_user = "semanage user [-h] [-n] [-N] [-S STORE] ["
usage_user_dict = {' --add': ('(', '-L LEVEL', '-R ROLES', '-r RANGE', 'SEUSER', ')'), ' --delete': ('SEUSER',), ' --modify': ('(', '-L LEVEL', '-R ROLES', '-r RANGE', '-s SEUSER', 'SEUSER', ')'), ' --list': ('-C',), ' --extract': ('',), ' --deleteall': ('',)}

usage_port = "semanage port [-h] [-n] [-N] [-S STORE] ["
usage_port_dict = {' --add': ('-t TYPE', '-p PROTOCOL', '-r RANGE', '(', 'port_name', '|', 'port_range', ')'), ' --modify': ('-t TYPE', '-p PROTOCOL', '-r RANGE', '(', 'port_name', '|', 'port_range', ')'), ' --delete': ('-p PROTOCOL', '(', 'port_name', '|', 'port_range', ')'), ' --list': ('-C',), ' --extract': ('',), ' --deleteall': ('',)}

usage_ibpkey = "semanage ibpkey [-h] [-n] [-N] [-s STORE] ["
usage_ibpkey_dict = {' --add': ('-t TYPE', '-x SUBNET_PREFIX', '-r RANGE', '(', 'ibpkey_name', '|', 'pkey_range', ')'), ' --modify': ('-t TYPE', '-x SUBNET_PREFIX', '-r RANGE', '(', 'ibpkey_name', '|', 'pkey_range', ')'), ' --delete': ('-x SUBNET_PREFIX', '(', 'ibpkey_name', '|', 'pkey_range', ')'), ' --list': ('-C',), ' --extract': ('',), ' --deleteall': ('',)}

usage_ibendport = "semanage ibendport [-h] [-n] [-N] [-s STORE] ["
usage_ibendport_dict = {' --add': ('-t TYPE', '-z IBDEV_NAME', '-r RANGE', '(', 'port', ')'), ' --modify': ('-t TYPE', '-z IBDEV_NAME', '-r RANGE', '(', 'port', ')'), ' --delete': ('-z IBDEV_NAME', '-r RANGE', '(', 'port', ')'), ' --list': ('-C',), ' --extract': ('',), ' --deleteall': ('',)}

usage_node = "semanage node [-h] [-n] [-N] [-S STORE] ["
usage_node_dict = {' --add': ('-M NETMASK', '-p PROTOCOL', '-t TYPE', '-r RANGE', 'node'), ' --modify': ('-M NETMASK', '-p PROTOCOL', '-t TYPE', '-r RANGE', 'node'), ' --delete': ('-M NETMASK', '-p PROTOCOL', 'node'), ' --list': ('-C',), ' --extract': ('',), ' --deleteall': ('',)}

usage_interface = "semanage interface [-h] [-n] [-N] [-S STORE] ["
usage_interface_dict = {' --add': ('-t TYPE', '-r RANGE', 'interface'), ' --modify': ('-t TYPE', '-r RANGE', 'interface'), ' --delete': ('interface',), ' --list': ('-C',), ' --extract': ('',), ' --deleteall': ('',)}

usage_boolean = "semanage boolean [-h] [-n] [-N] [-S STORE] ["
usage_boolean_dict = {' --modify': ('(', '--on', '|', '--off', ')', 'boolean'), ' --list': ('-C',), '  --extract': ('',), ' --deleteall': ('',)}

class CheckRole(argparse.Action):

    def __call__(self, parser, namespace, value, option_string=None):
        newval = getattr(namespace, self.dest)
        if not newval:
            newval = []
        try:
            # sepolicy tries to load the SELinux policy and raises ValueError if it fails.
            import sepolicy
            roles = sepolicy.get_all_roles()
        except ValueError:
            roles = []
        for v in value.split():
            if v not in roles:
                raise ValueError("%s must be an SELinux role:\nValid roles: %s" % (v, ", ".join(roles)))
            newval.append(v)
        setattr(namespace, self.dest, newval)


class seParser(argparse.ArgumentParser):

    def error(self, message):
        if len(sys.argv) == 2:
            self.print_help()
        else:
            self.print_usage()
        self.exit(2, ('%s: error: %s\n') % (self.prog, message))


class SetExportFile(argparse.Action):

    def __call__(self, parser, namespace, values, option_string=None):
        if values:
            if values != "-":
                try:
                    sys.stdout = open(values, 'w')
                except:
                    sys.stderr.write(traceback.format_exc())
                    sys.exit(1)
        setattr(namespace, self.dest, values)


class SetImportFile(argparse.Action):

    def __call__(self, parser, namespace, values, option_string=None):
        if values and values != "-":
            try:
                sys.stdin = open(values, 'r')
            except IOError as e:
                sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e)))
                sys.exit(1)
        setattr(namespace, self.dest, values)

# define dictionary for seobject OBJECTS
object_dict = {
    'login': seobject.loginRecords,
    'user': seobject.seluserRecords,
    'port': seobject.portRecords,
    'module': seobject.moduleRecords,
    'interface': seobject.interfaceRecords,
    'node': seobject.nodeRecords,
    'fcontext': seobject.fcontextRecords,
    'boolean': seobject.booleanRecords,
    'permissive': seobject.permissiveRecords,
    'dontaudit': seobject.dontauditClass,
    'ibpkey': seobject.ibpkeyRecords,
    'ibendport': seobject.ibendportRecords
}

def generate_custom_usage(usage_text, usage_dict):
    # generate custom usage from given text and dictionary
    sorted_keys = []
    for i in usage_dict.keys():
        sorted_keys.append(i)
    sorted_keys.sort()
    for k in sorted_keys:
        usage_text += "%s %s |" % (k, (" ".join(usage_dict[k])))
    usage_text = usage_text[:-1] + "]"
    usage_text = _(usage_text)

    return usage_text


def handle_opts(args, dict, target_key):
    # handle conflict and required options for given dictionary
    # {action:[conflict_opts,require_opts]}

    # first we need to catch conflicts
    for k in args.__dict__.keys():
        try:
            if k in dict[target_key][0] and args.__dict__[k]:
                print("%s option can not be used with --%s" % (target_key, k))
                sys.exit(2)
        except KeyError:
            continue

    for k in args.__dict__.keys():
        try:
            if k in dict[target_key][1] and not args.__dict__[k]:
                print("%s option is needed for %s" % (k, target_key))
                sys.exit(2)
        except KeyError:
            continue


def handleLogin(args):
    # {action:[conflict_opts,require_opts]}
    login_args = {'list': [('login', 'seuser'), ('')], 'add': [('locallist'), ('seuser', 'login')], 'modify': [('locallist'), ('login')], 'delete': [('locallist'), ('login')], 'extract': [('locallist', 'login', 'seuser'), ('')], 'deleteall': [('locallist'), ('')]}

    handle_opts(args, login_args, args.action)

    OBJECT = object_dict['login'](args)

    if args.action == "add":
        OBJECT.add(args.login, args.seuser, args.range)
    if args.action == "modify":
        OBJECT.modify(args.login, args.seuser, args.range)
    if args.action == "delete":
        OBJECT.delete(args.login)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("login %s" % (str(i)))


def parser_add_store(parser, name):
    parser.add_argument('-S', '--store', default='', help=_("Select an alternate SELinux Policy Store to manage"))


def parser_add_priority(parser, name):
    parser.add_argument('-P', '--priority', type=int, default=400, help=_("Select a priority for module operations"))


def parser_add_noheading(parser, name):
    parser.add_argument('-n', '--noheading', action='store_false', default=True, help=_("Do not print heading when listing %s object types") % name)


def parser_add_noreload(parser, name):
    parser.add_argument('-N', '--noreload', action='store_true', default=False, help=_('Do not reload policy after commit'))


def parser_add_locallist(parser, name):
    parser.add_argument('-C', '--locallist', action='store_true', default=False, help=_("List %s local customizations") % name)


def parser_add_add(parser, name):
    parser.add_argument('-a', '--add', dest='action', action='store_const', const='add', help=_("Add a record of the %s object type") % name)


def parser_add_type(parser, name):
    parser.add_argument('-t', '--type', help=_('SELinux Type for the object'))


def parser_add_level(parser, name):
    parser.add_argument('-L', '--level', default='s0', help=_('Default SELinux Level for SELinux user, s0 Default. (MLS/MCS Systems only)'))


def parser_add_range(parser, name):
    parser.add_argument('-r', '--range', default='', help=_(
        "MLS/MCS Security Range (MLS/MCS Systems only) SELinux Range for SELinux login mapping defaults to the SELinux user record range. \
SELinux Range for SELinux user defaults to s0."
    ))


def parser_add_proto(parser, name):
    parser.add_argument('-p', '--proto', help=_(
        "Protocol for the specified port (tcp|udp|dccp|sctp) or internet protocol version for the specified node (ipv4|ipv6)."
    ))

def parser_add_subnet_prefix(parser, name):
    parser.add_argument('-x', '--subnet_prefix', help=_('Subnet prefix for  the specified infiniband ibpkey.'))

def parser_add_ibdev_name(parser, name):
    parser.add_argument('-z', '--ibdev_name', help=_("Name for the specified infiniband end port."))

def parser_add_modify(parser, name):
    parser.add_argument('-m', '--modify', dest='action', action='store_const', const='modify', help=_("Modify a record of the %s object type") % name)


def parser_add_list(parser, name):
    parser.add_argument('-l', '--list', dest='action', action='store_const', const='list', help=_("List records of the %s object type") % name)


def parser_add_delete(parser, name):
    parser.add_argument('-d', '--delete', dest='action', action='store_const', const='delete', help=_("Delete a record of the %s object type") % name)


def parser_add_extract(parser, name):
    parser.add_argument('-E', '--extract', dest='action', action='store_const', const='extract', help=_("Extract customizable commands, for use within a transaction"))


def parser_add_deleteall(parser, name):
    parser.add_argument('-D', '--deleteall', dest='action', action='store_const', const='deleteall', help=_('Remove all %s objects local customizations') % name)


def parser_add_seuser(parser, name):
    parser.add_argument('-s', '--seuser', default="", help=_("SELinux user name"))


def setupLoginParser(subparsers):
    generated_usage = generate_custom_usage(usage_login, usage_login_dict)
    loginParser = subparsers.add_parser('login', usage=generated_usage, help=_("Manage login mappings between linux users and SELinux confined users"))
    parser_add_locallist(loginParser, "login")
    parser_add_noheading(loginParser, "login")
    parser_add_noreload(loginParser, "login")
    parser_add_store(loginParser, "login")
    parser_add_range(loginParser, "login")

    login_action = loginParser.add_mutually_exclusive_group(required=True)

    parser_add_add(login_action, "login")
    parser_add_delete(login_action, "login")
    parser_add_modify(login_action, "login")
    parser_add_list(login_action, "login")
    parser_add_extract(login_action, "login")
    parser_add_deleteall(login_action, "login")
    parser_add_seuser(loginParser, "login")

    loginParser.add_argument('login', nargs='?', default=None, help=_("login_name | %%groupname"))

    loginParser.set_defaults(func=handleLogin)


def handleFcontext(args):
    fcontext_args = {'list': [('equal', 'ftype', 'seuser', 'type'), ('')], 'add': [('locallist'), ('type', 'file_spec')], 'modify': [('locallist'), ('type', 'file_spec')], 'delete': [('locallist'), ('file_spec')], 'extract': [('locallist', 'equal', 'ftype', 'seuser', 'type'), ('')], 'deleteall': [('locallist'), ('')]}
    # we can not use mutually for equal because we can define some actions together with equal
    fcontext_equal_args = {'equal': [('list', 'locallist', 'type', 'ftype', 'seuser', 'deleteall', 'extract'), ()]}

    if args.action and args.equal:
        handle_opts(args, fcontext_equal_args, "equal")
    else:
        handle_opts(args, fcontext_args, args.action)

    OBJECT = object_dict['fcontext'](args)

    if args.action == "add":
        if args.equal:
            OBJECT.add_equal(args.file_spec, args.equal)
        else:
            OBJECT.add(args.file_spec, args.type, args.ftype, args.range, args.seuser)
    if args.action == "modify":
        if args.equal:
            OBJECT.modify_equal(args.file_spec, args.equal)
        else:
            OBJECT.modify(args.file_spec, args.type, args.ftype, args.range, args.seuser)
    if args.action == "delete":
        if args.equal:
            OBJECT.delete(args.file_spec, args.equal)
        else:
            OBJECT.delete(args.file_spec, args.ftype)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("fcontext %s" % str(i))


def setupFcontextParser(subparsers):
    generate_usage = generate_custom_usage(usage_fcontext, usage_fcontext_dict)
    fcontextParser = subparsers.add_parser('fcontext', usage=generate_usage, help=_("Manage file context mapping definitions"))
    parser_add_locallist(fcontextParser, "fcontext")
    parser_add_noheading(fcontextParser, "fcontext")
    parser_add_noreload(fcontextParser, "fcontext")
    parser_add_store(fcontextParser, "fcontext")

    fcontext_action = fcontextParser.add_mutually_exclusive_group(required=True)
    parser_add_add(fcontext_action, "fcontext")
    parser_add_delete(fcontext_action, "fcontext")
    parser_add_modify(fcontext_action, "fcontext")
    parser_add_list(fcontext_action, "fcontext")
    parser_add_extract(fcontext_action, "fcontext")
    parser_add_deleteall(fcontext_action, "fcontext")

    fcontextParser.add_argument('-e', '--equal', help=_(
        'Substitute target path with sourcepath when generating default label. This is used with fcontext. Requires source and target \
path arguments. The context labeling for the target subtree is made equivalent to that defined for the source.'
    ))
    fcontextParser.add_argument('-f', '--ftype', default="", choices=["a", "f", "d", "c", "b", "s", "l", "p"], help=_(
        'File Type. This is used with fcontext. Requires a file type as shown in the mode field by ls, e.g. use d to match only \
directories or f to match only regular files. The following file type options can be passed: f (regular file), d (directory), \
c (character device), b (block device), s (socket), l (symbolic link), p (named pipe). \
If you do not specify a file type, the file type will default to "all files".'
    ))
    parser_add_seuser(fcontextParser, "fcontext")
    parser_add_type(fcontextParser, "fcontext")
    parser_add_range(fcontextParser, "fcontext")
    fcontextParser.add_argument('file_spec', nargs='?', default=None, help=_('Path to be labeled (may be in the form of a Perl compatible regular expression)'))
    fcontextParser.set_defaults(func=handleFcontext)


def handleUser(args):
    user_args = {'list': [('selinux_name', 'seuser', 'roles'), ('')], 'add': [('locallist'), ('roles', 'selinux_name')], 'modify': [('locallist'), ('selinux_name')], 'delete': [('locallist'), ('selinux_name')], 'extract': [('locallist', 'selinux_name', 'seuser', 'role'), ('')], 'deleteall': [('locallist'), ('')]}

    handle_opts(args, user_args, args.action)

    OBJECT = object_dict['user'](args)

    if args.action == "add":
        OBJECT.add(args.selinux_name, args.roles, args.level, args.range, args.prefix)
    if args.action == "modify":
        OBJECT.modify(args.selinux_name, args.roles, args.level, args.range, args.prefix)
    if args.action == "delete":
        OBJECT.delete(args.selinux_name)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("user %s" % str(i))


def setupUserParser(subparsers):
    generated_usage = generate_custom_usage(usage_user, usage_user_dict)
    userParser = subparsers.add_parser('user', usage=generated_usage, help=_('Manage SELinux confined users (Roles and levels for an SELinux user)'))
    parser_add_locallist(userParser, "user")
    parser_add_noheading(userParser, "user")
    parser_add_noreload(userParser, "user")
    parser_add_store(userParser, "user")

    user_action = userParser.add_mutually_exclusive_group(required=True)
    parser_add_add(user_action, "user")
    parser_add_delete(user_action, "user")
    parser_add_modify(user_action, "user")
    parser_add_list(user_action, "user")
    parser_add_extract(user_action, "user")
    parser_add_deleteall(user_action, "user")

    parser_add_level(userParser, "user")
    parser_add_range(userParser, "user")
    userParser.add_argument('-R', '--roles', default=[],
                            action=CheckRole,
                            help=_("SELinux Roles. You must enclose multiple roles within quotes, separate by spaces. Or specify -R multiple times."))
    userParser.add_argument('-P', '--prefix', default="user", help=argparse.SUPPRESS)
    userParser.add_argument('selinux_name', nargs='?', default=None, help=_('selinux_name'))
    userParser.set_defaults(func=handleUser)


def handlePort(args):
    port_args = {'list': [('port', 'type', 'proto'), ('')], 'add': [('locallist'), ('type', 'port', 'proto')], 'modify': [('localist'), ('port', 'proto')], 'delete': [('locallist'), ('port', 'proto')], 'extract': [('locallist', 'port', 'type', 'proto'), ('')], 'deleteall': [('locallist'), ('')]}

    handle_opts(args, port_args, args.action)

    OBJECT = object_dict['port'](args)

    if args.action == "add":
        OBJECT.add(args.port, args.proto, args.range, args.type)
    if args.action == "modify":
        OBJECT.modify(args.port, args.proto, args.range, args.type)
    if args.action == "delete":
        OBJECT.delete(args.port, args.proto)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("port %s" % str(i))


def setupPortParser(subparsers):
    generated_usage = generate_custom_usage(usage_port, usage_port_dict)
    portParser = subparsers.add_parser('port', usage=generated_usage, help=_('Manage network port type definitions'))
    parser_add_locallist(portParser, "port")
    parser_add_noheading(portParser, "port")
    parser_add_noreload(portParser, "port")
    parser_add_store(portParser, "port")

    port_action = portParser.add_mutually_exclusive_group(required=True)
    parser_add_add(port_action, "port")
    parser_add_delete(port_action, "port")
    parser_add_modify(port_action, "port")
    parser_add_list(port_action, "port")
    parser_add_extract(port_action, "port")
    parser_add_deleteall(port_action, "port")
    parser_add_type(portParser, "port")
    parser_add_range(portParser, "port")
    parser_add_proto(portParser, "port")
    portParser.add_argument('port', nargs='?', default=None, help=_('port | port_range'))
    portParser.set_defaults(func=handlePort)



def handlePkey(args):
    ibpkey_args = {'list': [('ibpkey', 'type', 'subnet_prefix'), ('')], 'add': [('locallist'), ('type', 'ibpkey', 'subnet_prefix')], 'modify': [('localist'), ('ibpkey', 'subnet_prefix')], 'delete': [('locallist'), ('ibpkey', 'subnet_prefix')], 'extract': [('locallist', 'ibpkey', 'type', 'subnet prefix'), ('')], 'deleteall': [('locallist'), ('')]}

    handle_opts(args, ibpkey_args, args.action)

    OBJECT = object_dict['ibpkey'](args)

    if args.action == "add":
        OBJECT.add(args.ibpkey, args.subnet_prefix, args.range, args.type)
    if args.action == "modify":
        OBJECT.modify(args.ibpkey, args.subnet_prefix, args.range, args.type)
    if args.action == "delete":
        OBJECT.delete(args.ibpkey, args.subnet_prefix)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("ibpkey %s" % str(i))


def setupPkeyParser(subparsers):
    generated_usage = generate_custom_usage(usage_ibpkey, usage_ibpkey_dict)
    ibpkeyParser = subparsers.add_parser('ibpkey', usage=generated_usage, help=_('Manage infiniband ibpkey type definitions'))
    parser_add_locallist(ibpkeyParser, "ibpkey")
    parser_add_noheading(ibpkeyParser, "ibpkey")
    parser_add_noreload(ibpkeyParser, "ibpkey")
    parser_add_store(ibpkeyParser, "ibpkey")

    ibpkey_action = ibpkeyParser.add_mutually_exclusive_group(required=True)
    parser_add_add(ibpkey_action, "ibpkey")
    parser_add_delete(ibpkey_action, "ibpkey")
    parser_add_modify(ibpkey_action, "ibpkey")
    parser_add_list(ibpkey_action, "ibpkey")
    parser_add_extract(ibpkey_action, "ibpkey")
    parser_add_deleteall(ibpkey_action, "ibpkey")
    parser_add_type(ibpkeyParser, "ibpkey")
    parser_add_range(ibpkeyParser, "ibpkey")
    parser_add_subnet_prefix(ibpkeyParser, "ibpkey")
    ibpkeyParser.add_argument('ibpkey', nargs='?', default=None, help=_('pkey | pkey_range'))
    ibpkeyParser.set_defaults(func=handlePkey)

def handleIbendport(args):
    ibendport_args = {'list': [('ibendport', 'type', 'ibdev_name'), ('')], 'add': [('locallist'), ('type', 'ibendport', 'ibdev_name'), ('')], 'modify': [('localist'), ('ibendport', 'ibdev_name')], 'delete': [('locallist'), ('ibendport', 'ibdev_name')], 'extract': [('locallist', 'ibendport', 'type', 'ibdev_name'), ('')], 'deleteall': [('locallist'), ('')]}

    handle_opts(args, ibendport_args, args.action)

    OBJECT = object_dict['ibendport'](args)

    if args.action == "add":
        OBJECT.add(args.ibendport, args.ibdev_name, args.range, args.type)
    if args.action == "modify":
        OBJECT.modify(args.ibendport, args.ibdev_name, args.range, args.type)
    if args.action == "delete":
        OBJECT.delete(args.ibendport, args.ibdev_name)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("ibendport %s" % str(i))


def setupIbendportParser(subparsers):
    generated_usage = generate_custom_usage(usage_ibendport, usage_ibendport_dict)
    ibendportParser = subparsers.add_parser('ibendport', usage=generated_usage, help=_('Manage infiniband end port type definitions'))
    parser_add_locallist(ibendportParser, "ibendport")
    parser_add_noheading(ibendportParser, "ibendport")
    parser_add_noreload(ibendportParser, "ibendport")
    parser_add_store(ibendportParser, "ibendport")

    ibendport_action = ibendportParser.add_mutually_exclusive_group(required=True)
    parser_add_add(ibendport_action, "ibendport")
    parser_add_delete(ibendport_action, "ibendport")
    parser_add_modify(ibendport_action, "ibendport")
    parser_add_list(ibendport_action, "ibendport")
    parser_add_extract(ibendport_action, "ibendport")
    parser_add_deleteall(ibendport_action, "ibendport")
    parser_add_type(ibendportParser, "ibendport")
    parser_add_range(ibendportParser, "ibendport")
    parser_add_ibdev_name(ibendportParser, "ibendport")
    ibendportParser.add_argument('ibendport', nargs='?', default=None, help=_('ibendport'))
    ibendportParser.set_defaults(func=handleIbendport)

def handleInterface(args):
    interface_args = {'list': [('interface'), ('')], 'add': [('locallist'), ('type', 'interface')], 'modify': [('locallist'), ('type', 'interface')], 'delete': [('locallist'), ('interface')], 'extract': [('locallist', 'interface', 'type'), ('')], 'deleteall': [('locallist'), ('')]}

    handle_opts(args, interface_args, args.action)

    OBJECT = object_dict['interface'](args)

    if args.action == "add":
        OBJECT.add(args.interface, args.range, args.type)
    if args.action == "modify":
        OBJECT.modify(args.interface, args.range, args.type)
    if args.action == "delete":
        OBJECT.delete(args.interface)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("interface %s" % str(i))


def setupInterfaceParser(subparsers):
    generated_usage = generate_custom_usage(usage_interface, usage_interface_dict)
    interfaceParser = subparsers.add_parser('interface', usage=generated_usage, help=_('Manage network interface type definitions'))
    parser_add_locallist(interfaceParser, "interface")
    parser_add_noheading(interfaceParser, "interface")
    parser_add_noreload(interfaceParser, "interface")
    parser_add_store(interfaceParser, "interface")
    parser_add_type(interfaceParser, "interface")
    parser_add_range(interfaceParser, "interface")

    interface_action = interfaceParser.add_mutually_exclusive_group(required=True)
    parser_add_add(interface_action, "interface")
    parser_add_delete(interface_action, "interface")
    parser_add_modify(interface_action, "interface")
    parser_add_list(interface_action, "interface")
    parser_add_extract(interface_action, "interface")
    parser_add_deleteall(interface_action, "interface")
    interfaceParser.add_argument('interface', nargs='?', default=None, help=_('interface_spec'))
    interfaceParser.set_defaults(func=handleInterface)


def handleModule(args):
    OBJECT = seobject.moduleRecords(args)
    if args.action_add:
        OBJECT.add(args.action_add[0], args.priority)
    if args.action_enable:
        OBJECT.set_enabled(" ".join(args.action_enable), True)
    if args.action_disable:
        OBJECT.set_enabled(" ".join(args.action_disable), False)
    if args.action_remove:
        OBJECT.delete(" ".join(args.action_remove), args.priority)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "extract":
        for i in OBJECT.customized():
            print("module %s" % str(i))


def setupModuleParser(subparsers):
    moduleParser = subparsers.add_parser('module', help=_('Manage SELinux policy modules'))
    parser_add_noheading(moduleParser, "module")
    parser_add_noreload(moduleParser, "module")
    parser_add_store(moduleParser, "module")
    parser_add_locallist(moduleParser, "module")
    parser_add_priority(moduleParser, "module")

    mgroup = moduleParser.add_mutually_exclusive_group(required=True)
    parser_add_list(mgroup, "module")
    parser_add_extract(mgroup, "module")
    parser_add_deleteall(mgroup, "module")
    mgroup.add_argument('-a', '--add', dest='action_add', action='store', nargs=1, metavar='module_name', help=_("Add a module"))
    mgroup.add_argument('-r', '--remove', dest='action_remove', action='store', nargs='+', metavar='module_name', help=_("Remove a module"))
    mgroup.add_argument('-d', '--disable', dest='action_disable', action='store', nargs='+', metavar='module_name', help=_("Disable a module"))
    mgroup.add_argument('-e', '--enable', dest='action_enable', action='store', nargs='+', metavar='module_name', help=_("Enable a module"))
    moduleParser.set_defaults(func=handleModule)


def handleNode(args):
    node_args = {'list': [('node', 'type', 'proto', 'netmask'), ('')], 'add': [('locallist'), ('type', 'node', 'proto', 'netmask')], 'modify': [('locallist'), ('node', 'netmask', 'proto')], 'delete': [('locallist'), ('node', 'netmask', 'prototype')], 'extract': [('locallist', 'node', 'type', 'proto', 'netmask'), ('')], 'deleteall': [('locallist'), ('')]}
    handle_opts(args, node_args, args.action)

    OBJECT = object_dict['node'](args)

    if args.action == "add":
        OBJECT.add(args.node, args.netmask, args.proto, args.range, args.type)
    if args.action == "modify":
        OBJECT.modify(args.node, args.netmask, args.proto, args.range, args.type)
    if args.action == "delete":
        OBJECT.delete(args.node, args.netmask, args.proto)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("node %s" % str(i))


def setupNodeParser(subparsers):
    generated_usage = generate_custom_usage(usage_node, usage_node_dict)
    nodeParser = subparsers.add_parser('node', usage=generated_usage, help=_('Manage network node type definitions'))
    parser_add_locallist(nodeParser, "node")
    parser_add_noheading(nodeParser, "node")
    parser_add_noreload(nodeParser, "node")
    parser_add_store(nodeParser, "node")

    node_action = nodeParser.add_mutually_exclusive_group(required=True)
    parser_add_add(node_action, "node")
    parser_add_delete(node_action, "node")
    parser_add_modify(node_action, "node")
    parser_add_list(node_action, "node")
    parser_add_extract(node_action, "node")
    parser_add_deleteall(node_action, "node")

    nodeParser.add_argument('-M', '--netmask', help=_('Network Mask'))
    parser_add_type(nodeParser, "node")
    parser_add_range(nodeParser, "node")
    parser_add_proto(nodeParser, "node")
    nodeParser.add_argument('node', nargs='?', default=None, help=_('node'))
    nodeParser.set_defaults(func=handleNode)


def handleBoolean(args):
    boolean_args = {'list': [('state', 'boolean'), ('')], 'modify': [('localist'), ('boolean', 'state')], 'extract': [('locallist', 'state', 'boolean'), ('')], 'deleteall': [('locallist'), ('')], 'state': [('locallist', 'list', 'extract', 'deleteall'), ('modify')]}

    handle_opts(args, boolean_args, args.action)

    OBJECT = object_dict['boolean'](args)

    if args.action == "modify":
        if args.boolean:
            OBJECT.modify(args.boolean, args.state, False)
    if args.action == "list":
        OBJECT.list(args.noheading, args.locallist)
    if args.action == "deleteall":
        OBJECT.deleteall()
    if args.action == "extract":
        for i in OBJECT.customized():
            print("boolean %s" % str(i))


def setupBooleanParser(subparsers):
    generated_usage = generate_custom_usage(usage_boolean, usage_boolean_dict)
    booleanParser = subparsers.add_parser('boolean', usage=generated_usage, help=_('Manage booleans to selectively enable functionality'))
    parser_add_locallist(booleanParser, "boolean")
    parser_add_noheading(booleanParser, "boolean")
    parser_add_noreload(booleanParser, "boolean")
    parser_add_store(booleanParser, "boolean")
    booleanParser.add_argument('boolean', nargs="?", default=None, help=_('boolean'))

    boolean_action = booleanParser.add_mutually_exclusive_group(required=True)
    #add_add(boolean_action)
    parser_add_modify(boolean_action, "boolean")
    parser_add_list(boolean_action, "boolean")
    parser_add_extract(boolean_action, "boolean")
    parser_add_deleteall(boolean_action, "boolean")

    booleanGroup = booleanParser.add_mutually_exclusive_group(required=False)
    booleanGroup.add_argument('-1', '--on', dest='state', action='store_const', const='on', help=_('Enable the boolean'))
    booleanGroup.add_argument('-0', '--off', dest='state', action='store_const', const='off', help=_('Disable the boolean'))

    booleanParser.set_defaults(func=handleBoolean)


def handlePermissive(args):
    OBJECT = object_dict['permissive'](args)

    if args.action == "list":
        OBJECT.list(args.noheading)
    elif args.action == "deleteall":
        OBJECT.deleteall()
    elif args.action == "extract":
        for i in OBJECT.customized():
            print("permissive %s" % str(i))
    elif args.type is not None:
        if args.action == "add":
            OBJECT.add(args.type)
        if args.action == "delete":
            OBJECT.delete(args.type)
    else:
        args.parser.error(message=_('semanage permissive: error: the following argument is required: type\n'))


def setupPermissiveParser(subparsers):
    permissiveParser = subparsers.add_parser('permissive', help=_('Manage process type enforcement mode'))

    pgroup = permissiveParser.add_mutually_exclusive_group(required=True)
    parser_add_add(pgroup, "permissive")
    parser_add_delete(pgroup, "permissive")
    parser_add_deleteall(pgroup, "permissive")
    parser_add_extract(pgroup, "permissive")
    parser_add_list(pgroup, "permissive")

    parser_add_noheading(permissiveParser, "permissive")
    parser_add_noreload(permissiveParser, "permissive")
    parser_add_store(permissiveParser, "permissive")
    permissiveParser.add_argument('type', nargs='?', default=None, help=_('type'))
    permissiveParser.set_defaults(func=handlePermissive)
    permissiveParser.set_defaults(parser=permissiveParser)


def handleDontaudit(args):
    OBJECT = object_dict['dontaudit'](args)
    OBJECT.toggle(args.action)


def setupDontauditParser(subparsers):
    dontauditParser = subparsers.add_parser('dontaudit', help=_('Disable/Enable dontaudit rules in policy'))
    parser_add_noreload(dontauditParser, "dontaudit")
    parser_add_store(dontauditParser, "dontaudit")
    dontauditParser.add_argument('action', choices=["on", "off"])
    dontauditParser.set_defaults(func=handleDontaudit)


def handleExport(args):
    manageditems = ["boolean", "login", "interface", "user", "port", "node", "fcontext", "module", "ibendport", "ibpkey", "permissive"]
    for i in manageditems:
        print("%s -D" % i)
    for i in manageditems:
        OBJECT = object_dict[i](args)
        for c in OBJECT.customized():
            print("%s %s" % (i, str(c)))

    sys.exit(0)


def setupExportParser(subparsers):
    exportParser = subparsers.add_parser('export', help=_('Output local customizations'))
    parser_add_store(exportParser, "export")
    exportParser.add_argument('-f', '--output_file', dest='output_file', action=SetExportFile, help=_('Output file'))
    exportParser.set_defaults(func=handleExport)


def mkargv(line):
    dquote = "\""
    squote = "\'"
    l = line.split()
    ret = []
    i = 0
    while i < len(l):
        cnt = len(re.findall(dquote, l[i]))
        if cnt > 1:
            ret.append(l[i].strip(dquote))
            i = i + 1
            continue
        if cnt == 1:
            quote = [l[i].strip(dquote)]
            i = i + 1

            while i < len(l) and dquote not in l[i]:
                quote.append(l[i])
                i = i + 1
            quote.append(l[i].strip(dquote))
            ret.append(" ".join(quote))
            i = i + 1
            continue

        cnt = len(re.findall(squote, l[i]))
        if cnt > 1:
            ret.append(l[i].strip(squote))
            i = i + 1
            continue
        if cnt == 1:
            quote = [l[i].strip(squote)]
            i = i + 1
            while i < len(l) and squote not in l[i]:
                quote.append(l[i])
                i = i + 1

            quote.append(l[i].strip(squote))
            ret.append(" ".join(quote))
            i = i + 1
            continue

        ret.append(l[i])
        i = i + 1

    return ret


def handleImport(args):
    trans = seobject.semanageRecords(args)
    trans.start()

    deleteCommands = []
    commands = []
    # separate commands for deletion from the rest so they can be
    # applied in a separate transaction
    for l in sys.stdin.readlines():
        if len(l.strip()) == 0:
            continue
        if "-d" in l or "-D" in l:
            deleteCommands.append(l)
        else:
            commands.append(l)

    if deleteCommands:
        importHelper(deleteCommands)
        trans.finish()
        trans.start()

    importHelper(commands)
    trans.finish()


def importHelper(commands):
    for l in commands:
        try:
            commandParser = createCommandParser()
            args = commandParser.parse_args(mkargv(l))
            args.func(args)
        except ValueError as e:
            sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e)))
            sys.exit(1)
        except IOError as e:
            sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e)))
            sys.exit(1)
        except KeyboardInterrupt:
            sys.exit(0)


def setupImportParser(subparsers):
    importParser = subparsers.add_parser('import', help=_('Import local customizations'))
    parser_add_noreload(importParser, "import")
    parser_add_store(importParser, "import")
    importParser.add_argument('-f', '--input_file', dest='input_file', action=SetImportFile, help=_('Input file'))
    importParser.set_defaults(func=handleImport)


def createCommandParser():
    commandParser = seParser(prog='semanage',
                             formatter_class=argparse.ArgumentDefaultsHelpFormatter,
                             description=_(
            "semanage is used to configure certain elements of SELinux policy with-out requiring modification or recompilation from policy source."
                             ))

    #To add a new subcommand define the parser for it in a function above and call it here.
    subparsers = commandParser.add_subparsers(dest='subcommand')
    subparsers.required = True
    setupImportParser(subparsers)
    setupExportParser(subparsers)
    setupLoginParser(subparsers)
    setupUserParser(subparsers)
    setupPortParser(subparsers)
    setupPkeyParser(subparsers)
    setupIbendportParser(subparsers)
    setupInterfaceParser(subparsers)
    setupModuleParser(subparsers)
    setupNodeParser(subparsers)
    setupFcontextParser(subparsers)
    setupBooleanParser(subparsers)
    setupPermissiveParser(subparsers)
    setupDontauditParser(subparsers)

    return commandParser


def make_io_args(args):
    # import/export backward compatibility
    args_origin = ["-S", "-o", "-i", "targeted", "minimum", "mls"]
    args_file = []
    args_ie = []
    args_subcommand = []

    for i in args:
        if i == "-o":
            args_subcommand = ["export"]
            continue
        if i == "-i":
            args_subcommand = ["import"]
            continue
        if i not in args_origin:
            args_file = ["-f", i]
            continue
        args_ie.append(i)

    return args_subcommand + args_ie + args_file


def make_args(sys_args):
    args = []
    if "-o" in sys_args[1:] or "-i" in sys_args[1:]:
        args = make_io_args(sys_args[1:])
    else:
        args = sys_args[1:]

    return args


def do_parser():
    try:
        commandParser = createCommandParser()
        args = commandParser.parse_args(make_args(sys.argv))
        args.func(args)
        sys.exit(0)
    except BrokenPipeError as e:
        sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e)))
        # Python flushes standard streams on exit; redirect remaining output
        # to devnull to avoid another BrokenPipeError at shutdown
        devnull = os.open(os.devnull, os.O_WRONLY)
        os.dup2(devnull, sys.stdout.fileno())
        sys.exit(1)
    except OSError as e:
        sys.stderr.write("%s: %s\n" % (e.__class__.__name__, e.args[1]))
        sys.exit(1)
    except KeyboardInterrupt:
        sys.exit(0)
    except ValueError as e:
        sys.stderr.write("%s: %s\n" % (e.__class__.__name__, e.args[0]))
        sys.exit(1)
    except KeyError as e:
        sys.stderr.write("%s: %s\n" % (e.__class__.__name__, e.args[0]))
        sys.exit(1)
    except RuntimeError as e:
        sys.stderr.write("%s: %s\n" % (e.__class__.__name__, e.args[0]))
        sys.exit(1)

if __name__ == '__main__':
    do_parser()

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]

Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
20 Aug 2026 6.54 PM
root / root
0755
NetworkManager
3.71 MB
24 Aug 2026 11.56 AM
root / root
0755
accessdb
15.422 KB
21 Sep 2025 12.57 PM
root / root
0755
addgnupghome
3.007 KB
18 Mar 2019 6.40 PM
root / root
0755
addpart
15.156 KB
4 Apr 2026 10.15 PM
root / root
0755
adduser
137.836 KB
8 Apr 2026 7.49 PM
root / root
0755
agetty
56.711 KB
4 Apr 2026 10.15 PM
root / root
0755
alternatives
39.594 KB
12 Mar 2025 10.43 AM
root / root
0755
anacron
39.516 KB
9 Apr 2026 5.59 AM
root / root
0755
apachectl
4.695 KB
8 Sep 2026 10.50 PM
root / root
0755
applygnupgdefaults
2.169 KB
25 Jan 2018 3.06 PM
root / root
0755
arp
63.211 KB
2 Oct 2024 7.02 PM
root / root
0755
arping
27.25 KB
20 Oct 2025 12.44 PM
root / root
0755
arptables
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
arptables-nft
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
arptables-nft-restore
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
arptables-nft-save
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
arptables-restore
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
arptables-save
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
atd
31.258 KB
12 Nov 2025 12.38 AM
root / root
0755
atrun
0.068 KB
12 Nov 2025 12.38 AM
root / root
0755
auditctl
51.586 KB
4 Apr 2026 8.12 PM
root / root
0755
auditd
137.047 KB
4 Apr 2026 8.12 PM
root / root
0755
augenrules
4.049 KB
4 Apr 2026 8.12 PM
root / root
0755
aureport
120.305 KB
4 Apr 2026 8.12 PM
root / root
0755
ausearch
120.273 KB
4 Apr 2026 8.12 PM
root / root
0755
authconfig
18.692 KB
12 Mar 2025 2.22 PM
root / root
0755
autrace
19.172 KB
4 Apr 2026 8.12 PM
root / root
0750
avcstat
15.352 KB
12 Mar 2025 11.36 PM
root / root
0755
badblocks
35.352 KB
21 Sep 2025 3.03 PM
root / root
0755
biosdecode
28.063 KB
9 Apr 2026 7.32 AM
root / root
0755
blkdeactivate
15.972 KB
3 Jun 2026 10.51 AM
root / root
0555
blkdiscard
23.203 KB
4 Apr 2026 10.15 PM
root / root
0755
blkid
51.609 KB
4 Apr 2026 10.15 PM
root / root
0755
blkmapd
39.414 KB
8 Apr 2026 4.14 PM
root / root
0755
blkzone
35.453 KB
4 Apr 2026 10.15 PM
root / root
0755
blockdev
31.414 KB
4 Apr 2026 10.15 PM
root / root
0755
bridge
130.945 KB
5 Apr 2026 8.31 AM
root / root
0755
capsh
31.211 KB
20 May 2026 10.00 AM
root / root
0755
cfdisk
96.344 KB
4 Apr 2026 10.15 PM
root / root
0755
cgdisk
150.859 KB
30 Jan 2022 11.44 PM
root / root
0755
chcpu
31.422 KB
4 Apr 2026 10.15 PM
root / root
0755
chgpasswd
59.766 KB
8 Apr 2026 7.49 PM
root / root
0755
chkconfig
43.781 KB
12 Mar 2025 10.43 AM
root / root
0755
chpasswd
55.633 KB
8 Apr 2026 7.49 PM
root / root
0755
chronyd
373.578 KB
9 Apr 2026 12.49 AM
root / root
0755
chroot
39.555 KB
10 Sep 2026 5.32 PM
root / root
0755
clock
59.766 KB
4 Apr 2026 10.15 PM
root / root
0755
consoletype
15.281 KB
12 Mar 2025 7.47 PM
root / root
0755
convertquota
69.008 KB
12 Mar 2025 8.44 PM
root / root
0755
cracklib-check
15.109 KB
9 Apr 2026 5.18 AM
root / root
0755
cracklib-format
0.249 KB
9 Apr 2026 5.18 AM
root / root
0755
cracklib-packer
15.109 KB
9 Apr 2026 5.18 AM
root / root
0755
cracklib-unpacker
15.102 KB
9 Apr 2026 5.18 AM
root / root
0755
create-cracklib-dict
0.971 KB
18 Aug 2015 6.41 PM
root / root
0755
crond
76.164 KB
9 Apr 2026 5.59 AM
root / root
0755
ctrlaltdel
15.188 KB
4 Apr 2026 10.15 PM
root / root
0755
ctstat
23.594 KB
5 Apr 2026 8.31 AM
root / root
0755
dcb
94.688 KB
5 Apr 2026 8.31 AM
root / root
0755
ddns-confgen
27.258 KB
13 Aug 2026 11.36 AM
root / root
0755
debugfs
233.031 KB
21 Sep 2025 3.03 PM
root / root
0755
delpart
15.117 KB
4 Apr 2026 10.15 PM
root / root
0755
depmod
165.57 KB
18 Sep 2025 11.41 AM
root / root
0755
devlink
165.836 KB
5 Apr 2026 8.31 AM
root / root
0755
dmfilemapd
23.297 KB
3 Jun 2026 10.52 AM
root / root
0555
dmidecode
164.313 KB
9 Apr 2026 7.32 AM
root / root
0755
dmsetup
156.773 KB
3 Jun 2026 10.52 AM
root / root
0555
dmstats
156.773 KB
3 Jun 2026 10.52 AM
root / root
0555
dnssec-cds
47.672 KB
13 Aug 2026 11.36 AM
root / root
0755
dnssec-checkds
0.902 KB
13 Aug 2026 11.35 AM
root / root
0755
dnssec-coverage
0.904 KB
13 Aug 2026 11.35 AM
root / root
0755
dnssec-dsfromkey
39.438 KB
13 Aug 2026 11.36 AM
root / root
0755
dnssec-importkey
35.438 KB
13 Aug 2026 11.36 AM
root / root
0755
dnssec-keyfromlabel
39.422 KB
13 Aug 2026 11.36 AM
root / root
0755
dnssec-keygen
47.445 KB
13 Aug 2026 11.36 AM
root / root
0755
dnssec-keymgr
0.9 KB
13 Aug 2026 11.35 AM
root / root
0755
dnssec-revoke
31.414 KB
13 Aug 2026 11.36 AM
root / root
0755
dnssec-settime
47.438 KB
13 Aug 2026 11.36 AM
root / root
0755
dnssec-signzone
95.883 KB
13 Aug 2026 11.36 AM
root / root
0755
dnssec-verify
31.445 KB
13 Aug 2026 11.36 AM
root / root
0755
dosfsck
84.563 KB
29 Jan 2022 6.41 PM
root / root
0755
dosfslabel
40.016 KB
29 Jan 2022 6.41 PM
root / root
0755
dovecot
144.023 KB
31 Aug 2026 4.03 PM
root / root
0755
dovecot_cpshutdown
3.266 KB
31 Aug 2026 12.00 AM
root / root
0755
dpll
48.156 KB
5 Apr 2026 8.31 AM
root / root
0755
dumpe2fs
31.289 KB
21 Sep 2025 3.03 PM
root / root
0755
e2freefrag
15.188 KB
21 Sep 2025 3.03 PM
root / root
0755
e2fsck
356.086 KB
21 Sep 2025 3.03 PM
root / root
0755
e2image
43.414 KB
21 Sep 2025 3.03 PM
root / root
0755
e2label
104.461 KB
21 Sep 2025 3.03 PM
root / root
0755
e2mmpstatus
31.289 KB
21 Sep 2025 3.03 PM
root / root
0755
e2undo
23.156 KB
21 Sep 2025 3.03 PM
root / root
0755
e4crypt
31.297 KB
21 Sep 2025 3.03 PM
root / root
0755
e4defrag
31.258 KB
21 Sep 2025 3.03 PM
root / root
0755
ebtables
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ebtables-nft
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ebtables-nft-restore
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ebtables-nft-save
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ebtables-restore
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ebtables-save
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ebtables-translate
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
edquota
89.5 KB
12 Mar 2025 8.44 PM
root / root
0755
efibootdump
23.867 KB
30 Jan 2022 5.12 AM
root / root
0755
efibootmgr
45.18 KB
30 Jan 2022 5.12 AM
root / root
0755
ether-wake
50.242 KB
2 Oct 2024 7.02 PM
root / root
0755
ethtool
988.961 KB
20 Oct 2025 2.14 PM
root / root
0755
exicyclog
11.099 KB
10 Sep 2026 2.30 PM
root / root
0755
exigrep
11.436 KB
10 Sep 2026 2.30 PM
root / root
0755
exim
1.65 MB
10 Sep 2026 2.30 PM
root / root
4755
exim_checkaccess
4.827 KB
10 Sep 2026 2.30 PM
root / root
0755
exim_dbmbuild
22.5 KB
10 Sep 2026 2.30 PM
root / root
0755
exim_dumpdb
40.891 KB
10 Sep 2026 2.30 PM
root / root
0755
exim_fixdb
45.273 KB
10 Sep 2026 2.30 PM
root / root
0755
exim_lock
22.781 KB
10 Sep 2026 2.30 PM
root / root
0755
exim_tidydb
32.688 KB
10 Sep 2026 2.30 PM
root / root
0755
eximstats
148.971 KB
10 Sep 2026 2.30 PM
root / root
0755
exinext
8.024 KB
10 Sep 2026 2.30 PM
root / root
0755
exiqgrep
6.581 KB
10 Sep 2026 2.30 PM
root / root
0755
exiqsumm
6.292 KB
10 Sep 2026 2.30 PM
root / root
0755
exiwhat
4.418 KB
10 Sep 2026 2.30 PM
root / root
0755
exportfs
68.469 KB
8 Apr 2026 4.14 PM
root / root
0755
faillock
23.18 KB
8 Sep 2026 12.43 PM
root / root
0755
fancontrol
17.179 KB
10 Feb 2022 7.46 AM
root / root
0755
fatlabel
40.016 KB
29 Jan 2022 6.41 PM
root / root
0755
fcgistarter
24.711 KB
8 Sep 2026 10.56 PM
root / root
0755
fdformat
23.188 KB
4 Apr 2026 10.15 PM
root / root
0755
fdisk
112.07 KB
4 Apr 2026 10.15 PM
root / root
0755
filefrag
19.219 KB
21 Sep 2025 3.03 PM
root / root
0755
findfs
15.156 KB
4 Apr 2026 10.15 PM
root / root
0755
firewalld
9.755 KB
4 Aug 2026 8.19 PM
root / root
0755
fix-info-dir
7.849 KB
1 May 2022 1.12 PM
root / root
0755
fixfiles
12.097 KB
4 Apr 2026 11.51 PM
root / root
0755
fixparts
60.977 KB
30 Jan 2022 11.44 PM
root / root
0755
flashrom
911.977 KB
11 Feb 2022 9.46 PM
root / root
0755
fsck
43.547 KB
4 Apr 2026 10.15 PM
root / root
0755
fsck.cramfs
31.375 KB
4 Apr 2026 10.15 PM
root / root
0755
fsck.ext2
356.086 KB
21 Sep 2025 3.03 PM
root / root
0755
fsck.ext3
356.086 KB
21 Sep 2025 3.03 PM
root / root
0755
fsck.ext4
356.086 KB
21 Sep 2025 3.03 PM
root / root
0755
fsck.fat
84.563 KB
29 Jan 2022 6.41 PM
root / root
0755
fsck.minix
55.711 KB
4 Apr 2026 10.15 PM
root / root
0755
fsck.msdos
84.563 KB
29 Jan 2022 6.41 PM
root / root
0755
fsck.vfat
84.563 KB
29 Jan 2022 6.41 PM
root / root
0755
fsck.xfs
2.537 KB
21 Sep 2025 1.01 PM
root / root
0755
fsfreeze
15.148 KB
4 Apr 2026 10.15 PM
root / root
0755
fstrim
43.5 KB
4 Apr 2026 10.15 PM
root / root
0755
fuser
41.086 KB
25 Mar 2022 3.53 PM
root / root
0755
g13-syshelp
88.602 KB
15 Jan 2026 9.34 PM
root / root
0755
gdisk
187.383 KB
30 Jan 2022 11.44 PM
root / root
0755
genhomedircon
32.039 KB
4 Apr 2026 11.52 PM
root / root
0755
genhostid
15.281 KB
12 Mar 2025 7.47 PM
root / root
0755
genl
130.148 KB
5 Apr 2026 8.31 AM
root / root
0755
getcap
15.133 KB
20 May 2026 10.00 AM
root / root
0755
getenforce
15.273 KB
12 Mar 2025 11.36 PM
root / root
0755
getpcaps
15.125 KB
20 May 2026 10.00 AM
root / root
0755
getpidprevcon
15.289 KB
12 Mar 2025 11.36 PM
root / root
0755
getpolicyload
15.281 KB
12 Mar 2025 11.36 PM
root / root
0755
getsebool
15.297 KB
12 Mar 2025 11.36 PM
root / root
0755
groupadd
68.773 KB
8 Apr 2026 7.49 PM
root / root
0755
groupdel
64.531 KB
8 Apr 2026 7.49 PM
root / root
0755
groupmems
55.773 KB
8 Apr 2026 7.49 PM
root / root
0755
groupmod
72.758 KB
8 Apr 2026 7.49 PM
root / root
0755
grpck
59.758 KB
8 Apr 2026 7.49 PM
root / root
0755
grpconv
51.563 KB
8 Apr 2026 7.49 PM
root / root
0755
grpunconv
51.531 KB
8 Apr 2026 7.49 PM
root / root
0755
grub2-bios-setup
1.67 MB
6 Apr 2026 12.55 PM
root / root
0755
grub2-get-kernel-settings
2.682 KB
6 Apr 2026 12.55 PM
root / root
0755
grub2-install
1.97 MB
6 Apr 2026 12.55 PM
root / root
0755
grub2-macbless
1.65 MB
6 Apr 2026 12.55 PM
root / root
0755
grub2-mkconfig
9.21 KB
6 Apr 2026 12.55 PM
root / root
0755
grub2-probe
1.67 MB
6 Apr 2026 12.55 PM
root / root
0755
grub2-reboot
4.701 KB
6 Apr 2026 12.55 PM
root / root
0755
grub2-set-bootflag
15.094 KB
6 Apr 2026 12.55 PM
root / root
4755
grub2-set-default
3.455 KB
6 Apr 2026 12.55 PM
root / root
0755
grub2-set-password
2.743 KB
6 Apr 2026 12.55 PM
root / root
0755
grub2-setpassword
2.743 KB
6 Apr 2026 12.55 PM
root / root
0755
grub2-switch-to-blscfg
8.813 KB
6 Apr 2026 12.55 PM
root / root
0755
grubby
0.254 KB
14 Apr 2026 4.50 PM
root / root
0755
gssproxy
124.891 KB
2 Oct 2024 11.09 PM
root / root
0755
halt
298.414 KB
25 Jun 2026 12.28 AM
root / root
0755
htcacheclean
52.805 KB
8 Sep 2026 10.56 PM
root / root
0755
httpd
1.821 KB
12 Sep 2026 4.57 AM
root / nobody
0755
httpd_ls_bak
1.09 MB
8 Sep 2026 10.56 PM
root / root
0755
httpd_ls_bak_bak
1.09 MB
11 Aug 2026 10.34 PM
root / root
0755
hwclock
59.766 KB
4 Apr 2026 10.15 PM
root / root
0755
iconvconfig
31.672 KB
3 Aug 2026 10.14 AM
root / root
0755
ifconfig
78.984 KB
2 Oct 2024 7.02 PM
root / root
0755
ifenslave
23.734 KB
20 Oct 2025 12.44 PM
root / root
0755
ifstat
39.602 KB
5 Apr 2026 8.31 AM
root / root
0755
imunify-notifier
9.85 MB
7 Jul 2026 8.56 AM
root / root
0755
init
95.742 KB
25 Jun 2026 12.28 AM
root / root
0755
insmod
165.57 KB
18 Sep 2025 11.41 AM
root / root
0755
install-info
106.695 KB
1 May 2022 1.12 PM
root / root
0755
installkernel
0.315 KB
14 Apr 2026 4.50 PM
root / root
0755
intel_sdsi
22.43 KB
11 Sep 2026 1.34 PM
root / root
0755
ip
774.32 KB
5 Apr 2026 8.31 AM
root / root
0755
ip6tables
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ip6tables-nft
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ip6tables-nft-restore
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ip6tables-nft-save
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ip6tables-restore
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ip6tables-restore-translate
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ip6tables-save
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ip6tables-translate
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
ipmaddr
19.445 KB
2 Oct 2024 7.02 PM
root / root
0755
ipset
15.273 KB
4 Feb 2025 3.39 AM
root / root
0755
ipset-translate
15.273 KB
4 Feb 2025 3.39 AM
root / root
0755
iptables
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
iptables-nft
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
iptables-nft-restore
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
iptables-nft-save
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
iptables-restore
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
iptables-restore-translate
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
iptables-save
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
iptables-translate
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
iptunnel
19.5 KB
2 Oct 2024 7.02 PM
root / root
0755
irqbalance
64.445 KB
8 Apr 2026 4.40 PM
root / root
0755
irqbalance-ui
39.586 KB
8 Apr 2026 4.40 PM
root / root
0755
isadump
15.727 KB
10 Feb 2022 7.46 AM
root / root
0755
isaset
15.813 KB
10 Feb 2022 7.46 AM
root / root
0755
kexec
192.594 KB
8 Apr 2026 6.11 PM
root / root
0755
key.dns_resolver
31.352 KB
5 Apr 2023 7.15 PM
root / root
0755
kpartx
47.523 KB
5 Apr 2026 12.24 AM
root / root
0755
lchage
23.164 KB
21 Sep 2025 10.53 AM
root / root
0755
ldattach
27.227 KB
4 Apr 2026 10.15 PM
root / root
0755
ldconfig
1.12 MB
3 Aug 2026 10.14 AM
root / root
0755
lgroupadd
15.117 KB
21 Sep 2025 10.53 AM
root / root
0755
lgroupdel
15.109 KB
21 Sep 2025 10.53 AM
root / root
0755
lgroupmod
23.125 KB
21 Sep 2025 10.53 AM
root / root
0755
lid
19.133 KB
21 Sep 2025 10.53 AM
root / root
0755
lnewusers
23.125 KB
21 Sep 2025 10.53 AM
root / root
0755
lnstat
23.594 KB
5 Apr 2026 8.31 AM
root / root
0755
load_policy
15.117 KB
4 Apr 2026 11.52 PM
root / root
0755
logrotate
95.664 KB
21 Sep 2025 12.04 PM
root / root
0755
logsave
15.188 KB
21 Sep 2025 3.03 PM
root / root
0755
losetup
72.086 KB
4 Apr 2026 10.15 PM
root / root
0755
lpasswd
23.125 KB
21 Sep 2025 10.53 AM
root / root
0755
lshw
853.578 KB
9 Apr 2026 6.29 PM
root / root
0755
lsmod
165.57 KB
18 Sep 2025 11.41 AM
root / root
0755
lspci
97.57 KB
12 Mar 2025 8.27 PM
root / root
0755
luseradd
23.125 KB
21 Sep 2025 10.53 AM
root / root
0755
luserdel
15.117 KB
21 Sep 2025 10.53 AM
root / root
0755
lusermod
23.133 KB
21 Sep 2025 10.53 AM
root / root
0755
makedumpfile
431.844 KB
8 Apr 2026 6.11 PM
root / root
0755
mariadbd
25.22 MB
19 Aug 2026 10.03 AM
root / root
0755
matchpathcon
15.313 KB
12 Mar 2025 11.36 PM
root / root
0755
md-auto-readd.sh
0.392 KB
28 Jul 2026 10.33 AM
root / root
0755
mdadm
633.945 KB
28 Jul 2026 10.36 AM
root / root
0755
mdmon
296.344 KB
28 Jul 2026 10.36 AM
root / root
0755
mii-diag
24.195 KB
2 Oct 2024 7.02 PM
root / root
0755
mii-tool
27.781 KB
2 Oct 2024 7.02 PM
root / root
0755
mkdict
0.249 KB
9 Apr 2026 5.18 AM
root / root
0755
mkdosfs
52.508 KB
29 Jan 2022 6.41 PM
root / root
0755
mkdumprd
12.127 KB
8 Apr 2026 6.11 PM
root / root
0755
mke2fs
132.531 KB
21 Sep 2025 3.03 PM
root / root
0755
mkfs
15.172 KB
4 Apr 2026 10.15 PM
root / root
0755
mkfs.cramfs
35.375 KB
4 Apr 2026 10.15 PM
root / root
0755
mkfs.ext2
132.531 KB
21 Sep 2025 3.03 PM
root / root
0755
mkfs.ext3
132.531 KB
21 Sep 2025 3.03 PM
root / root
0755
mkfs.ext4
132.531 KB
21 Sep 2025 3.03 PM
root / root
0755
mkfs.fat
52.508 KB
29 Jan 2022 6.41 PM
root / root
0755
mkfs.minix
43.555 KB
4 Apr 2026 10.15 PM
root / root
0755
mkfs.msdos
52.508 KB
29 Jan 2022 6.41 PM
root / root
0755
mkfs.vfat
52.508 KB
29 Jan 2022 6.41 PM
root / root
0755
mkfs.xfs
450.773 KB
21 Sep 2025 1.02 PM
root / root
0755
mkhomedir_helper
23.211 KB
8 Sep 2026 12.43 PM
root / root
0755
mklost+found
15.117 KB
21 Sep 2025 3.03 PM
root / root
0755
mksquashfs
197.617 KB
3 Apr 2024 1.45 PM
root / root
0755
mkswap
47.5 KB
4 Apr 2026 10.15 PM
root / root
0755
modinfo
165.57 KB
18 Sep 2025 11.41 AM
root / root
0755
modprobe
165.57 KB
18 Sep 2025 11.41 AM
root / root
0755
modsec-sdbm-util
33.563 KB
11 Aug 2026 10.29 PM
root / root
0750
mount.fuse
15.336 KB
12 Mar 2025 7.30 PM
root / root
0755
mount.nfs
100.523 KB
8 Apr 2026 4.14 PM
root / root
4755
mount.nfs4
100.523 KB
8 Apr 2026 4.14 PM
root / root
4755
mountstats
42.499 KB
8 Apr 2026 4.13 PM
root / root
0755
mysqld
25.22 MB
19 Aug 2026 10.03 AM
root / root
0755
named
545.023 KB
13 Aug 2026 11.36 AM
root / root
0755
named-checkconf
39.398 KB
13 Aug 2026 11.36 AM
root / root
0755
named-checkzone
39.344 KB
13 Aug 2026 11.36 AM
root / root
0755
named-compilezone
39.344 KB
13 Aug 2026 11.36 AM
root / root
0755
named-journalprint
15.133 KB
13 Aug 2026 11.36 AM
root / root
0755
named-nzd2nzf
15.117 KB
13 Aug 2026 11.36 AM
root / root
0755
nameif
15.578 KB
2 Oct 2024 7.02 PM
root / root
0755
newusers
88.703 KB
8 Apr 2026 7.49 PM
root / root
0755
nfsconf
39.859 KB
8 Apr 2026 4.14 PM
root / root
0755
nfsdcld
55.867 KB
8 Apr 2026 4.14 PM
root / root
0755
nfsdclddb
9.99 KB
8 Apr 2026 4.13 PM
root / root
0755
nfsdclnts
9.054 KB
8 Apr 2026 4.13 PM
root / root
0755
nfsdcltrack
39.914 KB
8 Apr 2026 4.14 PM
root / root
0755
nfsidmap
23.297 KB
8 Apr 2026 4.14 PM
root / root
0755
nfsiostat
23.35 KB
8 Apr 2026 4.13 PM
root / root
0755
nfsref
43.516 KB
8 Apr 2026 4.14 PM
root / root
0755
nfsstat
38.273 KB
8 Apr 2026 4.14 PM
root / root
0755
nft
27.172 KB
26 Aug 2026 12.09 PM
root / root
0755
nologin
15.156 KB
4 Apr 2026 10.15 PM
root / root
0755
nscd
162.945 KB
3 Aug 2026 10.14 AM
root / root
0755
nsec3hash
15.195 KB
13 Aug 2026 11.36 AM
root / root
0755
nstat
31.336 KB
5 Apr 2026 8.31 AM
root / root
0755
nvme
1.61 MB
8 Apr 2026 7.02 PM
root / root
0755
oddjobd
71.836 KB
7 Apr 2023 12.20 AM
root / root
0755
ownership
15.133 KB
9 Apr 2026 7.32 AM
root / root
0755
packer
15.109 KB
9 Apr 2026 5.18 AM
root / root
0755
pam_console_apply
43.508 KB
8 Sep 2026 12.43 PM
root / root
0755
pam_namespace_helper
0.46 KB
8 Sep 2026 12.42 PM
root / root
0755
pam_timestamp_check
15.133 KB
8 Sep 2026 12.43 PM
root / root
4755
paperconfig
4.075 KB
10 Feb 2022 1.15 AM
root / root
0755
parted
96.391 KB
12 Mar 2025 8.00 PM
root / root
0755
partprobe
15.336 KB
12 Mar 2025 8.00 PM
root / root
0755
partx
59.766 KB
4 Apr 2026 10.15 PM
root / root
0755
pdns_server
5.88 MB
10 Aug 2026 7.14 PM
root / root
0755
pidof
23.328 KB
30 Apr 2024 4.43 PM
root / root
0755
ping
89.328 KB
20 Oct 2025 12.44 PM
root / root
0755
ping6
89.328 KB
20 Oct 2025 12.44 PM
root / root
0755
pivot_root
15.156 KB
4 Apr 2026 10.15 PM
root / root
0755
plipconfig
15.352 KB
2 Oct 2024 7.02 PM
root / root
0755
poweroff
298.414 KB
25 Jun 2026 12.28 AM
root / root
0755
pwck
55.602 KB
8 Apr 2026 7.49 PM
root / root
0755
pwconv
47.445 KB
8 Apr 2026 7.49 PM
root / root
0755
pwhistory_helper
19.195 KB
8 Sep 2026 12.43 PM
root / root
0755
pwmconfig
22.91 KB
10 Feb 2022 7.46 AM
root / root
0755
pwunconv
47.406 KB
8 Apr 2026 7.49 PM
root / root
0755
quotacheck
93.617 KB
12 Mar 2025 8.44 PM
root / root
0755
quotaoff
56.672 KB
12 Mar 2025 8.44 PM
root / root
0755
quotaon
56.672 KB
12 Mar 2025 8.44 PM
root / root
0755
quotastats
15.336 KB
12 Mar 2025 8.44 PM
root / root
0755
raid-check
3.708 KB
28 Jul 2026 10.33 AM
root / root
0755
rdisc
31.359 KB
20 Oct 2025 12.44 PM
root / root
0755
rdma
117.063 KB
5 Apr 2026 8.31 AM
root / root
0755
readprofile
23.266 KB
4 Apr 2026 10.15 PM
root / root
0755
reboot
298.414 KB
25 Jun 2026 12.28 AM
root / root
0755
repquota
77.555 KB
12 Mar 2025 8.44 PM
root / root
0755
request-key
27.289 KB
5 Apr 2023 7.15 PM
root / root
0755
resize2fs
67.641 KB
21 Sep 2025 3.03 PM
root / root
0755
resizepart
23.398 KB
4 Apr 2026 10.15 PM
root / root
0755
restorecon
23.188 KB
4 Apr 2026 11.52 PM
root / root
0755
restorecon_xattr
15.125 KB
4 Apr 2026 11.52 PM
root / root
0755
rfkill
31.344 KB
4 Apr 2026 10.15 PM
root / root
0755
rmmod
165.57 KB
18 Sep 2025 11.41 AM
root / root
0755
rndc
43.25 KB
13 Aug 2026 11.36 AM
root / root
0755
rndc-confgen
23.258 KB
13 Aug 2026 11.36 AM
root / root
0755
rotatelogs
38.133 KB
8 Sep 2026 10.56 PM
root / root
0755
route
65.773 KB
2 Oct 2024 7.02 PM
root / root
0755
rpc.gssd
88.109 KB
8 Apr 2026 4.14 PM
root / root
0755
rpc.idmapd
47.734 KB
8 Apr 2026 4.14 PM
root / root
0755
rpc.mountd
132.555 KB
8 Apr 2026 4.14 PM
root / root
0755
rpc.nfsd
40 KB
8 Apr 2026 4.14 PM
root / root
0755
rpc.statd
80.789 KB
8 Apr 2026 4.14 PM
root / root
0755
rpcbind
59.891 KB
3 Apr 2024 1.53 PM
root / root
0755
rpcctl
9.419 KB
8 Apr 2026 4.13 PM
root / root
0755
rpcdebug
18.656 KB
8 Apr 2026 4.14 PM
root / root
0755
rpcinfo
35.578 KB
3 Apr 2024 1.53 PM
root / root
0755
rsyslogd
806.875 KB
14 Apr 2026 8.44 PM
root / root
0755
rtacct
29.344 KB
5 Apr 2026 8.31 AM
root / root
0755
rtcwake
35.258 KB
4 Apr 2026 10.15 PM
root / root
0755
rtkitctl
15.242 KB
2 Oct 2024 9.35 PM
root / root
0755
rtmon
126.055 KB
5 Apr 2026 8.31 AM
root / root
0755
rtstat
23.594 KB
5 Apr 2026 8.31 AM
root / root
0755
runlevel
298.414 KB
25 Jun 2026 12.28 AM
root / root
0755
runq
1.65 MB
10 Sep 2026 2.30 PM
root / root
4755
runuser
55.609 KB
4 Apr 2026 10.15 PM
root / root
0755
sasldblistusers2
15.273 KB
25 Sep 2025 11.46 AM
root / root
0755
saslpasswd2
15.242 KB
25 Sep 2025 11.46 AM
root / root
0755
sefcontext_compile
72.383 KB
12 Mar 2025 11.36 PM
root / root
0755
selabel_digest
15.313 KB
12 Mar 2025 11.36 PM
root / root
0755
selabel_get_digests_all_partial_matches
15.328 KB
12 Mar 2025 11.36 PM
root / root
0755
selabel_lookup
15.305 KB
12 Mar 2025 11.36 PM
root / root
0755
selabel_lookup_best_match
15.313 KB
12 Mar 2025 11.36 PM
root / root
0755
selabel_partial_match
15.305 KB
12 Mar 2025 11.36 PM
root / root
0755
selinux_check_access
15.313 KB
12 Mar 2025 11.36 PM
root / root
0755
selinuxconlist
15.305 KB
12 Mar 2025 11.36 PM
root / root
0755
selinuxdefcon
15.305 KB
12 Mar 2025 11.36 PM
root / root
0755
selinuxenabled
15.273 KB
12 Mar 2025 11.36 PM
root / root
0755
selinuxexeccon
15.289 KB
12 Mar 2025 11.36 PM
root / root
0755
semanage
40.639 KB
5 Apr 2026 11.05 AM
root / root
0755
semodule
32.039 KB
4 Apr 2026 11.52 PM
root / root
0755
sendmail
18.078 KB
10 Sep 2026 2.30 PM
root / mailtrap
2755
sensors-detect
214.764 KB
10 Feb 2022 7.46 AM
root / root
0755
service
4.515 KB
27 Aug 2024 11.35 AM
root / root
0755
sestatus
23.125 KB
4 Apr 2026 11.52 PM
root / root
0755
setcap
15.125 KB
20 May 2026 10.00 AM
root / root
0755
setenforce
15.297 KB
12 Mar 2025 11.36 PM
root / root
0755
setfiles
23.188 KB
4 Apr 2026 11.52 PM
root / root
0755
setpci
31.352 KB
12 Mar 2025 8.27 PM
root / root
0755
setquota
81.578 KB
12 Mar 2025 8.44 PM
root / root
0755
setsebool
19.148 KB
4 Apr 2026 11.52 PM
root / root
0755
sfdisk
103.984 KB
4 Apr 2026 10.15 PM
root / root
0755
sgdisk
167.141 KB
30 Jan 2022 11.44 PM
root / root
0755
showmount
15.477 KB
8 Apr 2026 4.14 PM
root / root
0755
shutdown
298.414 KB
25 Jun 2026 12.28 AM
root / root
0755
skdump
19.609 KB
9 Feb 2022 9.01 PM
root / root
0755
sktest
15.508 KB
9 Feb 2022 9.01 PM
root / root
0755
slattach
37.57 KB
2 Oct 2024 7.02 PM
root / root
0755
sm-notify
51.773 KB
8 Apr 2026 4.14 PM
root / root
0755
smartctl
853.836 KB
8 Apr 2026 8.38 PM
root / root
0755
smartd
615.469 KB
8 Apr 2026 8.38 PM
root / root
0755
ss
131.32 KB
5 Apr 2026 8.31 AM
root / root
0755
sshd
406.898 KB
29 Jul 2026 11.09 PM
root / root
0755
sss_cache
35.25 KB
23 Jul 2026 7.31 PM
root / root
0755
sssd
71.609 KB
23 Jul 2026 7.31 PM
root / root
0755
start-statd
1.003 KB
10 Jun 2021 6.07 PM
root / root
0755
start-stop-daemon
48.648 KB
23 Mar 2026 1.44 PM
root / root
0755
suexec
37.602 KB
8 Sep 2026 10.56 PM
root / nobody
4755
sulogin
43.398 KB
4 Apr 2026 10.15 PM
root / root
0755
sw-engine-fpm
24.14 MB
1 Jan 1990 12.00 PM
root / root
0755
swaplabel
19.188 KB
4 Apr 2026 10.15 PM
root / root
0755
swapoff
23.266 KB
4 Apr 2026 10.15 PM
root / root
0755
swapon
43.313 KB
4 Apr 2026 10.15 PM
root / root
0755
switch_root
23.203 KB
4 Apr 2026 10.15 PM
root / root
0755
sysctl
31.492 KB
30 Apr 2024 4.43 PM
root / root
0755
tc
640.094 KB
5 Apr 2026 8.31 AM
root / root
0755
telinit
298.414 KB
25 Jun 2026 12.28 AM
root / root
0755
tipc
92.797 KB
5 Apr 2026 8.31 AM
root / root
0755
tmpwatch
36.031 KB
11 Feb 2022 11.52 AM
root / root
0755
tracepath
19.219 KB
20 Oct 2025 12.44 PM
root / root
0755
tracepath6
19.219 KB
20 Oct 2025 12.44 PM
root / root
0755
tsig-keygen
27.258 KB
13 Aug 2026 11.36 AM
root / root
0755
tune2fs
104.461 KB
21 Sep 2025 3.03 PM
root / root
0755
udevadm
587.852 KB
25 Jun 2026 12.28 AM
root / root
0755
umount.nfs
100.523 KB
8 Apr 2026 4.14 PM
root / root
4755
umount.nfs4
100.523 KB
8 Apr 2026 4.14 PM
root / root
4755
umount.udisks2
15.133 KB
20 Oct 2025 1.58 PM
root / root
0755
unix_chkpwd
23.289 KB
8 Sep 2026 12.43 PM
root / root
4755
unix_update
31.328 KB
8 Sep 2026 12.43 PM
root / root
0700
unsquashfs
113.805 KB
3 Apr 2024 1.45 PM
root / root
0755
update-alternatives
39.594 KB
12 Mar 2025 10.43 AM
root / root
0755
update-pciids
1.716 KB
12 Mar 2025 8.27 PM
root / root
0755
update-smart-drivedb
23.325 KB
8 Apr 2026 8.37 PM
root / root
0755
useradd
137.836 KB
8 Apr 2026 7.49 PM
root / root
0755
userdel
88.836 KB
8 Apr 2026 7.49 PM
root / root
0755
usermod
129.664 KB
8 Apr 2026 7.49 PM
root / root
0755
validatetrans
15.289 KB
12 Mar 2025 11.36 PM
root / root
0755
vdpa
35.875 KB
5 Apr 2026 8.31 AM
root / root
0755
vigr
58.156 KB
8 Apr 2026 7.49 PM
root / root
0755
vipw
58.156 KB
8 Apr 2026 7.49 PM
root / root
0755
visudo
267.266 KB
21 May 2026 1.23 AM
root / root
0755
vmcore-dmesg
27.297 KB
8 Apr 2026 6.11 PM
root / root
0755
vpddecode
19.148 KB
9 Apr 2026 7.32 AM
root / root
0755
weak-modules
33.578 KB
18 Sep 2025 11.29 AM
root / root
0755
whmapi0
3.32 MB
18 Aug 2026 4.57 AM
root / root
0755
whmapi1
3.32 MB
18 Aug 2026 4.57 AM
root / root
0755
whmlogin
2.334 KB
9 Feb 2022 6.45 PM
root / root
0755
wipefs
39.281 KB
4 Apr 2026 10.15 PM
root / root
0755
xfs_admin
2.127 KB
21 Sep 2025 1.01 PM
root / root
0755
xfs_bmap
0.683 KB
21 Sep 2025 1.01 PM
root / root
0755
xfs_copy
92.617 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_db
708.078 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_estimate
15.164 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_freeze
0.785 KB
21 Sep 2025 1.01 PM
root / root
0755
xfs_fsr
43.508 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_growfs
43.633 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_info
1.268 KB
21 Sep 2025 1.01 PM
root / root
0755
xfs_io
202.594 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_logprint
88.258 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_mdrestore
27.281 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_metadump
0.768 KB
21 Sep 2025 1.01 PM
root / root
0755
xfs_mkfile
1.02 KB
21 Sep 2025 1.01 PM
root / root
0755
xfs_ncheck
0.673 KB
21 Sep 2025 1.01 PM
root / root
0755
xfs_quota
92.102 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_repair
686.234 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_rtcp
19.141 KB
21 Sep 2025 1.02 PM
root / root
0755
xfs_spaceman
43.781 KB
21 Sep 2025 1.02 PM
root / root
0755
xqmstats
15.328 KB
12 Mar 2025 8.44 PM
root / root
0755
xtables-monitor
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
xtables-nft-multi
231.406 KB
4 Feb 2025 3.47 AM
root / root
0755
zic
59.625 KB
3 Aug 2026 10.14 AM
root / root
0755
zramctl
55.867 KB
4 Apr 2026 10.15 PM
root / root
0755

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF