Linux web-conference.aiou.edu.pk 5.4.0-205-generic #225-Ubuntu SMP Fri Jan 10 22:23:35 UTC 2025 x86_64
Apache/2.4.41 (Ubuntu)
: 172.16.50.247 | : 3.133.122.183
Cant Read [ /etc/named.conf ]
7.4.3-4ubuntu2.28
root
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
lib /
python3 /
dist-packages /
cloudinit /
config /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxr-xr-x
schemas
[ DIR ]
drwxr-xr-x
__init__.py
40
B
-rw-r--r--
cc_ansible.py
7.68
KB
-rw-r--r--
cc_apk_configure.py
4.23
KB
-rw-r--r--
cc_apt_configure.py
38.08
KB
-rw-r--r--
cc_apt_pipelining.py
1.85
KB
-rw-r--r--
cc_bootcmd.py
1.65
KB
-rw-r--r--
cc_byobu.py
2.73
KB
-rw-r--r--
cc_ca_certs.py
8.67
KB
-rw-r--r--
cc_chef.py
12.19
KB
-rw-r--r--
cc_disable_ec2_metadata.py
1.6
KB
-rw-r--r--
cc_disk_setup.py
29.61
KB
-rw-r--r--
cc_fan.py
1.95
KB
-rw-r--r--
cc_final_message.py
2.51
KB
-rw-r--r--
cc_growpart.py
18.37
KB
-rw-r--r--
cc_grub_dpkg.py
5.39
KB
-rw-r--r--
cc_install_hotplug.py
3.19
KB
-rw-r--r--
cc_keyboard.py
1.49
KB
-rw-r--r--
cc_keys_to_console.py
2.09
KB
-rw-r--r--
cc_landscape.py
3.06
KB
-rw-r--r--
cc_locale.py
1.19
KB
-rw-r--r--
cc_lxd.py
13.44
KB
-rw-r--r--
cc_mcollective.py
4.11
KB
-rw-r--r--
cc_mounts.py
18.16
KB
-rw-r--r--
cc_ntp.py
18.97
KB
-rw-r--r--
cc_package_update_upgrade_inst...
3.79
KB
-rw-r--r--
cc_phone_home.py
3.75
KB
-rw-r--r--
cc_power_state_change.py
5.92
KB
-rw-r--r--
cc_puppet.py
10.72
KB
-rw-r--r--
cc_reset_rmc.py
4.33
KB
-rw-r--r--
cc_resizefs.py
10.63
KB
-rw-r--r--
cc_resolv_conf.py
3.13
KB
-rw-r--r--
cc_rh_subscription.py
15.21
KB
-rw-r--r--
cc_rsyslog.py
11.55
KB
-rw-r--r--
cc_runcmd.py
1.6
KB
-rw-r--r--
cc_salt_minion.py
3.96
KB
-rw-r--r--
cc_scripts_per_boot.py
1.27
KB
-rw-r--r--
cc_scripts_per_instance.py
1.26
KB
-rw-r--r--
cc_scripts_per_once.py
1.24
KB
-rw-r--r--
cc_scripts_user.py
1.25
KB
-rw-r--r--
cc_scripts_vendor.py
1.26
KB
-rw-r--r--
cc_seed_random.py
3
KB
-rw-r--r--
cc_set_hostname.py
3.4
KB
-rw-r--r--
cc_set_passwords.py
9.36
KB
-rw-r--r--
cc_snap.py
3.32
KB
-rw-r--r--
cc_spacewalk.py
2.64
KB
-rw-r--r--
cc_ssh.py
11
KB
-rw-r--r--
cc_ssh_authkey_fingerprints.py
3.76
KB
-rw-r--r--
cc_ssh_import_id.py
5.43
KB
-rw-r--r--
cc_timezone.py
1.14
KB
-rw-r--r--
cc_ubuntu_autoinstall.py
2.95
KB
-rw-r--r--
cc_ubuntu_drivers.py
4.08
KB
-rw-r--r--
cc_ubuntu_pro.py
13.65
KB
-rw-r--r--
cc_update_etc_hosts.py
2.46
KB
-rw-r--r--
cc_update_hostname.py
2.18
KB
-rw-r--r--
cc_users_groups.py
2.86
KB
-rw-r--r--
cc_wireguard.py
6.67
KB
-rw-r--r--
cc_write_files.py
6
KB
-rw-r--r--
cc_write_files_deferred.py
1.28
KB
-rw-r--r--
cc_yum_add_repo.py
4.53
KB
-rw-r--r--
cc_zypper_add_repo.py
4.93
KB
-rw-r--r--
modules.py
13.23
KB
-rw-r--r--
schema.py
50.26
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : cc_write_files.py
# Copyright (C) 2012 Yahoo! Inc. # # Author: Joshua Harlow <harlowja@yahoo-inc.com> # # This file is part of cloud-init. See LICENSE file for license information. """Write Files: write arbitrary files""" import base64 import logging import os from typing import Optional from cloudinit import url_helper, util from cloudinit.cloud import Cloud from cloudinit.config import Config from cloudinit.config.schema import MetaSchema from cloudinit.settings import PER_INSTANCE DEFAULT_PERMS = 0o644 DEFAULT_DEFER = False TEXT_PLAIN_ENC = "text/plain" LOG = logging.getLogger(__name__) meta: MetaSchema = { "id": "cc_write_files", "distros": ["all"], "frequency": PER_INSTANCE, "activate_by_schema_keys": ["write_files"], } def handle(name: str, cfg: Config, cloud: Cloud, args: list) -> None: file_list = cfg.get("write_files", []) filtered_files = [ f for f in file_list if not util.get_cfg_option_bool(f, "defer", DEFAULT_DEFER) ] if not filtered_files: LOG.debug( "Skipping module named %s," " no/empty 'write_files' key in configuration", name, ) return ssl_details = util.fetch_ssl_details(cloud.paths) write_files(name, filtered_files, cloud.distro.default_owner, ssl_details) def canonicalize_extraction(encoding_type): if not encoding_type: encoding_type = "" encoding_type = encoding_type.lower().strip() if encoding_type in ["gz", "gzip"]: return ["application/x-gzip"] if encoding_type in ["gz+base64", "gzip+base64", "gz+b64", "gzip+b64"]: return ["application/base64", "application/x-gzip"] # Yaml already encodes binary data as base64 if it is given to the # yaml file as binary, so those will be automatically decoded for you. # But the above b64 is just for people that are more 'comfortable' # specifying it manually (which might be a possibility) if encoding_type in ["b64", "base64"]: return ["application/base64"] if encoding_type == TEXT_PLAIN_ENC: return [TEXT_PLAIN_ENC] if encoding_type: LOG.warning( "Unknown encoding type %s, assuming %s", encoding_type, TEXT_PLAIN_ENC, ) return [TEXT_PLAIN_ENC] def write_files(name, files, owner: str, ssl_details: Optional[dict] = None): if not files: return for i, f_info in enumerate(files): path = f_info.get("path") if not path: LOG.warning( "No path provided to write for entry %s in module %s", i + 1, name, ) continue path = os.path.abspath(path) # Read content from provided URL, if any, or decode from inline contents = read_url_or_decode( f_info.get("source", None), ssl_details, f_info.get("content", None), f_info.get("encoding", None), ) if contents is None: LOG.warning( "No content could be loaded for entry %s in module %s;" " skipping", i + 1, name, ) continue # Only create the file if content exists. This will not happen, for # example, if the URL fails and no inline content was provided (u, g) = util.extract_usergroup(f_info.get("owner", owner)) perms = decode_perms(f_info.get("permissions"), DEFAULT_PERMS) omode = "ab" if util.get_cfg_option_bool(f_info, "append") else "wb" util.write_file( path, contents, omode=omode, mode=perms, user=u, group=g ) util.chownbyname(path, u, g) def decode_perms(perm, default): if perm is None: return default try: if isinstance(perm, (int, float)): # Just 'downcast' it (if a float) return int(perm) else: # Force to string and try octal conversion return int(str(perm), 8) except (TypeError, ValueError): reps = [] for r in (perm, default): try: reps.append("%o" % r) except TypeError: reps.append("%r" % r) LOG.warning("Undecodable permissions %s, returning default %s", *reps) return default def read_url_or_decode(source, ssl_details, content, encoding): url = None if source is None else source.get("uri", None) use_url = bool(url) # Special case: empty URL and content. Write a blank file if content is None and not use_url: return "" # Fetch file content from source URL, if provided result = None if use_url: try: # NOTE: These retry parameters are arbitrarily chosen defaults. # They have no significance, and may be changed if appropriate result = url_helper.read_file_or_url( url, headers=source.get("headers", None), retries=3, sec_between=3, ssl_details=ssl_details, ).contents except Exception: util.logexc( LOG, 'Failed to retrieve contents from source "%s"; falling back to' ' data from "contents" key', url, ) use_url = False # If inline content is provided, and URL is not provided or is # inaccessible, parse the former if content is not None and not use_url: # NOTE: This is not simply an "else"! Notice that `use_url` can change # in the previous "if" block extractions = canonicalize_extraction(encoding) result = extract_contents(content, extractions) return result def extract_contents(contents, extraction_types): result = contents for t in extraction_types: if t == "application/x-gzip": result = util.decomp_gzip(result, quiet=False, decode=False) elif t == "application/base64": result = base64.b64decode(result) elif t == TEXT_PLAIN_ENC: pass return result
Close