Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python3 /
dist-packages /
samba /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
dcerpc
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
emulate
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
gp_parse
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
kcc
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
netcmd
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
provision
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
samba3
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
subunit
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
tests
[ DIR ]
drwxr-xr-x
2026-05-28 07:00
__init__.py
12.62
KB
-rw-r--r--
2021-10-27 21:53
_glue.cpython-310-x86_64-linux-gnu.so
26.96
KB
-rw-r--r--
2026-05-22 02:08
_ldb.cpython-310-x86_64-linux-gnu.so
66.32
KB
-rw-r--r--
2026-05-22 02:08
auth.cpython-310-x86_64-linux-gnu.so
61.54
KB
-rw-r--r--
2026-05-22 02:08
auth_util.py
1.1
KB
-rw-r--r--
2021-08-09 22:38
colour.py
2.84
KB
-rw-r--r--
2021-08-09 22:38
common.py
3.81
KB
-rw-r--r--
2021-08-09 22:38
credentials.cpython-310-x86_64-linux-gnu.so
48.79
KB
-rw-r--r--
2026-05-22 02:08
crypto.cpython-310-x86_64-linux-gnu.so
14.4
KB
-rw-r--r--
2026-05-22 02:08
dbchecker.py
130.9
KB
-rw-r--r--
2021-08-09 22:38
dckeytab.cpython-310-x86_64-linux-gnu.so
18.33
KB
-rw-r--r--
2026-05-22 02:08
descriptor.py
27.97
KB
-rw-r--r--
2021-08-09 22:38
dnsresolver.py
2.29
KB
-rw-r--r--
2021-08-09 22:38
dnsserver.py
13.96
KB
-rw-r--r--
2021-08-09 22:38
domain_update.py
14.97
KB
-rw-r--r--
2021-08-09 22:38
drs_utils.py
18.23
KB
-rw-r--r--
2022-12-16 01:08
dsdb.cpython-310-x86_64-linux-gnu.so
55.4
KB
-rw-r--r--
2026-05-22 02:08
dsdb_dns.cpython-310-x86_64-linux-gnu.so
22.52
KB
-rw-r--r--
2026-05-22 02:08
forest_update.py
19.75
KB
-rw-r--r--
2021-08-09 22:38
gensec.cpython-310-x86_64-linux-gnu.so
35.41
KB
-rw-r--r--
2026-05-22 02:08
getopt.py
16.03
KB
-rw-r--r--
2026-05-22 02:08
gp_ext_loader.py
2.09
KB
-rw-r--r--
2021-08-09 22:38
gp_gnome_settings_ext.py
20.15
KB
-rw-r--r--
2021-08-09 22:38
gp_msgs_ext.py
3.46
KB
-rw-r--r--
2021-08-09 22:38
gp_scripts_ext.py
3.85
KB
-rw-r--r--
2021-08-09 22:38
gp_sec_ext.py
8.87
KB
-rw-r--r--
2021-08-09 22:38
gp_smb_conf_ext.py
3.79
KB
-rw-r--r--
2021-08-09 22:38
gp_sudoers_ext.py
4.5
KB
-rw-r--r--
2021-08-09 22:38
gpclass.py
21.5
KB
-rw-r--r--
2021-08-09 22:38
gpo.cpython-310-x86_64-linux-gnu.so
23.72
KB
-rw-r--r--
2026-05-22 02:08
graph.py
27.76
KB
-rw-r--r--
2021-08-09 22:38
hostconfig.py
2.29
KB
-rw-r--r--
2021-08-09 22:38
idmap.py
3.25
KB
-rw-r--r--
2021-08-09 22:38
join.py
75.74
KB
-rw-r--r--
2021-10-27 21:53
logger.py
2.08
KB
-rw-r--r--
2021-08-09 22:38
mdb_util.py
1.48
KB
-rw-r--r--
2021-08-09 22:38
messaging.cpython-310-x86_64-linux-gnu.so
27.07
KB
-rw-r--r--
2026-05-22 02:08
ms_display_specifiers.py
4.65
KB
-rw-r--r--
2021-08-09 22:38
ms_forest_updates_markdown.py
9.15
KB
-rw-r--r--
2021-08-09 22:38
ms_schema.py
9.32
KB
-rw-r--r--
2021-10-27 21:53
ms_schema_markdown.py
2.21
KB
-rw-r--r--
2021-08-09 22:38
ndr.py
5.31
KB
-rw-r--r--
2026-05-22 02:08
net.cpython-310-x86_64-linux-gnu.so
31.04
KB
-rw-r--r--
2026-05-22 02:08
net_s3.cpython-310-x86_64-linux-gnu.so
74.87
KB
-rw-r--r--
2026-05-22 02:08
netbios.cpython-310-x86_64-linux-gnu.so
22.88
KB
-rw-r--r--
2026-05-22 02:08
ntacls.py
23.42
KB
-rw-r--r--
2021-08-09 22:38
ntstatus.cpython-310-x86_64-linux-gnu.so
122.13
KB
-rw-r--r--
2026-05-22 02:08
param.cpython-310-x86_64-linux-gnu.so
32.07
KB
-rw-r--r--
2026-05-22 02:08
policy.cpython-310-x86_64-linux-gnu.so
14.4
KB
-rw-r--r--
2026-05-22 02:08
posix_eadb.cpython-310-x86_64-linux-gnu.so
14.4
KB
-rw-r--r--
2026-05-22 02:08
registry.cpython-310-x86_64-linux-gnu.so
28.04
KB
-rw-r--r--
2026-05-22 02:08
remove_dc.py
18.18
KB
-rw-r--r--
2021-08-09 22:38
samdb.py
59.92
KB
-rw-r--r--
2021-08-09 22:38
schema.py
9.93
KB
-rw-r--r--
2021-10-27 21:53
sd_utils.py
8.06
KB
-rw-r--r--
2026-05-22 02:08
security.cpython-310-x86_64-linux-gnu.so
14.34
KB
-rw-r--r--
2026-05-22 02:08
sites.py
3.96
KB
-rw-r--r--
2021-08-09 22:38
subnets.py
8.3
KB
-rw-r--r--
2021-08-09 22:38
tdb_util.py
1.45
KB
-rw-r--r--
2021-08-09 22:38
trust_utils.py
2.1
KB
-rw-r--r--
2021-08-09 22:38
upgrade.py
33.78
KB
-rw-r--r--
2021-08-09 22:38
upgradehelpers.py
32.24
KB
-rw-r--r--
2022-03-15 22:19
uptodateness.py
6.55
KB
-rw-r--r--
2021-08-09 22:38
vgp_access_ext.py
6
KB
-rw-r--r--
2021-08-09 22:38
vgp_files_ext.py
5.83
KB
-rw-r--r--
2021-08-09 22:38
vgp_issue_ext.py
2.85
KB
-rw-r--r--
2021-08-09 22:38
vgp_motd_ext.py
2.85
KB
-rw-r--r--
2021-08-09 22:38
vgp_openssh_ext.py
4.39
KB
-rw-r--r--
2021-08-09 22:38
vgp_startup_scripts_ext.py
5.51
KB
-rw-r--r--
2021-08-09 22:38
vgp_sudoers_ext.py
5.41
KB
-rw-r--r--
2021-08-09 22:38
vgp_symlink_ext.py
3.24
KB
-rw-r--r--
2021-08-09 22:38
werror.cpython-310-x86_64-linux-gnu.so
158.13
KB
-rw-r--r--
2026-05-22 02:08
xattr.py
2.23
KB
-rw-r--r--
2021-08-09 22:38
xattr_native.cpython-310-x86_64-linux-gnu.so
14.4
KB
-rw-r--r--
2026-05-22 02:08
xattr_tdb.cpython-310-x86_64-linux-gnu.so
14.4
KB
-rw-r--r--
2026-05-22 02:08
Save
Rename
# vgp_files_ext samba gpo policy # Copyright (C) David Mulder <dmulder@suse.com> 2020 # # 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 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import os, pwd, grp from samba.gpclass import gp_xml_ext, check_safe_path from tempfile import NamedTemporaryFile from shutil import copyfile, move from hashlib import blake2b def calc_mode(entry): mode = 0o000 for permissions in entry.findall('permissions'): ptype = permissions.get('type') if ptype == 'user': if permissions.find('read') is not None: mode |= 0o400 if permissions.find('write') is not None: mode |= 0o200 if permissions.find('execute') is not None: mode |= 0o100 elif ptype == 'group': if permissions.find('read') is not None: mode |= 0o040 if permissions.find('write') is not None: mode |= 0o020 if permissions.find('execute') is not None: mode |= 0o010 elif ptype == 'other': if permissions.find('read') is not None: mode |= 0o004 if permissions.find('write') is not None: mode |= 0o002 if permissions.find('execute') is not None: mode |= 0o001 return mode def stat_from_mode(mode): stat = '-' for i in range(6, -1, -3): mask = {0o4: 'r', 0o2: 'w', 0o1: 'x'} for x in mask.keys(): if mode & (x << i): stat += mask[x] else: stat += '-' return stat class vgp_files_ext(gp_xml_ext): def __str__(self): return 'VGP/Unix Settings/Files' def process_group_policy(self, deleted_gpo_list, changed_gpo_list): for guid, settings in deleted_gpo_list: self.gp_db.set_guid(guid) if str(self) in settings: for attribute, _ in settings[str(self)].items(): if os.path.exists(attribute): os.unlink(attribute) self.gp_db.delete(str(self), attribute) self.gp_db.commit() for gpo in changed_gpo_list: if gpo.file_sys_path: self.gp_db.set_guid(gpo.name) xml = 'MACHINE/VGP/VTLA/Unix/Files/manifest.xml' path = os.path.join(gpo.file_sys_path, xml) xml_conf = self.parse(path) if not xml_conf: continue policy = xml_conf.find('policysetting') data = policy.find('data') for entry in data.findall('file_properties'): local_path = self.lp.cache_path('gpo_cache') source = entry.find('source').text source_file = os.path.join(local_path, os.path.dirname(check_safe_path(path)).upper(), source.upper()) if not os.path.exists(source_file): self.logger.warn('Source file "%s" does not exist' % source_file) continue source_hash = \ blake2b(open(source_file, 'rb').read()).hexdigest() target = entry.find('target').text user = entry.find('user').text group = entry.find('group').text mode = calc_mode(entry) value = '%s:%s:%s:%d' % (source_hash, user, group, mode) old_val = self.gp_db.retrieve(str(self), target) if old_val == value: continue if os.path.exists(target): self.logger.warn('Target file "%s" already exists' % target) continue with NamedTemporaryFile(dir=os.path.dirname(target), delete=False) as f: copyfile(source_file, f.name) os.chown(f.name, pwd.getpwnam(user).pw_uid, grp.getgrnam(group).gr_gid) os.chmod(f.name, mode) move(f.name, target) self.gp_db.store(str(self), target, value) self.gp_db.commit() def rsop(self, gpo): output = {} xml = 'MACHINE/VGP/VTLA/Unix/Files/manifest.xml' if gpo.file_sys_path: path = os.path.join(gpo.file_sys_path, xml) xml_conf = self.parse(path) if not xml_conf: return output policy = xml_conf.find('policysetting') data = policy.find('data') for entry in data.findall('file_properties'): source = entry.find('source').text target = entry.find('target').text user = entry.find('user').text group = entry.find('group').text mode = calc_mode(entry) p = '%s\t%s\t%s\t%s -> %s' % \ (stat_from_mode(mode), user, group, target, source) if str(self) not in output.keys(): output[str(self)] = [] output[str(self)].append(p) return output