X7ROOT File Manager
Current Path:
/usr/share/setroubleshoot/plugins
usr
/
share
/
setroubleshoot
/
plugins
/
📁
..
📄
__init__.py
(2 B)
📄
__init__.pyc
(132 B)
📄
__init__.pyo
(132 B)
📄
allow_anon_write.py
(3.25 KB)
📄
allow_anon_write.pyc
(3.15 KB)
📄
allow_anon_write.pyo
(3.15 KB)
📄
allow_execheap.py
(2.39 KB)
📄
allow_execheap.pyc
(2.32 KB)
📄
allow_execheap.pyo
(2.32 KB)
📄
allow_execmod.py
(4.5 KB)
📄
allow_execmod.pyc
(4.38 KB)
📄
allow_execmod.pyo
(4.38 KB)
📄
allow_execstack.py
(4.73 KB)
📄
allow_execstack.pyc
(4.87 KB)
📄
allow_execstack.pyo
(4.87 KB)
📄
allow_ftpd_use_cifs.py
(3.31 KB)
📄
allow_ftpd_use_cifs.pyc
(3.05 KB)
📄
allow_ftpd_use_cifs.pyo
(3.05 KB)
📄
allow_ftpd_use_nfs.py
(3.21 KB)
📄
allow_ftpd_use_nfs.pyc
(2.99 KB)
📄
allow_ftpd_use_nfs.pyo
(2.99 KB)
📄
associate.py
(2.15 KB)
📄
associate.pyc
(2.22 KB)
📄
associate.pyo
(2.22 KB)
📄
automount_exec_config.py
(2.3 KB)
📄
automount_exec_config.pyc
(2.23 KB)
📄
automount_exec_config.pyo
(2.23 KB)
📄
bind_ports.py
(2.81 KB)
📄
bind_ports.pyc
(2.82 KB)
📄
bind_ports.pyo
(2.82 KB)
📄
catchall.py
(2.89 KB)
📄
catchall.pyc
(2.85 KB)
📄
catchall.pyo
(2.85 KB)
📄
catchall_boolean.py
(2.87 KB)
📄
catchall_boolean.pyc
(3.07 KB)
📄
catchall_boolean.pyo
(3.07 KB)
📄
catchall_labels.py
(2.21 KB)
📄
catchall_labels.pyc
(2.28 KB)
📄
catchall_labels.pyo
(2.28 KB)
📄
chrome.py
(2.49 KB)
📄
chrome.pyc
(2.46 KB)
📄
chrome.pyo
(2.46 KB)
📄
connect_ports.py
(2.68 KB)
📄
connect_ports.pyc
(2.72 KB)
📄
connect_ports.pyo
(2.72 KB)
📄
cvs_data.py
(2.39 KB)
📄
cvs_data.pyc
(2.21 KB)
📄
cvs_data.pyo
(2.21 KB)
📄
dac_override.py
(2.1 KB)
📄
dac_override.pyc
(1.99 KB)
📄
dac_override.pyo
(1.99 KB)
📄
device.py
(2.73 KB)
📄
device.pyc
(2.57 KB)
📄
device.pyo
(2.57 KB)
📄
disable_ipv6.py
(1.63 KB)
📄
disable_ipv6.pyc
(1.52 KB)
📄
disable_ipv6.pyo
(1.52 KB)
📄
file.py
(2.75 KB)
📄
file.pyc
(2.9 KB)
📄
file.pyo
(2.9 KB)
📄
filesystem_associate.py
(2.46 KB)
📄
filesystem_associate.pyc
(2.41 KB)
📄
filesystem_associate.pyo
(2.41 KB)
📄
httpd_can_sendmail.py
(1.93 KB)
📄
httpd_can_sendmail.pyc
(1.92 KB)
📄
httpd_can_sendmail.pyo
(1.92 KB)
📄
httpd_unified.py
(2.86 KB)
📄
httpd_unified.pyc
(2.73 KB)
📄
httpd_unified.pyo
(2.73 KB)
📄
httpd_write_content.py
(2.11 KB)
📄
httpd_write_content.pyc
(2.02 KB)
📄
httpd_write_content.pyo
(2.02 KB)
📄
kernel_modules.py
(2.76 KB)
📄
kernel_modules.pyc
(2.29 KB)
📄
kernel_modules.pyo
(2.29 KB)
📄
leaks.py
(2.49 KB)
📄
leaks.pyc
(2.4 KB)
📄
leaks.pyo
(2.4 KB)
📄
mmap_zero.py
(2.33 KB)
📄
mmap_zero.pyc
(2.11 KB)
📄
mmap_zero.pyo
(2.11 KB)
📄
mounton.py
(2.48 KB)
📄
mounton.pyc
(2.3 KB)
📄
mounton.pyo
(2.3 KB)
📄
mozplugger.py
(2.78 KB)
📄
mozplugger.pyc
(2.67 KB)
📄
mozplugger.pyo
(2.67 KB)
📄
mozplugger_remove.py
(2.17 KB)
📄
mozplugger_remove.pyc
(2.05 KB)
📄
mozplugger_remove.pyo
(2.05 KB)
📄
openvpn.py
(2.76 KB)
📄
openvpn.pyc
(2.89 KB)
📄
openvpn.pyo
(2.89 KB)
📄
public_content.py
(2.57 KB)
📄
public_content.pyc
(2.5 KB)
📄
public_content.pyo
(2.5 KB)
📄
qemu_blk_image.py
(2.41 KB)
📄
qemu_blk_image.pyc
(2.33 KB)
📄
qemu_blk_image.pyo
(2.33 KB)
📄
qemu_file_image.py
(2.74 KB)
📄
qemu_file_image.pyc
(2.66 KB)
📄
qemu_file_image.pyo
(2.66 KB)
📄
restorecon.py
(5.32 KB)
📄
restorecon.pyc
(5.3 KB)
📄
restorecon.pyo
(5.3 KB)
📄
restorecon_source.py
(3.01 KB)
📄
restorecon_source.pyc
(3.14 KB)
📄
restorecon_source.pyo
(3.14 KB)
📄
rsync_data.py
(2.53 KB)
📄
rsync_data.pyc
(2.37 KB)
📄
rsync_data.pyo
(2.37 KB)
📄
samba_share.py
(2.94 KB)
📄
samba_share.pyc
(2.75 KB)
📄
samba_share.pyo
(2.75 KB)
📄
sandbox_connect.py
(2.23 KB)
📄
sandbox_connect.pyc
(2.13 KB)
📄
sandbox_connect.pyo
(2.13 KB)
📄
selinuxpolicy.py
(3.09 KB)
📄
selinuxpolicy.pyc
(2.4 KB)
📄
selinuxpolicy.pyo
(2.4 KB)
📄
setenforce.py
(2.39 KB)
📄
setenforce.pyc
(2.23 KB)
📄
setenforce.pyo
(2.23 KB)
📄
sshd_root.py
(2.08 KB)
📄
sshd_root.pyc
(1.99 KB)
📄
sshd_root.pyo
(1.99 KB)
📄
swapfile.py
(2.23 KB)
📄
swapfile.pyc
(2.1 KB)
📄
swapfile.pyo
(2.1 KB)
📄
sys_module.py
(2.35 KB)
📄
sys_module.pyc
(2.15 KB)
📄
sys_module.pyo
(2.15 KB)
📄
sys_resource.py
(2.62 KB)
📄
sys_resource.pyc
(2.44 KB)
📄
sys_resource.pyo
(2.44 KB)
📄
vbetool.py
(2.52 KB)
📄
vbetool.pyc
(2.43 KB)
📄
vbetool.pyo
(2.43 KB)
📄
wine.py
(2.92 KB)
📄
wine.pyc
(2.78 KB)
📄
wine.pyo
(2.78 KB)
📄
xen_image.py
(2.7 KB)
📄
xen_image.pyc
(2.55 KB)
📄
xen_image.pyo
(2.55 KB)
Editing: restorecon.py
# # Authors: Dan Walsh <dwalsh@redhat.com> # # Copyright (C) 2007-2013 Red Hat, Inc. # # 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., 675 Mass Ave, Cambridge, MA 02139, USA. # import gettext translation=gettext.translation('setroubleshoot-plugins', fallback=True) _=translation.gettext from setroubleshoot.util import * from setroubleshoot.Plugin import Plugin import os from stat import * import selinux customizable_types = None def customizable(target): global customizable_types if not customizable_types: fd = open(selinux.selinux_customizable_types_path()) customizable_types = fd.read().split("\n") fd.close() return target in customizable_types # List of path prefixes for which this plugin is not executed excluded_paths = ["/sys/fs"] # Test if the specified path starts with some excluded prefix def excluded_path(target_path): for path in excluded_paths: if target_path.startswith(path): return True return False import selinux class plugin(Plugin): summary = _(''' SELinux is preventing $SOURCE_PATH "$ACCESS" access to $TARGET_PATH. ''') fix_cmd = "/sbin/restorecon $TARGET_PATH" fix_description = _(''' You can restore the default system context to this file by executing the restorecon command. restorecon '$TARGET_PATH', if this file is a directory, you can recursively restore using restorecon -R '$TARGET_PATH'. ''') def get_problem_description(self, avc, args): return _(''' SELinux denied access requested by $SOURCE. $TARGET_PATH may be mislabeled. $TARGET_PATH default SELinux type is <B>%s</B>, but its current type is <B>$TARGET_TYPE</B>. Changing this file back to the default type may fix your problem. <p> File contexts can be assigned to a file in the following ways. <ul> <li>Files created in a directory receive the file context of the parent directory by default. <li>The SELinux policy might override the default label inherited from the parent directory by specifying a process running in context A which creates a file in a directory labeled B will instead create the file with label C. An example of this would be the dhcp client running with the dhclient_t type and creating a file in the directory /etc. This file would normally receive the etc_t type due to parental inheritance but instead the file is labeled with the net_conf_t type because the SELinux policy specifies this. <li>Users can change the file context on a file using tools such as chcon, or restorecon. </ul> This file could have been mislabeled either by user error, or if an normally confined application was run under the wrong domain. <p> However, this might also indicate a bug in SELinux because the file should not have been labeled with this type. <p> If you believe this is a bug, please file a bug report against this package. ''') % args[1] if_text = _("If you want to fix the label. \n$TARGET_PATH default label should be %s.") def get_if_text(self, avc, args): return self.if_text % args[1] then_text = _('you can run restorecon. The access attempt may have been stopped due to insufficient' \ + ' permissions to access a parent directory in which case try to change the following command accordingly.') do_text = '# /sbin/restorecon -v $TARGET_PATH' def __init__(self): Plugin.__init__(self, __name__) self.set_priority(100) self.level = "green" self.fixable = True self.button_text=_("Restore\nContext") def analyze(self, avc): if not avc.query_environment: return None if avc.tcontext.type in [ "cifs_t", "nfs_t" ]: return None if avc.tcontext.type not in file_types: return None if avc.all_accesses_are_in("relabelto"): return None restorecon_files = {} restorecon_files['dir'] = S_IFDIR restorecon_files['file'] = S_IFREG restorecon_files['lnk_file'] = S_IFLNK restorecon_files['chr_file'] = S_IFCHR restorecon_files['blk_file'] = S_IFBLK if avc.has_tclass_in(restorecon_files.keys()): if avc.tpath is None: return None if avc.tpath == "/": return None if avc.tpath[0] != '/': return None if excluded_path(avc.tpath): return None if customizable(avc.tcontext.type): return None try: mcon = selinux.matchpathcon(avc.tpath.strip('"'), restorecon_files[avc.tclass])[1] mcon_type=mcon.split(":")[2] if mcon_type != avc.tcontext.type: return self.report((0, mcon_type)) except OSError, e: pass return None
Upload File
Create Folder