This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

man8

1 - Linux cli command systemd-udevd.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-udevd.service and provides detailed information about the command systemd-udevd.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-udevd.service.

NAME πŸ–₯️ systemd-udevd.service πŸ–₯️

udevd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-udevd - Device event managing daemon

SYNOPSIS

systemd-udevd.service

systemd-udevd-control.socket

systemd-udevd-kernel.socket

/usr/lib/systemd/systemd-udevd [–daemon] [–debug] [–children-max=] [–exec-delay=] [–event-timeout=] [–resolve-names=early|late|never] [–version] [–help]

DESCRIPTION

systemd-udevd listens to kernel uevents. For every event, systemd-udevd executes matching instructions specified in udev rules. See udev(7).

The behavior of the daemon can be configured using udev.conf(5), its command line options, environment variables, and on the kernel command line, or changed dynamically with udevadm control.

OPTIONS

-d, –daemon

Detach and run in the background.

Added in version 186.

-D, –debug

Print debug messages to standard error.

Added in version 186.

-c, –children-max=

Limit the number of events executed in parallel.

Added in version 186.

-e, –exec-delay=

Delay the execution of each RUN{program} parameter by the given number of seconds. This option might be useful when debugging system crashes during coldplug caused by loading non-working kernel modules.

Added in version 186.

-t, –event-timeout=

Set the number of seconds to wait for events to finish. After this time, the event will be terminated. The default is 180 seconds.

Added in version 216.

-s, –timeout-signal=

Set the signal which systemd-udevd will send to forked off processes after reaching event timeout. The setting can be overridden at boot time with the kernel command line option udev.timeout_signal=. Setting to SIGABRT may be helpful in order to debug worker timeouts. Defaults to SIGKILL. Note that setting the option on the command line overrides the setting from the configuration file.

Added in version 246.

-N, –resolve-names=

Specify when systemd-udevd should resolve names of users and groups. When set to early (the default), names will be resolved when the rules are parsed. When set to late, names will be resolved for every event. When set to never, names will never be resolved and all devices will be owned by root.

Added in version 186.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

KERNEL COMMAND LINE

Parameters prefixed with “rd.” will be read when systemd-udevd is used in an initrd, those without will be processed both in the initrd and on the host.

udev.log_level=, rd.udev.log_level=

Set the log level.

Added in version 247.

udev.children_max=, rd.udev.children_max=

Limit the number of events executed in parallel.

Added in version 186.

udev.exec_delay=, rd.udev.exec_delay=

Delay the execution of each RUN{program} parameter by the given number of seconds. This option might be useful when debugging system crashes during coldplug caused by loading non-working kernel modules.

Added in version 186.

udev.event_timeout=, rd.udev.event_timeout=

Wait for events to finish up to the given number of seconds. This option might be useful if events are terminated due to kernel drivers taking too long to initialize.

Added in version 216.

udev.timeout_signal=, rd.udev.timeout_signal=

Specifies a signal that systemd-udevd will send to workers on timeout. Note that kernel command line option overrides both the setting in the configuration file and the one on the program command line.

Added in version 246.

udev.blockdev_read_only, rd.udev.blockdev_read_only

If specified, mark all physical block devices read-only as they appear. Synthetic block devices (such as loopback block devices or device mapper devices) are left as they are. This is useful to guarantee that the contents of physical block devices remains unmodified during runtime, for example to implement fully stateless systems, for testing or for recovery situations where corrupted file systems shall not be corrupted further through accidental modification.

A block device may be marked writable again by issuing the blockdev –setrw command, see blockdev(8) for details.

Added in version 246.

net.ifnames=

Network interfaces are renamed to give them predictable names when possible. It is enabled by default; specifying 0 disables it.

Added in version 199.

net.naming_scheme=

Network interfaces are renamed to give them predictable names when possible (unless net.ifnames=0 is specified, see above). With this kernel command line option it is possible to pick a specific version of this algorithm and override the default chosen at compilation time. Expects one of the naming scheme identifiers listed in systemd.net-naming-scheme(7), or “latest” to select the latest scheme known (to this particular version of systemd-udevd.service).

Note that selecting a specific scheme is not sufficient to fully stabilize interface naming: the naming is generally derived from driver attributes exposed by the kernel. As the kernel is updated, previously missing attributes systemd-udevd.service is checking might appear, which affects older name derivation algorithms, too.

Added in version 240.

net.ifname_policy=policy1[,policy2,…][,MAC]

Specifies naming policies applied when renaming network interfaces. Takes a list of policies and an optional MAC address separated with comma. Each policy value must be one of the policies understood by the NamePolicy= setting in .link files, e.g. “onboard” or “path”. See systemd.link(5) for more details. When the MAC address is specified, the policies are applied to the interface which has the address. When no MAC address is specified, the policies are applied to all interfaces. This kernel command line argument can be specified multiple times.

This argument is not directly read by systemd-udevd, but is instead converted to a .link file by systemd-network-generator.service(8). For this argument to take effect, systemd-network-generator.service must be enabled.

Example:

net.ifname_policy=keep,kernel,path,slot,onboard,01:23:45:67:89:ab net.ifname_policy=keep,kernel,path,slot,onboard,mac

This is mostly equivalent to creating the following .link files:

91-name-policy-with-mac.link

[Match]
MACAddress=01:23:45:67:89:ab

[Link]
NamePolicy=keep kernel path slot onboard
AlternativeNamePolicy=path slot onboard

and

92-name-policy-for-all.link

[Match]
OriginalName=*

[Link]
NamePolicy=keep kernel path slot onboard mac
AlternativeNamePolicy=path slot onboard mac

Added in version 250.

SEE ALSO

udev.conf(5), udev(7), udevadm(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

2 - Linux cli command tdbdump

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tdbdump and provides detailed information about the command tdbdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tdbdump.

NAME πŸ–₯️ tdbdump πŸ–₯️

tool for printing the contents of a TDB file

SYNOPSIS

tdbdump [-k keyname] [-e] [-h] {filename}

DESCRIPTION

This tool is part of the samba(1) suite.

tdbdump is a very simple utility that dumps the contents of a TDB (Trivial DataBase) file to standard output in a human-readable format.

This tool can be used when debugging problems with TDB files. It is intended for those who are somewhat familiar with Samba internals.

OPTIONS

-h

Get help information.

-k keyname

The -k option restricts dumping to a single key, if found.

-e

The -e tries to dump out from a corrupt database. Naturally, such a dump is unreliable, at best.

VERSION

This man page is correct for version 3 of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The tdbdump man page was written by Jelmer Vernooij.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

3 - Linux cli command update-passwd

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-passwd and provides detailed information about the command update-passwd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-passwd.

NAME πŸ–₯️ update-passwd πŸ–₯️

passwd - safely update /etc/passwd, /etc/shadow and /etc/group

SYNOPSIS

update-passwd [options]

DESCRIPTION

update-passwd handles updates of /etc/passwd, /etc/shadow and /etc/group on running Debian systems. It compares the current files to master copies, distributed in the base-passwd package, and updates all entries in the global system range (that is, 0–99). It leaves backup copies of the previous versions of modified files with the extension β€˜.org’ (for β€œoriginal”).

OPTIONS

update-passwd follows the usual GNU command line syntax, with long options starting with two dashes (β€˜-’).

-p, –passwd-master=FILE
Use FILE as the master copy of the passwd database. The default value is /usr/share/base-passwd/passwd.master.

-g, –group-master=FILE
Use FILE as the master copy of the group database. The default value is /usr/share/base-passwd/group.master.

-P, –passwd=FILE
Use FILE as the system passwd database. The default value is /etc/passwd.

-S, –shadow=FILE
Use FILE as the system shadow database. The default value is /etc/shadow.

-G, –group=FILE
Use FILE as the system group database. The default value is /etc/group.

-s, –sanity-check
Only perform sanity-checks but don’t do anything.

-v, –verbose
Give detailed information about what we are doing. A second -v gives additional detail.

-n, –dry-run
Don’t do anything but only show what we would do.

-L, –no-locking
Don’t attempt to lock the account database. This should only be used for debugging purposes. I repeat: do not do this unless you are really sure you need this!

-h, –help
Show a summary of how to use update-passwd.

-V, –version
Show the version number

ENVIRONMENT

DEBIAN_HAS_FRONTEND
If this environment variable is set and the –dry-run flag was not given, update-passwd uses debconf to prompt for whether to make changes. Each proposed change will produce a separate prompt. User or group removals, UID or GID changes, and home directory changes will be asked with high priority. User or group additions and shell changes will be asked with medium priority. Questions about whether to move entries above the NIS compat inclusion entry or whether to change the GECOS of a user are asked at low priority.

BUGS

At this moment update-passwd does not verify the shadow-file. It should check if the entries in the passwd are also in shadow and vice versa, and that passwords are not present in both files.

AUTHOR

Wichert Akkerman <[email protected]>

This program was written for the Debian project, and is copyright 1999–2002 Wichert Akkerman and copyright 2002, 2003 Colin Watson. It is distributed under version 2 of the GNU General Public License.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

4 - Linux cli command vfs_aio_pthread

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_aio_pthread and provides detailed information about the command vfs_aio_pthread, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_aio_pthread.

NAME πŸ–₯️ vfs_aio_pthread πŸ–₯️

implement async open in Samba vfs using a pthread pool

SYNOPSIS

vfs objects = aio_pthread

DESCRIPTION

This VFS module is part of the samba(7) suite.

The aio_pthread VFS module enables asynchronous opens (for new files) with aio_pthread:aio open = yes on platforms which have the pthreads API available, support the openat() syscall and support per thread credentials (modern Linux kernels).

The module makes use of the global thread pool which uses the aio max threads option.

This module MUST be listed last in any module stack as the Samba VFS open interface is not thread-safe. This module makes direct openat() system calls and does NOT call the Samba VFS open interfaces.

EXAMPLES

Straight forward use:

    [cooldata]
	path = /data/ice
	vfs objects = aio_pthread
	aio_pthread:aio open = yes

OPTIONS

aio_pthread:aio open = BOOL

Try async opens for creating new files.

The default is no.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

5 - Linux cli command systemd-pcrlock-secureboot-authority.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pcrlock-secureboot-authority.service and provides detailed information about the command systemd-pcrlock-secureboot-authority.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pcrlock-secureboot-authority.service.

NAME πŸ–₯️ systemd-pcrlock-secureboot-authority.service πŸ–₯️

pcrlock, systemd-pcrlock-file-system.service, systemd-pcrlock-firmware-code.service, systemd-pcrlock-firmware-config.service, systemd-pcrlock-machine-id.service, systemd-pcrlock-make-policy.service, systemd-pcrlock-secureboot-authority.service, systemd-pcrlock-secureboot-policy.service - Analyze and predict TPM2 PCR states and generate an access policy from the prediction

SYNOPSIS

/usr/lib/systemd/systemd-pcrlock [OPTIONS…]

DESCRIPTION

Note: this command is experimental for now. While it is likely to become a regular component of systemd, it might still change in behaviour and interface.

systemd-pcrlock is a tool that may be used to analyze and predict TPM2 PCR measurements, and generate TPM2 access policies from the prediction which it stores in a TPM2 NV index (i.e. in the TPM2 non-volatile memory). This may then be used to restrict access to TPM2 objects (such as disk encryption keys) to system boot-ups in which only specific, trusted components are used.

systemd-pcrlock uses as input for its analysis and prediction:

Β·

The UEFI firmware TPM2 event log (i.e. /sys/kernel/security/tpm0/binary_bios_measurements) of the current boot.

Β·

The userspace TPM2 event log (i.e. /run/log/systemd/tpm2-measure.log) of the current boot.

Β·

The current PCR state of the TPM2 chip.

Β·

Boot component definition files (*.pcrlock and *.pcrlock.d/*.pcrlock, see systemd.pcrlock(5)) that each define expected measurements for one component of the boot process, permitting alternative variants for each. (Variants may be used to bless multiple kernel versions or boot loader versions at the same time.)

It uses these inputs to generate a combined event log, validating it against the PCR states. It then attempts to recognize event log records and matches them against the defined components. For each PCR where this can be done comprehensively (i.e. where all listed records and all defined components have been matched) this may then be used to predict future PCR measurements, taking the alternative variants defined for each component into account. This prediction may then be converted into a TPM2 access policy (consisting of TPM2 PolicyPCR and PolicyOR items), which is then stored in an NV index in the TPM2. This may be used to then lock secrets (such as disk encryption keys) to these policies (via a TPM2 PolicyAuthorizeNV policy).

Use tools such as systemd-cryptenroll(1) or systemd-repart(8) to bind disk encryption to such a systemd-pcrlock TPM2 policy. Specifically, see the –tpm2-pcrlock= switches of these tools.

The access policy logic requires a TPM2 device that implements the “PolicyAuthorizeNV” command, i.e. implements TPM 2.0 version 1.38 or newer.

COMMANDS

The following commands are understood:

log

This reads the combined TPM2 event log, validates it, matches it against the current PCR values, and outputs both in tabular form. Combine with –json= to generate output in JSON format.

Added in version 255.

cel

This reads the combined TPM2 event log and writes it to STDOUT in TCG Canonical Event Log Format (CEL-JSON)[1] format.

Added in version 255.

list-components

Shows a list of component definitions and their variants, i.e. the *.pcrlock files discovered in /var/lib/pcrlock.d/, /usr/lib/pcrlock.d/, and the other supported directories. See systemd.pcrlock(5) for details on these files and the full list of directories searched.

Added in version 255.

predict

Predicts the PCR state on future boots. This will analyze the TPM2 event log as described above, recognize components, and then generate all possible resulting PCR values for all combinations of component variants. Note that no prediction is made for PCRs whose value does not match the event log records, for which unrecognized measurements are discovered or for which components are defined that cannot be found in the event log. This is a safety measure to ensure that any generated access policy can be fulfilled correctly on current and future boots.

Added in version 255.

make-policy

This predicts the PCR state for future boots, much like the predict command above. It then uses this data to generate a TPM2 access policy which it stores in a TPM2 NV index. The prediction and information about the used TPM2 and its NV index are written to /var/lib/systemd/pcrlock.json.

The NV index is allocated on first invocation, and updated on subsequent invocations.

The NV index contents may be changed (and thus the policy stored in it updated) by providing an access PIN. This PIN is normally generated automatically and stored in encrypted form (with an access policy binding it to the NV index itself) in the aforementioned JSON policy file. This PIN may be chosen by the user, via the –recovery-pin= switch. If specified it may be used as alternative path of access to update the policy.

If the new prediction matches the old this command terminates quickly and executes no further operation. (Unless –force is specified, see below.)

Starting with v256, a copy of the /var/lib/systemd/pcrlock.json policy file is encoded in a credential (see systemd-creds(1) for details) and written to the EFI System Partition or XBOOTLDR partition, in the /loader/credentials/ subdirectory. There it is picked up at boot by systemd-stub(7) and passed to the invoked initrd, where it can be used to unlock the root file system (which typically contains /var/, which is where the primary copy of the policy is located, which hence cannot be used to unlock the root file system). The credential file is named after the boot entry token of the installation (see bootctl(1)), which is configurable via the –entry-token= switch, see below.

Added in version 255.

remove-policy

Removes a previously generated policy. Deletes the /var/lib/systemd/pcrlock.json file, and deallocates the NV index.

Added in version 255.

lock-firmware-code, unlock-firmware-code

Generates/removes .pcrlock files based on the TPM2 event log of the current boot covering all records for PCRs 0 (“platform-code”) and 2 (“external-code”).

This operation allows locking the boot process to the current version of the firmware of the system and its extension cards. This operation should only be used if the system vendor does not provide suitable pcrlock data ahead of time.

Note that this data only matches the current version of the firmware. If a firmware update is applied this data will be out-of-date and any access policy generated from it will no longer pass. It is thus recommended to invoke unlock-firmware-code before doing a firmware update, followed by make-policy to refresh the policy.

systemd-pcrlock lock-firmware-code is invoked automatically at boot via the systemd-pcrlock-firmware-code.service unit, if enabled. This ensures that an access policy managed by systemd-pcrlock is automatically locked to the new firmware version whenever the policy has been relaxed temporarily, in order to cover for firmware updates, as described above.

The files are only generated from the event log if the event log matches the current TPM2 PCR state.

This writes/removes the files /var/lib/pcrlock.d/250-firmware-code-early.pcrlock.d/generated.pcrlock and /var/lib/pcrlock.d/550-firmware-code-late.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-firmware-config, unlock-firmware-config

This is similar to lock-firmware-code/unlock-firmware-code but locks down the firmware configuration, i.e. PCRs 1 (“platform-config”) and 3 (“external-config”).

This functionality should be used with care as in most scenarios a minor firmware configuration change should not invalidate access policies to TPM2 objects. Also note that some systems measure unstable and unpredictable information (e.g. current CPU voltages, temperatures, as part of SMBIOS data) to these PCRs, which means this form of lockdown cannot be used reliably on such systems. Use this functionality only if the system and hardware is well known and does not suffer by these limitations, for example in virtualized environments.

Use unlock-firmware-config before making firmware configuration changes. If the systemd-pcrlock-firmware-config.service unit is enabled it will automatically generate a pcrlock file from the new measurements.

This writes/removes the files /var/lib/pcrlock.d/250-firmware-config-early.pcrlock.d/generated.pcrlock and /var/lib/pcrlock.d/550-firmware-config-late.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-secureboot-policy, unlock-secureboot-policy

Generates/removes a .pcrlock file based on the SecureBoot policy currently enforced. This looks at the SecureBoot, PK, KEK, db, dbx, dbt, dbr EFI variables and predicts their measurements to PCR 7 (“secure-boot-policy”) on the next boot.

Use unlock-firmware-config before applying SecureBoot policy updates. If the systemd-pcrlock-secureboot-policy.service unit is enabled it will automatically generate a pcrlock file from the policy discovered.

This writes/removes the file /var/lib/pcrlock.d/230-secureboot-policy.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-secureboot-authority, unlock-secureboot-authority

Generates/removes a .pcrlock file based on the SecureBoot authorities used to validate the boot path. SecureBoot authorities are the specific SecureBoot database entries that where used to validate the UEFI PE binaries executed at boot. This looks at the event log of the current boot, and uses relevant measurements on PCR 7 (“secure-boot-policy”).

This writes/removes the file /var/lib/pcrlock.d/620-secureboot-authority.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-gpt [DEVICE], unlock-gpt

Generates/removes a .pcrlock file based on the GPT partition table of the specified disk. If no disk is specified automatically determines the block device backing the root file system. This locks the state of the disk partitioning of the booted medium, which firmware measures to PCR 5 (“boot-loader-config”).

This writes/removes the file /var/lib/pcrlock.d/600-gpt.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-pe [BINARY], unlock-pe

Generates/removes a .pcrlock file based on the specified PE binary. This is useful for predicting measurements the firmware makes to PCR 4 (“boot-loader-code”) if the specified binary is part of the UEFI boot process. Use this on boot loader binaries and suchlike. Use lock-uki (see below) for PE binaries that are unified kernel images (UKIs).

Expects a path to the PE binary as argument. If not specified, reads the binary from STDIN instead.

The pcrlock file to write must be specified via the –pcrlock= switch.

Added in version 255.

lock-uki [UKI], unlock-uki

Generates/removes a .pcrlock file based on the specified UKI PE binary. This is useful for predicting measurements the firmware makes to PCR 4 (“boot-loader-code”), and systemd-stub(7) makes to PCR 11 (“kernel-boot”), if the specified UKI is booted. This is a superset of lock-pe.

Expects a path to the UKI PE binary as argument. If not specified, reads the binary from STDIN instead.

The pcrlock file to write must be specified via the –pcrlock= switch.

Added in version 255.

lock-machine-id, unlock-machine-id

Generates/removes a .pcrlock file based on /etc/machine-id. This is useful for predicting measurements systemd-pcrmachine.service(8) makes to PCR 15 (“system-identity”).

This writes/removes the file /var/lib/pcrlock.d/820-machine-id.pcrlock.

Added in version 255.

lock-file-system [PATH], unlock-file-system [PATH]

Generates/removes a .pcrlock file based on file system identity. This is useful for predicting measurements [email protected](8) makes to PCR 15 (“system-identity”) for the root and /var/ file systems.

This writes/removes the files /var/lib/pcrlock.d/830-root-file-system.pcrlock and /var/lib/pcrlock.d/840-file-system-path.pcrlock.

Added in version 255.

lock-kernel-cmdline [FILE], unlock-kernel-cmdline

Generates/removes a .pcrlock file based on /proc/cmdline (or the specified file if given). This is useful for predicting measurements the Linux kernel makes to PCR 9 (“kernel-initrd”).

This writes/removes the file /var/lib/pcrlock.d/710-kernel-cmdline.pcrlock/generated.pcrlock.

Added in version 255.

lock-kernel-initrd FILE, unlock-kernel-initrd

Generates/removes a .pcrlock file based on a kernel initrd cpio archive. This is useful for predicting measurements the Linux kernel makes to PCR 9 (“kernel-initrd”). Do not use for systemd-stub UKIs, as the initrd is combined dynamically from various sources and hence does not take a single input, like this command.

This writes/removes the file /var/lib/pcrlock.d/720-kernel-initrd.pcrlock/generated.pcrlock.

Added in version 255.

lock-raw [FILE], unlock-raw

Generates/removes a .pcrlock file based on raw binary data. The data is either read from the specified file or from STDIN (if none is specified). This requires that –pcrs= is specified. The generated .pcrlock file is written to the file specified via –pcrlock= or to STDOUT (if none is specified).

Added in version 255.

OPTIONS

The following options are understood:

–raw-description

When displaying the TPM2 event log do not attempt to decode the records to provide a friendly event log description string. Instead, show the binary payload data in escaped form.

Added in version 255.

–pcr=

Specifies the PCR number to use. May be specified more than once to select multiple PCRs.

This is used by lock-raw and lock-pe to select the PCR to lock against.

If used with predict and make-policy this will override which PCRs to include in the prediction and policy. If unspecified this defaults to PCRs 0-5, 7, 11-15. Note that these commands will not include any PCRs in the prediction/policy (even if specified explicitly) if there are measurements in the event log that do not match the current PCR value, or there are unrecognized measurements in the event log, or components define measurements not seen in the event log.

Added in version 255.

–nv-index=

Specifies the NV index to store the policy in. Honoured by make-policy. If not specified the command will automatically pick a free NV index.

Added in version 255.

–components=

Takes a path to read *.pcrlock and *.pcrlock.d/*.pcrlock files from. May be used more than once to specify multiple such directories. If not specified defaults to /etc/pcrlock.d/, /run/pcrlock.d/, /var/lib/pcrlock.d/, /usr/local/pcrlock.d/, /usr/lib/pcrlock.d/.

Added in version 255.

–location=

Takes either a string or a colon-separated pair of strings. Configures up to which point in the sorted list of defined components to analyze/predict PCRs to. Typically, the systemd-pcrlock tool is invoked from a fully booted system after boot-up and before shutdown. This means various components that are defined for shutdown have not been measured yet, and should not be searched for. This option allows one to restrict which components are considered for analysis (taking only components before some point into account, ignoring components after them). The expected string is ordered against the filenames of the components defined. Any components with a lexicographically later name are ignored. This logic applies to the log, predict, and make-policy verbs. If a colon-separated pair of strings are specified then they select which phases of the boot to include in the prediction/policy. The first string defines where the first prediction shall be made, and the second string defines where the last prediction shall be made. All such predictions are then combined into one set.

If used with list-components the selected location range will be highlighted in the component list.

Defaults to “760-:940-”, which means the policies generated by default will basically cover the whole runtime of the OS userspace, from the initrd (as “760-” closely follows 750-enter-initrd.pcrlock) until (and including) the main runtime of the system (as “940-” is closely followed by 950-shutdown.pcrlock). See systemd.pcrlock(5) for a full list of well-known components, that illustrate where this range is placed by default.

Added in version 255.

–recovery-pin=

Takes one of “hide”, “show” or “query”. Defaults to “hide”. Honoured by make-policy. If “query”, will query the user for a PIN to unlock the TPM2 NV index with. If no policy was created before, this PIN is used to protect the newly allocated NV index. If a policy has been created before, the PIN is used to unlock write access to the NV index. If either “hide” or “show” is used, a PIN is automatically generated, and β€” only in case of “show” β€” displayed on screen. Regardless if user supplied or automatically generated, it is stored in encrypted form in the policy metadata file. The recovery PIN may be used to regain write access to an NV index in case the access policy became out of date.

Added in version 255.

–pcrlock=

Takes a file system path as argument. If specified overrides where to write the generated pcrlock data to. Honoured by the various lock-* commands. If not specified, a default path is generally used, as documented above.

Added in version 255.

–policy=

Takes a file system path as argument. If specified overrides where to write pcrlock policy metadata to. If not specified defaults to /var/lib/systemd/pcrlock.json.

Added in version 255.

–force

If specified with make-policy, the predicted policy will be written to the NV index even if it is detected to be the same as the previously stored one.

Added in version 255.

–entry-token=

Sets the boot entry token to use for the file name for the pcrlock policy credential in the EFI System Partition or XBOOTLDR partition. See the bootctl(1) option of the same regarding expected values. This switch has an effect on the make-policy command only.

Added in version 256.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd.pcrlock(5), systemd-cryptenroll(1), [email protected](8), systemd-repart(8), systemd-pcrmachine.service(8), systemd-creds(1), systemd-stub(7), bootctl(1)

NOTES

TCG Canonical Event Log Format (CEL-JSON)

https://trustedcomputinggroup.org/resource/canonical-event-log-format/

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

6 - Linux cli command zdump

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zdump and provides detailed information about the command zdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zdump.

NAME πŸ–₯️ zdump πŸ–₯️

timezone dumper

SYNOPSIS

zdump [ option … ] [ timezone … ]

DESCRIPTION

The zdump program prints the current time in each timezone named on the command line.

OPTIONS

version
Output version information and exit.

help
Output short usage message and exit.

i
Output a description of time intervals. For each timezone on the command line, output an interval-format description of the timezone. See β€œINTERVAL FORMAT” below.

v
Output a verbose description of time intervals. For each timezone on the command line, print the times at the two extreme time values, the times (if present) at and just beyond the boundaries of years that localtime(3) and gmtime(3) can represent, and the times both one second before and exactly at each detected time discontinuity. Each line is followed by **isdst=**D where D is positive, zero, or negative depending on whether the given time is daylight saving time, standard time, or an unknown time type, respectively. Each line is also followed by **gmtoff=**N if the given local time is known to be N seconds east of Greenwich.

V
Like v, except omit output concerning extreme time and year values. This generates output that is easier to compare to that of implementations with different time representations.

c [loyear,]hiyear
Cut off interval output at the given year(s). Cutoff times are computed using the proleptic Gregorian calendar with year 0 and with Universal Time (UT) ignoring leap seconds. Cutoffs are at the start of each year, where the lower-bound timestamp is inclusive and the upper is exclusive; for example, c 1970,2070 selects transitions on or after 1970-01-01 00:00:00 UTC and before 2070-01-01 00:00:00 UTC. The default cutoff is 500,2500.

t [lotime,]hitime
Cut off interval output at the given time(s), given in decimal seconds since 1970-01-01 00:00:00 Coordinated Universal Time (UTC). The timezone determines whether the count includes leap seconds. As with c, the cutoff’s lower bound is inclusive and its upper bound is exclusive.

INTERVAL FORMAT

The interval format is a compact text representation that is intended to be both human- and machine-readable. It consists of an empty line, then a line β€œTZ=string” where string is a double-quoted string giving the timezone, a second line β€œ interval” describing the time interval before the first transition if any, and zero or more following lines β€œdate time interval”, one line for each transition time and following interval. Fields are separated by single tabs.

Dates are in yyyy-mm-dd format and times are in 24-hour hh:mm:ss format where hh<24. Times are in local time immediately after the transition. A time interval description consists of a UT offset in signed Β±hhmmss format, a time zone abbreviation, and an isdst flag. An abbreviation that equals the UT offset is omitted; other abbreviations are double-quoted strings unless they consist of one or more alphabetic characters. An isdst flag is omitted for standard time, and otherwise is a decimal integer that is unsigned and positive (typically 1) for daylight saving time and negative for unknown.

In times and in UT offsets with absolute value less than 100 hours, the seconds are omitted if they are zero, and the minutes are also omitted if they are also zero. Positive UT offsets are east of Greenwich. The UT offset 00 denotes a UT placeholder in areas where the actual offset is unspecified; by convention, this occurs when the UT offset is zero and the time zone abbreviation begins with β€œβ€ or is β€œzzz”.

In double-quoted strings, escape sequences represent unusual characters. The escape sequences are \s for space, and , , , , , , and with their usual meaning in the C programming language. E.g., the double-quoted string β€œ“CET\s\"” represents the character sequence β€œCET “.

Here is an example of the output, with the leading empty line omitted. (This example is shown with tab stops set far enough apart so that the tabbed columns line up.)

TZ="Pacific/Honolulu"
-	-	-103126	LMT
1896-01-13	12:01:26	-1030	HST
1933-04-30	03	-0930	HDT	1
1933-05-21	11	-1030	HST
1942-02-09	03	-0930	HWT	1
1945-08-14	13:30	-0930	HPT	1
1945-09-30	01	-1030	HST
1947-06-08	02:30	-10	HST

Here, local time begins 10 hours, 31 minutes and 26 seconds west of UT, and is a standard time abbreviated LMT. Immediately after the first transition, the date is 1896-01-13 and the time is 12:01:26, and the following time interval is 10.5 hours west of UT, a standard time abbreviated HST. Immediately after the second transition, the date is 1933-04-30 and the time is 03:00:00 and the following time interval is 9.5 hours west of UT, is abbreviated HDT, and is daylight saving time. Immediately after the last transition the date is 1947-06-08 and the time is 02:30:00, and the following time interval is 10 hours west of UT, a standard time abbreviated HST.

Here are excerpts from another example:

TZ="Europe/Astrakhan"
-	-	+031212	LMT
1924-04-30	23:47:48	+03
1930-06-21	01	+04
1981-04-01	01	+05		1
1981-09-30	23	+04
...
2014-10-26	01	+03
2016-03-27	03	+04

This time zone is east of UT, so its UT offsets are positive. Also, many of its time zone abbreviations are omitted since they duplicate the text of the UT offset.

LIMITATIONS

Time discontinuities are found by sampling the results returned by localtime(3) at twelve-hour intervals. This works in all real-world cases; one can construct artificial time zones for which this fails.

In the v and V output, β€œUT” denotes the value returned by gmtime(3), which uses UTC for modern timestamps and some other UT flavor for timestamps that predate the introduction of UTC. No attempt is currently made to have the output use β€œUTC” for newer and β€œUT” for older timestamps, partly because the exact date of the introduction of UTC is problematic.

SEE ALSO

tzfile(5), zic(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

7 - Linux cli command systemd-pstore.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pstore.service and provides detailed information about the command systemd-pstore.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pstore.service.

NAME πŸ–₯️ systemd-pstore.service πŸ–₯️

pstore.service, systemd-pstore - A service to archive contents of pstore

SYNOPSIS

/usr/lib/systemd/systemd-pstore

systemd-pstore.service

DESCRIPTION

systemd-pstore.service is a system service that archives the contents of the Linux persistent storage filesystem, pstore, to other storage, thus preserving the existing information contained in the pstore, and clearing pstore storage for future error events.

Linux provides a persistent storage file system, pstore, that can store error records when the kernel dies (or reboots or powers-off). These records in turn can be referenced to debug kernel problems (currently the kernel stores the tail of the kernel log, which also contains a stack backtrace, into pstore).

The pstore file system supports a variety of backends that map onto persistent storage, such as the ACPI ERST and UEFI variables. The pstore backends typically offer a relatively small amount of persistent storage, e.g. 64KiB, which can quickly fill up and thus prevent subsequent kernel crashes from recording errors. Thus there is a need to monitor and extract the pstore contents so that future kernel problems can also record information in the pstore.

The pstore service is independent of the kdump service. In cloud environments specifically, host and guest filesystems are on remote filesystems (e.g. iSCSI or NFS), thus kdump relies (implicitly and/or explicitly) upon proper operation of networking software *and* hardware *and* infrastructure. Thus it may not be possible to capture a kernel coredump to a file since writes over the network may not be possible.

The pstore backend, on the other hand, is completely local and provides a path to store error records which will survive a reboot and aid in post-mortem debugging.

The systemd-pstore executable does the actual work. Upon starting, the pstore.conf file is read and the /sys/fs/pstore/ directory contents are processed according to the options. Pstore files are written to the journal, and optionally saved into /var/lib/systemd/pstore/.

CONFIGURATION

The behavior of systemd-pstore is configured through the configuration file /etc/systemd/pstore.conf and corresponding snippets /etc/systemd/pstore.conf.d/*.conf, see pstore.conf(5).

Disabling pstore processing

To disable pstore processing by systemd-pstore, set

Storage=none

in pstore.conf(5).

Kernel parameters

The kernel has two parameters, /sys/module/kernel/parameters/crash_kexec_post_notifiers and /sys/module/printk/parameters/always_kmsg_dump, that control writes into pstore. The first enables storing of the kernel log (including stack trace) into pstore upon a panic or crash, and the second enables storing of the kernel log upon a normal shutdown (shutdown, reboot, halt). These parameters can be managed via the tmpfiles.d(5) mechanism, specifically the file /usr/lib/tmpfiles/systemd-pstore.conf.

USAGE

Data stored in the journal can be viewed with journalctl(1) as usual.

SEE ALSO

pstore.conf(5)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

8 - Linux cli command tc-fq_codel

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-fq_codel and provides detailed information about the command tc-fq_codel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-fq_codel.

NAME πŸ–₯️ tc-fq_codel πŸ–₯️

Fair Queuing (FQ) with Controlled Delay (CoDel)

SYNOPSIS

tc qdisc … fq_codel [ limit PACKETS ] [ flows NUMBER ] [ target TIME ] [ interval TIME ] [ quantum BYTES ] [ ecn | noecn ] [ ce_threshold TIME ] [ ce_threshold_selector VALUE/MASK ] [ memory_limit BYTES ]

DESCRIPTION

FQ_Codel (Fair Queuing Controlled Delay) is queuing discipline that combines Fair Queuing with the CoDel AQM scheme. FQ_Codel uses a stochastic model to classify incoming packets into different flows and is used to provide a fair share of the bandwidth to all the flows using the queue. Each such flow is managed by the CoDel queuing discipline. Reordering within a flow is avoided since Codel internally uses a FIFO queue.

PARAMETERS

limit

has the same semantics as codel and is the hard limit on the real queue size. When this limit is reached, incoming packets are dropped. Default is 10240 packets.

memory_limit

sets a limit on the total number of bytes that can be queued in this FQ-CoDel instance. The lower of the packet limit of the limit parameter and the memory limit will be enforced. Default is 32 MB.

flows

is the number of flows into which the incoming packets are classified. Due to the stochastic nature of hashing, multiple flows may end up being hashed into the same slot. Newer flows have priority over older ones. This parameter can be set only at load time since memory has to be allocated for the hash table. Default value is 1024.

target

has the same semantics as codel and is the acceptable minimum standing/persistent queue delay. This minimum delay is identified by tracking the local minimum queue delay that packets experience. Default value is 5ms.

interval

has the same semantics as codel and is used to ensure that the measured minimum delay does not become too stale. The minimum delay must be experienced in the last epoch of length interval. It should be set on the order of the worst-case RTT through the bottleneck to give endpoints sufficient time to react. Default value is 100ms.

quantum

is the number of bytes used as ‘deficit’ in the fair queuing algorithm. Default is set to 1514 bytes which corresponds to the Ethernet MTU plus the hardware header length of 14 bytes.

ecn | noecn

has the same semantics as codel and can be used to mark packets instead of dropping them. If ecn has been enabled, noecn can be used to turn it off and vice-a-versa. Unlike codel, ecn is turned on by default.

ce_threshold

sets a threshold above which all packets are marked with ECN Congestion Experienced. This is useful for DCTCP-style congestion control algorithms that require marking at very shallow queueing thresholds.

ce_threshold_selector

sets a filter so that the ce_threshold feature is applied to only a subset of the traffic seen by the qdisc. If set, the MASK value will be applied as a bitwise AND to the diffserv/ECN byte of the IP header, and only if the result of this masking equals VALUE, will the ce_threshold logic be applied to the packet.

drop_batch

sets the maximum number of packets to drop when limit or memory_limit is exceeded. Default value is 64.

EXAMPLES

#tc qdisc add dev eth0 root fq_codel
#tc -s qdisc show
qdisc fq_codel 8002: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn Sent 428514 bytes 2269 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 maxpacket 256 drop_overlimit 0 new_flow_count 0 ecn_mark 0 new_flows_len 0 old_flows_len 0

#tc qdisc add dev eth0 root fq_codel limit 2000 target 3ms interval 40ms noecn
#tc -s qdisc show
qdisc fq_codel 8003: dev eth0 root refcnt 2 limit 2000p flows 1024 quantum 1514 target 3.0ms interval 40.0ms Sent 2588985006 bytes 1783629 pkt (dropped 0, overlimits 0 requeues 34869) backlog 0b 0p requeues 34869 maxpacket 65226 drop_overlimit 0 new_flow_count 73 ecn_mark 0 new_flows_len 1 old_flows_len 3

SEE ALSO

tc(8), tc-codel(8), tc-red(8)

AUTHORS

FQ_CoDel was implemented by Eric Dumazet. This manpage was written by Vijay Subramanian. Please report corrections to the Linux Networking mailing list <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

9 - Linux cli command update-dictcommon-aspell

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-dictcommon-aspell and provides detailed information about the command update-dictcommon-aspell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-dictcommon-aspell.

NAME πŸ–₯️ update-dictcommon-aspell πŸ–₯️

dictcommon-aspell - rebuild aspell database and emacsen stuff

SYNOPSIS

update-dictcommon-aspell

DESCRIPTION

WARNING: Not to be used from the command line unless you know very well what you are doing.

This script, when called from aspell dict package postinst or postrm will rebuild aspell database as well as squirrelmail, jed and emacsen stuff.

SEE ALSO

The dictionaries-common policy

AUTHORS

Rafael Laboissiere, Agustin Martin

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

10 - Linux cli command tc-fq

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-fq and provides detailed information about the command tc-fq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-fq.

NAME πŸ–₯️ tc-fq πŸ–₯️

Fair Queue traffic policing

SYNOPSIS

tc qdisc … fq [ limit PACKETS ] [ flow_limit PACKETS ] [ quantum BYTES ] [ initial_quantum BYTES ] [ maxrate RATE ] [ buckets NUMBER ] [ orphan_mask NUMBER ] [ pacing | nopacing ] [ ce_threshold TIME ]

DESCRIPTION

FQ (Fair Queue) is a classless packet scheduler meant to be mostly used for locally generated traffic. It is designed to achieve per flow pacing. FQ does flow separation, and is able to respect pacing requirements set by TCP stack. All packets belonging to a socket are considered as a ‘flow’. For non local packets (router workload), packet hash is used as fallback.

An application can specify a maximum pacing rate using the SO_MAX_PACING_RATE setsockopt call. This packet scheduler adds delay between packets to respect rate limitation set on each socket. Note that after linux-4.20, linux adopted EDT (Earliest Departure Time) and TCP directly sets the appropriate Departure Time for each skb.

Dequeueing happens in a round-robin fashion. A special FIFO queue is reserved for high priority packets ( TC_PRIO_CONTROL priority), such packets are always dequeued first.

FQ is non-work-conserving.

TCP pacing is good for flows having idle times, as the congestion window permits TCP stack to queue a possibly large number of packets. This removes the ‘slow start after idle’ choice, badly hitting large BDP flows and applications delivering chunks of data such as video streams.

PARAMETERS

limit

Hard limit on the real queue size. When this limit is reached, new packets are dropped. If the value is lowered, packets are dropped so that the new limit is met. Default is 10000 packets.

flow_limit

Hard limit on the maximum number of packets queued per flow. Default value is 100.

quantum

The credit per dequeue RR round, i.e. the amount of bytes a flow is allowed to dequeue at once. A larger value means a longer time period before the next flow will be served. Default is 2 * interface MTU bytes.

initial_quantum

The initial sending rate credit, i.e. the amount of bytes a new flow is allowed to dequeue initially. This is specifically meant to allow using IW10 without added delay. Default is 10 * interface MTU, i.e. 15140 for ‘standard’ ethernet.

maxrate

Maximum sending rate of a flow. Default is unlimited. Application specific setting via SO_MAX_PACING_RATE is ignored only if it is larger than this value.

buckets

The size of the hash table used for flow lookups. Each bucket is assigned a red-black tree for efficient collision sorting. Default: 1024.

orphan_mask

For packets not owned by a socket, fq is able to mask a part of skb->hash and reduce number of buckets associated with the traffic. This is a DDOS prevention mechanism, and the default is 1023 (meaning no more than 1024 flows are allocated for these packets)

[no]pacing

Enable or disable flow pacing. Default is enabled.

ce_threshold

sets a threshold above which all packets are marked with ECN Congestion Experienced. This is useful for DCTCP-style congestion control algorithms that require marking at very shallow queueing thresholds.

EXAMPLES

#tc qdisc add dev eth0 root fq ce_threshold 4ms
#tc -s -d qdisc show dev eth0
qdisc fq 8001: dev eth0 root refcnt 2 limit 10000p flow_limit 100p buckets 1024 orphan_mask 1023 quantum 3028b initial_quantum 15140b low_rate_threshold 550Kbit refill_delay 40.0ms ce_threshold 4.0ms Sent 72149092 bytes 48062 pkt (dropped 2176, overlimits 0 requeues 0) backlog 1937920b 1280p requeues 0 flows 34 (inactive 17 throttled 0) gc 0 highprio 0 throttled 0 ce_mark 47622 flows_plimit 2176

SEE ALSO

tc(8), socket(7)

AUTHORS

FQ was written by Eric Dumazet.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

11 - Linux cli command vfs_shadow_copy2

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_shadow_copy2 and provides detailed information about the command vfs_shadow_copy2, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_shadow_copy2.

NAME πŸ–₯️ vfs_shadow_copy2 πŸ–₯️

Expose snapshots to Windows clients as shadow copies.

SYNOPSIS

vfs objects = shadow_copy2

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_shadow_copy2 VFS module offers a functionality similar to Microsoft Shadow Copy services. When set up properly, this module allows Microsoft Shadow Copy clients to browse through file system snapshots as “shadow copies” on Samba shares.

This is a second implementation of a shadow copy module which has the following additional features (compared to the original shadow_copy(8) module):

1.

There is no need any more to populate your shares root directory with symlinks to the snapshots if the file system stores the snapshots elsewhere. Instead, you can flexibly configure the module where to look for the file system snapshots. This can be very important when you have thousands of shares, or use [homes].

2.

Snapshot directories need not be in one fixed central place but can be located anywhere in the directory tree. This mode helps to support file systems that offer snapshotting of particular subtrees, for example the GPFS independent file sets.

3.

Vanity naming for snapshots: snapshots can be named in any format compatible with str[fp]time conversions.

4.

Timestamps can be represented in localtime rather than UTC.

5.

The inode number of the files can optionally be altered to be different from the original. This fixes the restore button in the Windows GUI to work without a sharing violation when serving from file systems, like GPFS, that return the same device and inode number for the snapshot file and the original.

6.

Shadow copy results are by default sorted before being sent to the client. This is beneficial for filesystems that dont read directories alphabetically (the default unix). Sort ordering can be configured and sorting can be turned off completely if the file system sorts its directory listing.

This module is stackable.

CONFIGURATION

vfs_shadow_copy2 relies on a filesystem snapshot implementation. Many common filesystems have native support for this.

Filesystem snapshots must be available under specially named directories in order to be recognized by vfs_shadow_copy2. These snapshot directory is typically a direct subdirectory of the share roots mountpoint but there are other modes that can be configured with the parameters described in detail below.

The snapshot at a given point in time is expected in a subdirectory of the snapshot directory where the snapshots directory is expected to be a formatted version of the snapshot time. The default format which can be changed with the shadow:format option is @GMT-YYYY.MM.DD-hh.mm.ss, where:

Β·

YYYY is the 4 digit year

Β·

MM is the 2 digit month

Β·

DD is the 2 digit day

Β·

hh is the 2 digit hour

Β·

mm is the 2 digit minute

Β·

ss is the 2 digit second.

The vfs_shadow_copy2 snapshot naming convention can be produced with the following date(1) command:

TZ=GMT date +@GMT-%Y.%m.%d-%H.%M.%S

OPTIONS

shadow:mountpoint = MOUNTPOINT

With this parameter, one can specify the mount point of the filesystem that contains the share path. Usually this mount point is automatically detected. But for some constellations, in particular tests, it can be convenient to be able to specify it.

Example: shadow:mountpoint = /path/to/filesystem

Default: shadow:mountpoint = NOT SPECIFIED

shadow:snapdir = SNAPDIR

Path to the directory where the file system of the share keeps its snapshots. If an absolute path is specified, it is used as-is. If a relative path is specified, then it is taken relative to the mount point of the filesystem of the share root. (See shadow:mountpoint.)

Note that shadow:snapdirseverywhere depends on this parameter and needs a relative path. Setting an absolute path disables shadow:snapdirseverywhere.

Note that the shadow:crossmountpoints option also requires a relative snapdir. Setting an absolute path disables shadow:crossmountpoints.

Example: shadow:snapdir = /some/absolute/path

Default: shadow:snapdir = .snapshots

shadow:basedir = BASEDIR

The basedir option allows one to specify a directory between the shares mount point and the share root, relative to which the file systems snapshots are taken.

For example, if

Β·

basedir = mountpoint/rel_basedir

Β·

share_root = basedir/rel_share_root

Β·

snapshot_path = mountpoint/snapdir

or snapshot_path = snapdir if snapdir is absolute

then the snapshot of a file = mountpoint/rel_basedir/rel_share_root/rel_file at a time TIME will be found under snapshot_path/FS_GMT_TOKEN(TIME)/rel_share_root/rel_file, where FS_GMT_TOKEN(TIME) is the timestamp string belonging to TIME in the format required by the file system. (See shadow:format.)

The default for the basedir is the mount point of the file system of the share root (see shadow:mountpoint).

Note that the shadow:snapdirseverywhere and shadow:crossmountpoints options are incompatible with shadow:basedir and disable the basedir setting.

shadow:snapsharepath = SNAPSHAREPATH

With this parameter, one can specify the path of the shares root directory in snapshots, relative to the snapshots root directory. It is an alternative method to shadow:basedir, allowing greater control.

For example, if within each snapshot the files of the share have a path/to/share/ prefix, then shadow:snapsharepath can be set to path/to/share.

With this parameter, it is no longer assumed that a snapshot represents an image of the original file system or a portion of it. For example, a system could perform backups of only files contained in shares, and then expose the backup files in a logical structure:

Β·

share1/

Β·

share2/

Β·

…/

Note that the shadow:snapdirseverywhere and the shadow:basedir options are incompatible with shadow:snapsharepath and disable shadow:snapsharepath setting.

Example: shadow:snapsharepath = path/to/share

Default: shadow:snapsharepath = NOT SPECIFIED

shadow:sort = asc/desc

By default, this module sorts the shadow copy data alphabetically before sending it to the client. With this parameter, one can specify the sort order. Possible known values are desc (descending, the default) and asc (ascending). If the file system lists directories alphabetically sorted, one can turn off sorting in this module by specifying any other value.

Example: shadow:sort = asc

Example: shadow:sort = none

Default: shadow:sort = desc

shadow:localtime = yes/no

This is an optional parameter that indicates whether the snapshot names are in UTC/GMT or in local time. If it is disabled then UTC/GMT is expected.

shadow:localtime = no

shadow:format = format specification for snapshot names

This is an optional parameter that specifies the format specification for the naming of snapshots in the file system. The format must be compatible with the conversion specifications recognized by str[fp]time.

Default: shadow:format = “@GMT-%Y.%m.%d-%H.%M.%S”

shadow:sscanf = yes/no

This parameter can be used to specify that the time in format string is given as an unsigned long integer (%lu) rather than a time strptime() can parse. The result must be a unix time_t time.

Default: shadow:sscanf = no

shadow:fixinodes = yes/no

If you enable shadow:fixinodes then this module will modify the apparent inode number of files in the snapshot directories using a hash of the files path. This is needed for snapshot systems where the snapshots have the same device:inode number as the original files (such as happens with GPFS snapshots). If you dont set this option then the restore button in the shadow copy UI will fail with a sharing violation.

Default: shadow:fixinodes = no

shadow:snapdirseverywhere = yes/no

If you enable shadow:snapdirseverywhere then this module will look out for snapshot directories in the current working directory and all parent directories, stopping at the mount point by default. But see shadow:crossmountpoints how to change that behaviour.

An example where this is needed are independent filesets in IBMs GPFS, but other filesystems might support snapshotting only particular subtrees of the filesystem as well.

Note that shadow:snapdirseverywhere depends on shadow:snapdir and needs it to be a relative path. Setting an absolute snapdir path disables shadow:snapdirseverywhere.

Note that this option is incompatible with the shadow:basedir option and removes the shadow:basedir setting by itself.

Example: shadow:snapdirseverywhere = yes

Default: shadow:snapdirseverywhere = no

shadow:crossmountpoints = yes/no

This option is effective in the case of shadow:snapdirseverywhere = yes. Setting this option makes the module not stop at the first mount point encountered when looking for snapdirs, but lets it search potentially all through the path instead.

An example where this is needed are independent filesets in IBMs GPFS, but other filesystems might support snapshotting only particular subtrees of the filesystem as well.

Note that shadow:crossmountpoints depends on shadow:snapdir and needs it to be a relative path. Setting an absolute snapdir path disables shadow:crossmountpoints.

Note that this option is incompatible with the shadow:basedir option and removes the shadow:basedir setting by itself.

Example: shadow:crossmountpoints = yes

Default: shadow:crossmountpoints = no

shadow:snapprefix

With growing number of snapshots file-systems need some mechanism to differentiate one set of snapshots from other, e.g. monthly, weekly, manual, special events, etc. Therefore these file-systems provide different ways to tag snapshots, e.g. provide a configurable way to name snapshots, which is not just based on time. With only shadow:format it is very difficult to filter these snapshots. With this optional parameter, one can specify a variable prefix component for names of the snapshot directories in the file-system. If this parameter is set, together with the shadow:format and shadow:delimiter parameters it determines the possible names of snapshot directories in the file-system. The option only supports Basic Regular Expression (BRE).

shadow:delimiter

This optional parameter is used as a delimiter between shadow:snapprefix and shadow:format. This parameter is used only when shadow:snapprefix is set.

Default: shadow:delimiter = “_GMT”

EXAMPLES

Add shadow copy support to user home directories:

    [homes]
	vfs objects = shadow_copy2
	shadow:snapdir = /data/snapshots
	shadow:basedir = /data/home
	shadow:sort = desc

CAVEATS

This is not a backup, archival, or version control solution.

With Samba or Windows servers, vfs_shadow_copy2 is designed to be an end-user tool only. It does not replace or enhance your backup and archival solutions and should in no way be considered as such. Additionally, if you need version control, implement a version control system.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

12 - Linux cli command systemd-rfkill.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-rfkill.service and provides detailed information about the command systemd-rfkill.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-rfkill.service.

NAME πŸ–₯️ systemd-rfkill.service πŸ–₯️

rfkill.service, systemd-rfkill.socket, systemd-rfkill - Load and save the RF kill switch state at boot and change

SYNOPSIS

systemd-rfkill.service

systemd-rfkill.socket

/usr/lib/systemd/systemd-rfkill

DESCRIPTION

systemd-rfkill.service is a service that restores the RF kill switch state at early boot and saves it on each change. On disk, the RF kill switch state is stored in /var/lib/systemd/rfkill/.

KERNEL COMMAND LINE

systemd-rfkill understands the following kernel command line parameter:

systemd.restore_state=

Takes a boolean argument. Defaults to “1”. If “0”, does not restore the rfkill settings on boot. However, settings will still be stored on shutdown.

Added in version 227.

SEE ALSO

systemd(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

13 - Linux cli command tc-mpls

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-mpls and provides detailed information about the command tc-mpls, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-mpls.

NAME πŸ–₯️ tc-mpls πŸ–₯️

mpls manipulation module

SYNOPSIS

tcaction mpls { POP | PUSH | MODIFY | dec_ttl } [ CONTROL ]

POP := pop protocol MPLS_PROTO

PUSH := { push | mac_push } [ protocol MPLS_PROTO ] [ tc MPLS_TC ] [ ttl MPLS_TTL ] [ bos MPLS_BOS ] label* MPLS_LABEL*

MODIFY := modify [ label MPLS_LABEL ] [ tc MPLS_TC ] [ ttl MPLS_TTL ]

CONTROL := { reclassify | pipe | drop | continue | pass | goto chain CHAIN_INDEX }

DESCRIPTION

The mpls action performs mpls encapsulation or decapsulation on a packet, reflected by the operation modes POP, PUSH, MODIFY and DEC_TTL. The POP mode requires the ethertype of the header that follows the MPLS header (e.g. IPv4 or another MPLS). It will remove the outer MPLS header and replace the ethertype in the MAC header with that passed. The PUSH and MODIFY modes update the current MPLS header information or add a new header. PUSH requires at least an MPLS_LABEL. DEC_TTL requires no arguments and simply subtracts 1 from the MPLS header TTL field.

OPTIONS

pop
Decapsulation mode. Requires the protocol of the next header.

push
Encapsulation mode. Adds the MPLS header between the MAC and the network headers. Requires at least the label option.

mac_push
Encapsulation mode. Adds the MPLS header before the MAC header. Requires at least the label option.

modify
Replace mode. Existing MPLS tag is replaced. label, tc, and ttl are all optional.

dec_ttl
Decrement the TTL field on the outer most MPLS header.

label* MPLS_LABEL*
Specify the MPLS LABEL for the outer MPLS header. MPLS_LABEL is an unsigned 20bit integer, the format is detected automatically (e.g. prefix with ‘0x’ for hexadecimal interpretation, etc.).

protocol* MPLS_PROTO*
Choose the protocol to use. For push actions this must be mpls_uc or mpls_mc (mpls_uc is the default). For pop actions it should be the protocol of the next header. This option cannot be used with modify.

tc* MPLS_TC*
Choose the TC value for the outer MPLS header. Decimal number in range of 0-7. Defaults to 0.

ttl* MPLS_TTL*
Choose the TTL value for the outer MPLS header. Number in range of 0-255. A non-zero default value will be selected if this is not explicitly set.

bos* MPLS_BOS*
Manually configure the bottom of stack bit for an MPLS header push. The default is for TC to automatically set (or unset) the bit based on the next header of the packet.

CONTROL
How to continue after executing this action.

reclassify
Restarts classification by jumping back to the first filter attached to this action’s parent.

pipe
Continue with the next action, this is the default.

drop
Packet will be dropped without running further actions.

continue
Continue classification with next filter in line.

pass
Return to calling qdisc for packet processing. This ends the classification process.

EXAMPLES

The following example encapsulates incoming IP packets on eth0 into MPLS with a label 123 and sends them out eth1:

#tc qdisc add dev eth0 handle ffff: ingress #tc filter add dev eth0 protocol ip parent ffff: flower
action mpls push protocol mpls_uc label 123
action mirred egress redirect dev eth1

In this example, incoming MPLS unicast packets on eth0 are decapsulated and redirected to eth1:

#tc qdisc add dev eth0 handle ffff: ingress #tc filter add dev eth0 protocol mpls_uc parent ffff: flower
action mpls pop protocol ipv4
action mirred egress redirect dev eth1

Here is another example, where incoming Ethernet frames are encapsulated into MPLS with label 123 and TTL 64. Then, an outer Ethernet header is added and the resulting frame is finally sent on eth1:

#tc qdisc add dev eth0 ingress #tc filter add dev eth0 ingress matchall
action mpls mac_push label 123 ttl 64
action vlan push_eth
dst_mac 02:00:00:00:00:02
src_mac 02:00:00:00:00:01
action mirred egress redirect dev eth1

The following example assumes that incoming MPLS packets with label 123 transport Ethernet frames. The outer Ethernet and the MPLS headers are stripped, then the inner Ethernet frame is sent on eth1:

#tc qdisc add dev eth0 ingress #tc filter add dev eth0 ingress protocol mpls_uc
flower mpls_label 123 mpls_bos 1
action vlan pop_eth
action mpls pop protocol teb
action mirred egress redirect dev eth1

SEE ALSO

tc(8), tc-mirred(8), tc-vlan(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

14 - Linux cli command wdctl

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wdctl and provides detailed information about the command wdctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wdctl.

NAME πŸ–₯️ wdctl πŸ–₯️

show hardware watchdog status

SYNOPSIS

wdctl [options] [device…]

DESCRIPTION

Show hardware watchdog status. The default device is /dev/watchdog. If more than one device is specified then the output is separated by one blank line.

If the device is already used or user has no permissions to read from the device, then wdctl reads data from sysfs. In this case information about supported features (flags) might be missing.

Note that the number of supported watchdog features is hardware specific.

OPTIONS

-f, –flags list

Print only the specified flags.

-F, –noflags

Do not print information about flags.

-I, –noident

Do not print watchdog identity information.

-n, –noheadings

Do not print a header line for flags table.

-o, –output list

Define the output columns to use in table of watchdog flags. If no output arrangement is specified, then a default set is used. Use –help to get list of all supported columns.

-O, –oneline

Print all wanted information on one line in key=“value” output format.

-p, –setpretimeout seconds

Set the watchdog pre-timeout in seconds. A watchdog pre-timeout is a notification generated by the watchdog before the watchdog reset might occur in the event the watchdog has not been serviced. This notification is handled by the kernel and can be configured to take an action using sysfs or by –setpregovernor.

-g, –setpregovernor governor

Set pre-timeout governor name. For available governors see default wdctl output.

-r, –raw

Use the raw output format.

-s, –settimeout seconds

Set the watchdog timeout in seconds.

-T, –notimeouts

Do not print watchdog timeouts.

-x, –flags-only

Same as -I -T.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

AUTHORS

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The wdctl command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

15 - Linux cli command tc-sfq

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-sfq and provides detailed information about the command tc-sfq, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-sfq.

NAME πŸ–₯️ tc-sfq πŸ–₯️

Stochastic Fairness Queueing

SYNOPSIS

tc qdisc … [ divisor hashtablesize ] [ limit packets ] [ perturb seconds ] [ quantum bytes ] [ flows number ] [ depth number ] [ headdrop ] [ redflowlimit bytes ] [ min bytes ] [ max bytes ] [ avpkt bytes ] [ burst packets ] [ probability P ] [ ecn ] [ harddrop ]

DESCRIPTION

Stochastic Fairness Queueing is a classless queueing discipline available for traffic control with the tc(8) command.

SFQ does not shape traffic but only schedules the transmission of packets, based on ‘flows’. The goal is to ensure fairness so that each flow is able to send data in turn, thus preventing any single flow from drowning out the rest.

This may in fact have some effect in mitigating a Denial of Service attempt.

SFQ is work-conserving and therefore always delivers a packet if it has one available.

ALGORITHM

On enqueueing, each packet is assigned to a hash bucket, based on the packets hash value. This hash value is either obtained from an external flow classifier (use tc filter to set them), or a default internal classifier if no external classifier has been configured.

When the internal classifier is used, sfq uses

(i)
Source address

(ii)
Destination address

(iii)
Source and Destination port

If these are available. SFQ knows about ipv4 and ipv6 and also UDP, TCP and ESP. Packets with other protocols are hashed based on the 32bits representation of their destination and source. A flow corresponds mostly to a TCP/IP connection.

Each of these buckets should represent a unique flow. Because multiple flows may get hashed to the same bucket, sfqs internal hashing algorithm may be perturbed at configurable intervals so that the unfairness lasts only for a short while. Perturbation may however cause some inadvertent packet reordering to occur. After linux-3.3, there is no packet reordering problem, but possible packet drops if rehashing hits one limit (number of flows or packets per flow)

When dequeuing, each hashbucket with data is queried in a round robin fashion.

Before linux-3.3, the compile time maximum length of the SFQ is 128 packets, which can be spread over at most 128 buckets of 1024 available. In case of overflow, tail-drop is performed on the fullest bucket, thus maintaining fairness.

After linux-3.3, maximum length of SFQ is 65535 packets, and divisor limit is 65536. In case of overflow, tail-drop is performed on the fullest bucket, unless headdrop was requested.

PARAMETERS

divisor
Can be used to set a different hash table size, available from kernel 2.6.39 onwards. The specified divisor must be a power of two and cannot be larger than 65536. Default value: 1024.

limit
Upper limit of the SFQ. Can be used to reduce the default length of 127 packets. After linux-3.3, it can be raised.

depth
Limit of packets per flow (after linux-3.3). Default to 127 and can be lowered.

perturb
Interval in seconds for queue algorithm perturbation. Defaults to 0, which means that no perturbation occurs. Do not set too low for each perturbation may cause some packet reordering or losses. Advised value: 60 This value has no effect when external flow classification is used. Its better to increase divisor value to lower risk of hash collisions.

quantum
Amount of bytes a flow is allowed to dequeue during a round of the round robin process. Defaults to the MTU of the interface which is also the advised value and the minimum value.

flows
After linux-3.3, it is possible to change the default limit of flows. Default value is 127

headdrop
Default SFQ behavior is to perform tail-drop of packets from a flow. You can ask a headdrop instead, as this is known to provide a better feedback for TCP flows.

redflowlimit
Configure the optional RED module on top of each SFQ flow. Random Early Detection principle is to perform packet marks or drops in a probabilistic way. (man tc-red for details about RED)

redflowlimit configures the hard limit on the real (not average) queue size per SFQ flow in bytes.

min
Average queue size at which marking becomes a possibility. Defaults to max /3

max
At this average queue size, the marking probability is maximal. Defaults to redflowlimit /4

probability
Maximum probability for marking, specified as a floating point number from 0.0 to 1.0. Default value is 0.02

avpkt
Specified in bytes. Used with burst to determine the time constant for average queue size calculations. Default value is 1000

burst
Used for determining how fast the average queue size is influenced by the real queue size.

Default value is :
(2 * min + max) / (3 * avpkt)

ecn
RED can either ‘mark’ or ‘drop’. Explicit Congestion Notification allows RED to notify remote hosts that their rate exceeds the amount of bandwidth available. Non-ECN capable hosts can only be notified by dropping a packet. If this parameter is specified, packets which indicate that their hosts honor ECN will only be marked and not dropped, unless the queue size hits depth packets.

harddrop
If average flow queue size is above max bytes, this parameter forces a drop instead of ecn marking.

EXAMPLE & USAGE

To attach to device ppp0:

# tc qdisc add dev ppp0 root sfq

Please note that SFQ, like all non-shaping (work-conserving) qdiscs, is only useful if it owns the queue. This is the case when the link speed equals the actually available bandwidth. This holds for regular phone modems, ISDN connections and direct non-switched ethernet links.

Most often, cable modems and DSL devices do not fall into this category. The same holds for when connected to a switch and trying to send data to a congested segment also connected to the switch.

In this case, the effective queue does not reside within Linux and is therefore not available for scheduling.

Embed SFQ in a classful qdisc to make sure it owns the queue.

It is possible to use external classifiers with sfq, for example to hash traffic based only on source/destination ip addresses:

# tc filter add … flow hash keys src,dst perturb 30 divisor 1024

Note that the given divisor should match the one used by sfq. If you have changed the sfq default of 1024, use the same value for the flow hash filter, too.

Example of sfq with optional RED mode :

# tc qdisc add dev eth0 parent 1:1 handle 10: sfq limit 3000 flows 512 divisor 16384 redflowlimit 100000 min 8000 max 60000 probability 0.20 ecn headdrop

SOURCE

o
Paul E. McKenney “Stochastic Fairness Queuing”, IEEE INFOCOMM'90 Proceedings, San Francisco, 1990.

o
Paul E. McKenney “Stochastic Fairness Queuing”, “Interworking: Research and Experience”, v.2, 1991, p.113-131.

o
See also: M. Shreedhar and George Varghese “Efficient Fair Queuing using Deficit Round Robin”, Proc. SIGCOMM 95.

SEE ALSO

tc(8), tc-red(8)

AUTHORS

Alexey N. Kuznetsov, <[email protected]>, Eric Dumazet <[email protected]>.

This manpage maintained by bert hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

16 - Linux cli command vfs_btrfs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_btrfs and provides detailed information about the command vfs_btrfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_btrfs.

NAME πŸ–₯️ vfs_btrfs πŸ–₯️

Utilize features provided by the Btrfs filesystem

SYNOPSIS

vfs objects = btrfs

DESCRIPTION

This VFS module is part of the samba(8) suite.

The vfs_btrfs VFS module exposes Btrfs specific features for use by Samba.

Btrfs allows for multiple files to share the same on-disk data through the use cloned ranges. When an SMB client issues a request to copy duplicate data (via FSCTL_SRV_COPYCHUNK), this module maps the request to a Btrfs clone range IOCTL, instead of performing reads and writes required by a traditional copy. Doing so saves storage capacity and greatly reduces disk IO.

This module also exposes Btrfs per-file compression support to SMB clients via the get/set compression fsctls.

Btrfs snapshots can be manipulated by Sambas FSRVP server. Snapshot manipulation using this module is currently considered experimental, and is therefore disabled by default. The vfs_snapper module is instead recommended for this purpose.

This module is stackable.

OPTIONS

btrfs: manipulate snapshots = [yes|no]

When set to yes, experimental support for the creation and deletion of snapshots via corresponding Btrfs IOCTLs will be enabled. The default is no, which means that such requests are passed through to any underlying VFS module.

CONFIGURATION

vfs_btrfs requires that the underlying share path is a Btrfs subvolume.

  [share]
		vfs objects = btrfs
		btrfs: manipulate snapshots = no

To use the experimental snapshot manipulation functionality provided by this module, it must be explicitly enabled, and Sambas FSRVP server must be running.

The vfs_shadow_copy module can be used to expose snapshots created by vfs_btrfs to Windows Explorer as file / directory “previous versions”.

  [global]
		registry shares = yes
		include = registry

		[share]
		vfs objects = btrfs shadow_copy
		btrfs: manipulate snapshots = yes

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

17 - Linux cli command veritysetup

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command veritysetup and provides detailed information about the command veritysetup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the veritysetup.

NAME πŸ–₯️ veritysetup πŸ–₯️

manage dm-verity (block level verification) volumes

SYNOPSIS

veritysetup <action> [<options>] <action args>

DESCRIPTION

Veritysetup is used to configure dm-verity managed device-mapper mappings.

Device-mapper verity target provides read-only transparent integrity checking of block devices using kernel crypto API.

The dm-verity devices are always read-only.

BASIC ACTIONS

Veritysetup supports these operations:

FORMAT

format <data_device> <hash_device>

Calculates and permanently stores hash verification data for data_device. Hash area can be located on the same device after data if specified by –hash-offset option.

Note you need to provide root hash string for device verification or activation. Root hash must be trusted.

The data or hash device argument can be block device or file image. If hash device path doesn’t exist, it will be created as file.

<options> can be [–hash, –no-superblock, –format, –data-block-size, –hash-block-size, –data-blocks, –hash-offset, –salt, –uuid, –root-hash-file].

If option –root-hash-file is used, the root hash is stored in hex-encoded text format in <path>.

OPEN

open <data_device> <name> <hash_device> <root_hash>
open <data_device> <name> <hash_device> –root-hash-file <path>
create <name> <data_device> <hash_device> <root_hash> (OBSOLETE syntax)

Creates a mapping with <name> backed by device <data_device> and using <hash_device> for in-kernel verification.

The <root_hash> is a hexadecimal string.

<options> can be [–hash-offset, –no-superblock, –ignore-corruption or –restart-on-corruption, –panic-on-corruption, –ignore-zero-blocks, –check-at-most-once, –root-hash-signature, –root-hash-file, –use-tasklets].

If option –root-hash-file is used, the root hash is read from <path> instead of from the command line parameter. Expects hex-encoded text, without terminating newline.

If option –no-superblock is used, you have to use as the same options as in initial format operation.

VERIFY

verify <data_device> <hash_device> <root_hash>
verify <data_device> <hash_device> –root-hash-file <path>

Verifies data on data_device with use of hash blocks stored on hash_device.

This command performs userspace verification, no kernel device is created.

The <root_hash> is a hexadecimal string.

If option –root-hash-file is used, the root hash is read from <path> instead of from the command line parameter. Expects hex-encoded text, without terminating newline.

<options> can be [–hash-offset, –no-superblock, –root-hash-file].

If option –no-superblock is used, you have to use as the same options as in initial format operation.

CLOSE

close <name>
remove <name> (OBSOLETE syntax)

Removes existing mapping <name>.

<options> can be [–deferred] or [–cancel-deferred].

STATUS

status <name>

Reports status for the active verity mapping <name>.

DUMP

dump <hash_device>

Reports parameters of verity device from on-disk stored superblock.

<options> can be [–hash-offset].

OPTIONS

–batch-mode, -q

Do not ask for confirmation.

–cancel-deferred

Removes a previously configured deferred device removal in close command.

–check-at-most-once

Instruct kernel to verify blocks only the first time they are read from the data device, rather than every time.

WARNING: It provides a reduced level of security because only offline tampering of the data device’s content will be detected, not online tampering. This option is available since Linux kernel version 4.17.

–data-blocks=blocks

Size of data device used in verification. If not specified, the whole device is used.

–data-block-size=bytes

Used block size for the data device. (Note kernel supports only page-size as maximum here.)

–debug

Run in debug mode with full diagnostic logs. Debug output lines are always prefixed by #.

–deferred

Defers device removal in close command until the last user closes it.

–fec-device=fec_device

Use forward error correction (FEC) to recover from corruption if hash verification fails. Use encoding data from the specified device.

The fec device argument can be block device or file image. For format, if fec device path doesn’t exist, it will be created as file.

Block sizes for data and hash devices must match. Also, if the verity data_device is encrypted the fec_device should be too.

FEC calculation covers data, hash area, and optional foreign metadata stored on the same device with the hash tree (additional space after hash area). Size of this optional additional area protected by FEC is calculated from image sizes, so you must be sure that you use the same images for activation.

If the hash device is in a separate image, metadata covers the whole rest of the image after the hash area.

If hash and FEC device is in the image, metadata ends on the FEC area offset.

–fec-offset=bytes

This is the offset, in bytes, from the start of the FEC device to the beginning of the encoding data.

–fec-roots=num

Number of generator roots. This equals to the number of parity bytes in the encoding data. In RS(M, N) encoding, the number of roots is M-N. M is 255 and M-N is between 2 and 24 (including).

–format=number

Specifies the hash version type. Format type 0 is original Chrome OS version. Format type 1 is current version.

–hash=hash

Hash algorithm for dm-verity. For default see –help option.

–hash-block-size=bytes

Used block size for the hash device. (Note kernel supports only page-size as maximum here.)

–hash-offset=bytes

Offset of hash area/superblock on hash_device. Value must be aligned to disk sector offset.

–help, -?

Show help text and default parameters.

–ignore-corruption, –restart-on-corruption, –panic-on-corruption

Defines what to do if data integrity problem is detected (data corruption).

Without these options kernel fails the IO operation with I/O error. With –ignore-corruption option the corruption is only logged. With –restart-on-corruption or –panic-on-corruption the kernel is restarted (panicked) immediately. (You have to provide way how to avoid restart loops.)

WARNING: Use these options only for very specific cases. These options are available since Linux kernel version 4.1.

–ignore-zero-blocks

Instruct kernel to not verify blocks that are expected to contain zeroes and always directly return zeroes instead.

WARNING: Use this option only in very specific cases. This option is available since Linux kernel version 4.5.

–no-superblock

Create or use dm-verity without permanent on-disk superblock.

–root-hash-file=FILE

Path to file with stored root hash in hex-encoded text.

–root-hash-signature=FILE

Path to root hash signature file used to verify the root hash (in kernel). This feature requires Linux kernel version 5.4 or more recent.

–salt=hex string

Salt used for format or verification. Format is a hexadecimal string.

–usage

Show short option help.

–use-tasklets

Try to use kernel tasklets in dm-verity driver for performance reasons. This option is available since Linux kernel version 6.0.

–uuid=UUID

Use the provided UUID for format command instead of generating new one.

The UUID must be provided in standard UUID format, e.g. 12345678-1234-1234-1234-123456789abc.

–verbose, -v

Print more information on command execution.

–version, -V

Show the program version.

RETURN CODES

Veritysetup returns 0 on success and a non-zero value on error.

Error codes are: 1 wrong parameters, 2 no permission, 3 out of memory, 4 wrong device specified, 5 device already exists or device is busy.

EXAMPLES

veritysetup –data-blocks=256 format <data_device> <hash_device>

Calculates and stores verification data on hash_device for the first 256 blocks (of block-size). If hash_device does not exist, it is created (as file image).

veritysetup format –root-hash-file <path> <data_device> <hash_device>

Calculates and stores verification data on hash_device for the whole data_device, and store the root hash as hex-encoded text in <path>.

veritysetup –data-blocks=256 –hash-offset=1052672 format <device> <device>

Verification data (hashes) is stored on the same device as data (starting at hash-offset). Hash-offset must be greater than number of blocks in data-area.

veritysetup –data-blocks=256 –hash-offset=1052672 create test-device <device> <device> <root_hash>

Activates the verity device named test-device. Options –data-blocks and –hash-offset are the same as in the format command. The <root_hash> was calculated in format command.

veritysetup –data-blocks=256 –hash-offset=1052672 verify <data_device> <hash_device> <root_hash>

Verifies device without activation (in userspace).

veritysetup –data-blocks=256 –hash-offset=1052672 –root-hash-file <path> verify <data_device> <hash_device>

Verifies device without activation (in userspace). Root hash passed via a file rather than inline.

veritysetup –fec-device=<fec_device> –fec-roots=10 format <data_device> <hash_device>

Calculates and stores verification and encoding data for data_device.

DM-VERITY ON-DISK SPECIFICATION

The on-disk format specification is available at DMVerity <https://gitlab.com/cryptsetup/cryptsetup/wikis/DMVerity> page.

AUTHORS

The first implementation of veritysetup was written by Chrome OS authors.

This version is based on verification code written by

and rewritten for libcryptsetup by

REPORTING BUGS

Report bugs at

or in Issues project section <https://gitlab.com/cryptsetup/cryptsetup/-/issues/new>.

Please attach output of the failed command with –debug option added.

SEE ALSO

Cryptsetup FAQ <https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions>

cryptsetup(8), integritysetup(8) and veritysetup(8)

CRYPTSETUP

Part of cryptsetup project <https://gitlab.com/cryptsetup/cryptsetup/>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

18 - Linux cli command upowerd

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command upowerd and provides detailed information about the command upowerd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the upowerd.

NAME πŸ–₯️ upowerd πŸ–₯️

UPower Daemon

SYNOPSIS

upowerd [–help]

DESCRIPTION

upowerd provides the org.freedesktop.UPower service on the system message bus. Users or administrators should never need to start this daemon as it will be automatically started by dbus-daemon(1) whenever an application calls into the org.freedesktop.UPower service.

OPTIONS

–help

Show help options.

AUTHOR

Written by David Zeuthen <[email protected]> with a lot of help from many others.

BUGS

Please send bug reports to either the distribution or the DeviceKit mailing list, see http://lists.freedesktop.org/mailman/listinfo/devkit-devel on how to subscribe.

SEE ALSO

UPower(7), upower(1), dbus-daemon(1),

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

19 - Linux cli command systemd-rfkill

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-rfkill and provides detailed information about the command systemd-rfkill, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-rfkill.

NAME πŸ–₯️ systemd-rfkill πŸ–₯️

rfkill.service, systemd-rfkill.socket, systemd-rfkill - Load and save the RF kill switch state at boot and change

SYNOPSIS

systemd-rfkill.service

systemd-rfkill.socket

/usr/lib/systemd/systemd-rfkill

DESCRIPTION

systemd-rfkill.service is a service that restores the RF kill switch state at early boot and saves it on each change. On disk, the RF kill switch state is stored in /var/lib/systemd/rfkill/.

KERNEL COMMAND LINE

systemd-rfkill understands the following kernel command line parameter:

systemd.restore_state=

Takes a boolean argument. Defaults to “1”. If “0”, does not restore the rfkill settings on boot. However, settings will still be stored on shutdown.

Added in version 227.

SEE ALSO

systemd(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

20 - Linux cli command systemd-udevd

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-udevd and provides detailed information about the command systemd-udevd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-udevd.

NAME πŸ–₯️ systemd-udevd πŸ–₯️

udevd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-udevd - Device event managing daemon

SYNOPSIS

systemd-udevd.service

systemd-udevd-control.socket

systemd-udevd-kernel.socket

/usr/lib/systemd/systemd-udevd [–daemon] [–debug] [–children-max=] [–exec-delay=] [–event-timeout=] [–resolve-names=early|late|never] [–version] [–help]

DESCRIPTION

systemd-udevd listens to kernel uevents. For every event, systemd-udevd executes matching instructions specified in udev rules. See udev(7).

The behavior of the daemon can be configured using udev.conf(5), its command line options, environment variables, and on the kernel command line, or changed dynamically with udevadm control.

OPTIONS

-d, –daemon

Detach and run in the background.

Added in version 186.

-D, –debug

Print debug messages to standard error.

Added in version 186.

-c, –children-max=

Limit the number of events executed in parallel.

Added in version 186.

-e, –exec-delay=

Delay the execution of each RUN{program} parameter by the given number of seconds. This option might be useful when debugging system crashes during coldplug caused by loading non-working kernel modules.

Added in version 186.

-t, –event-timeout=

Set the number of seconds to wait for events to finish. After this time, the event will be terminated. The default is 180 seconds.

Added in version 216.

-s, –timeout-signal=

Set the signal which systemd-udevd will send to forked off processes after reaching event timeout. The setting can be overridden at boot time with the kernel command line option udev.timeout_signal=. Setting to SIGABRT may be helpful in order to debug worker timeouts. Defaults to SIGKILL. Note that setting the option on the command line overrides the setting from the configuration file.

Added in version 246.

-N, –resolve-names=

Specify when systemd-udevd should resolve names of users and groups. When set to early (the default), names will be resolved when the rules are parsed. When set to late, names will be resolved for every event. When set to never, names will never be resolved and all devices will be owned by root.

Added in version 186.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

KERNEL COMMAND LINE

Parameters prefixed with “rd.” will be read when systemd-udevd is used in an initrd, those without will be processed both in the initrd and on the host.

udev.log_level=, rd.udev.log_level=

Set the log level.

Added in version 247.

udev.children_max=, rd.udev.children_max=

Limit the number of events executed in parallel.

Added in version 186.

udev.exec_delay=, rd.udev.exec_delay=

Delay the execution of each RUN{program} parameter by the given number of seconds. This option might be useful when debugging system crashes during coldplug caused by loading non-working kernel modules.

Added in version 186.

udev.event_timeout=, rd.udev.event_timeout=

Wait for events to finish up to the given number of seconds. This option might be useful if events are terminated due to kernel drivers taking too long to initialize.

Added in version 216.

udev.timeout_signal=, rd.udev.timeout_signal=

Specifies a signal that systemd-udevd will send to workers on timeout. Note that kernel command line option overrides both the setting in the configuration file and the one on the program command line.

Added in version 246.

udev.blockdev_read_only, rd.udev.blockdev_read_only

If specified, mark all physical block devices read-only as they appear. Synthetic block devices (such as loopback block devices or device mapper devices) are left as they are. This is useful to guarantee that the contents of physical block devices remains unmodified during runtime, for example to implement fully stateless systems, for testing or for recovery situations where corrupted file systems shall not be corrupted further through accidental modification.

A block device may be marked writable again by issuing the blockdev –setrw command, see blockdev(8) for details.

Added in version 246.

net.ifnames=

Network interfaces are renamed to give them predictable names when possible. It is enabled by default; specifying 0 disables it.

Added in version 199.

net.naming_scheme=

Network interfaces are renamed to give them predictable names when possible (unless net.ifnames=0 is specified, see above). With this kernel command line option it is possible to pick a specific version of this algorithm and override the default chosen at compilation time. Expects one of the naming scheme identifiers listed in systemd.net-naming-scheme(7), or “latest” to select the latest scheme known (to this particular version of systemd-udevd.service).

Note that selecting a specific scheme is not sufficient to fully stabilize interface naming: the naming is generally derived from driver attributes exposed by the kernel. As the kernel is updated, previously missing attributes systemd-udevd.service is checking might appear, which affects older name derivation algorithms, too.

Added in version 240.

net.ifname_policy=policy1[,policy2,…][,MAC]

Specifies naming policies applied when renaming network interfaces. Takes a list of policies and an optional MAC address separated with comma. Each policy value must be one of the policies understood by the NamePolicy= setting in .link files, e.g. “onboard” or “path”. See systemd.link(5) for more details. When the MAC address is specified, the policies are applied to the interface which has the address. When no MAC address is specified, the policies are applied to all interfaces. This kernel command line argument can be specified multiple times.

This argument is not directly read by systemd-udevd, but is instead converted to a .link file by systemd-network-generator.service(8). For this argument to take effect, systemd-network-generator.service must be enabled.

Example:

net.ifname_policy=keep,kernel,path,slot,onboard,01:23:45:67:89:ab net.ifname_policy=keep,kernel,path,slot,onboard,mac

This is mostly equivalent to creating the following .link files:

91-name-policy-with-mac.link

[Match]
MACAddress=01:23:45:67:89:ab

[Link]
NamePolicy=keep kernel path slot onboard
AlternativeNamePolicy=path slot onboard

and

92-name-policy-for-all.link

[Match]
OriginalName=*

[Link]
NamePolicy=keep kernel path slot onboard mac
AlternativeNamePolicy=path slot onboard mac

Added in version 250.

SEE ALSO

udev.conf(5), udev(7), udevadm(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

21 - Linux cli command update-language-lua

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-language-lua and provides detailed information about the command update-language-lua, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-language-lua.

NAME πŸ–₯️ update-language-lua πŸ–₯️

language - generate hyphenation configuration for TeX engines

SYNOPSIS

update-language(-dat,-def,-lua) [OPTIONS …]

DESCRIPTION

Generate hyphenation configuration files language.dat, .def, .dat.lua

When called as update-language, all three configurations files are generated. Otherwise only the selected one.

OPTIONS

-c, –conf-file=FILE
file giving additional hyphen specifications

-o, –output-file=FILE file to write the output to

-d, –output-dir=DIR
directory where files are written

–checks
perform sanity checks on the generated config file

-q, –quiet
don’t write anything to the standard output during normal operation

-h, -?, –help
display this help message and exit

–version
output version information and exit

FILES

The default output directory is

/var/lib/texmf/tex/generic/config

The default output files are

for update-language-dat
language.dat

for update-language-def
language.def

for update-language-lua
language.dat.lua

If -o/–output-file is given, it overrides all defaults.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

22 - Linux cli command systemd-sysctl.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-sysctl.service and provides detailed information about the command systemd-sysctl.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-sysctl.service.

NAME πŸ–₯️ systemd-sysctl.service πŸ–₯️

sysctl.service, systemd-sysctl - Configure kernel parameters at boot

SYNOPSIS

/usr/lib/systemd/systemd-sysctl [OPTIONS…] [CONFIGFILE…]

systemd-sysctl.service

DESCRIPTION

systemd-sysctl.service is an early boot service that configures sysctl(8) kernel parameters by invoking /usr/lib/systemd/systemd-sysctl.

When invoked with no arguments, /usr/lib/systemd/systemd-sysctl applies all directives from configuration files listed in sysctl.d(5). If one or more filenames are passed on the command line, only the directives in these files are applied.

In addition, –prefix= option may be used to limit which sysctl settings are applied.

See sysctl.d(5) for information about the configuration of sysctl settings. After sysctl configuration is changed on disk, it must be written to the files in /proc/sys/ before it takes effect. It is possible to update specific settings, or simply to reload all configuration, see Examples below.

OPTIONS

–prefix=

Only apply rules with the specified prefix.

Added in version 230.

–strict=

Always return non-zero exit code on failure (including invalid sysctl variable name and insufficient permissions), unless the sysctl variable name is prefixed with a “-” character.

Added in version 252.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

CREDENTIALS

systemd-sysctl supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

sysctl.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other sysctl.d/ drop-in configuration file. If this credential is passed it is processed after all of the drop-in files read from the file system. The settings configured in the credential hence take precedence over those in the file system.

Added in version 252.

Note that by default the systemd-sysctl.service unit file is set up to inherit the “sysctl.extra” credential from the service manager.

EXAMPLES

Example 1. Reset all sysctl settings

systemctl restart systemd-sysctl

Example 2. View coredump handler configuration

sysctl kernel.core_pattern

kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t %P %I

Example 3. Update coredump handler configuration

/usr/lib/systemd/systemd-sysctl –prefix kernel.core_pattern

This searches all the directories listed in sysctl.d(5) for configuration files and writes /proc/sys/kernel/core_pattern.

Example 4. Update coredump handler configuration according to a specific file

/usr/lib/systemd/systemd-sysctl 50-coredump.conf

This applies all the settings found in 50-coredump.conf. Either /etc/sysctl.d/50-coredump.conf, or /run/sysctl.d/50-coredump.conf, or /usr/lib/sysctl.d/50-coredump.conf will be used, in the order of preference.

See sysctl(8) for various ways to directly apply sysctl settings.

SEE ALSO

systemd(1), sysctl.d(5), sysctl(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

23 - Linux cli command systemd-sysusers.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-sysusers.service and provides detailed information about the command systemd-sysusers.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-sysusers.service.

NAME πŸ–₯️ systemd-sysusers.service πŸ–₯️

sysusers, systemd-sysusers.service - Allocate system users and groups

SYNOPSIS

systemd-sysusers [OPTIONS…] [CONFIGFILE…]

systemd-sysusers.service

DESCRIPTION

systemd-sysusers creates system users and groups, based on files in the format described in sysusers.d(5).

If invoked with no arguments, directives from the configuration files found in the directories specified by sysusers.d(5). When invoked with positional arguments, if option **–replace=**PATH is specified, arguments specified on the command line are used instead of the configuration file PATH. Otherwise, just the configuration specified by the command line arguments is executed. If the string “-” is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.

OPTIONS

The following options are understood:

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths.

Added in version 215.

**–image=**image

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–replace=**PATH

When this option is given, one or more positional arguments must be specified. All configuration files found in the directories listed in sysusers.d(5) will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file PATH.

This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority.

Example 1. RPM installation script for radvd

echo u radvd - “radvd daemon” |
systemd-sysusers –replace=/usr/lib/sysusers.d/radvd.conf -

This will create the radvd user as if /usr/lib/sysusers.d/radvd.conf was already on disk. An admin might override the configuration specified on the command line by placing /etc/sysusers.d/radvd.conf or even /etc/sysusers.d/00-overrides.conf.

Note that this is the expanded form, and when used in a package, this would be written using a macro with “radvd” and a file containing the configuration line as arguments.

Added in version 238.

–dry-run

Process the configuration and figure out what entries would be created, but dont actually write anything.

Added in version 250.

–inline

Treat each positional argument as a separate configuration line instead of a file name.

Added in version 238.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

CREDENTIALS

systemd-sysusers supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

passwd.hashed-password.user

A UNIX hashed password string to use for the specified user, when creating an entry for it. This is particularly useful for the “root” user as it allows provisioning the default root password to use via a unit file drop-in or from a container manager passing in this credential. Note that setting this credential has no effect if the specified user account already exists. This credential is hence primarily useful in first boot scenarios or systems that are fully stateless and come up with an empty /etc/ on every boot.

Added in version 249.

passwd.plaintext-password.user

Similar to “passwd.hashed-password.user” but expect a literal, plaintext password, which is then automatically hashed before used for the user account. If both the hashed and the plaintext credential are specified for the same user the former takes precedence. Its generally recommended to specify the hashed version; however in test environments with weaker requirements on security it might be easier to pass passwords in plaintext instead.

Added in version 249.

passwd.shell.user

Specifies the shell binary to use for the specified account when creating it.

Added in version 249.

sysusers.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other sysusers.d/ drop-in. If this credential is passed it is processed after all of the drop-in files read from the file system.

Added in version 252.

Note that by default the systemd-sysusers.service unit file is set up to inherit the “passwd.hashed-password.root”, “passwd.plaintext-password.root”, “passwd.shell.root” and “sysusers.extra” credentials from the service manager. Thus, when invoking a container with an unpopulated /etc/ for the first time it is possible to configure the root users password to be “systemd” like this:

systemd-nspawn –image=… –set-credential=passwd.hashed-password.root:$y$j9T$yAuRJu1o5HioZAGDYPU5d.$F64ni6J2y2nNQve90M/p0ZP0ECP/qqzipNyaY9fjGpC …

Note again that the data specified in this credential is consulted only when creating an account for the first time, it may not be used for changing the password or shell of an account that already exists.

Use mkpasswd(1) for generating UNIX password hashes from the command line.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), sysusers.d(5), Users, Groups, UIDs and GIDs on systemd systems[2], systemd.exec(5), mkpasswd(1)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

Users, Groups, UIDs and GIDs on systemd systems

https://systemd.io/UIDS-GIDS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

24 - Linux cli command udevadm

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command udevadm and provides detailed information about the command udevadm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the udevadm.

NAME πŸ–₯️ udevadm πŸ–₯️

udev management tool

SYNOPSIS

udevadm [–debug] [–version] [–help]

udevadm info [options] [devpath]

udevadm trigger [options] [devpath]

udevadm settle [options]

udevadm control option

udevadm monitor [options]

udevadm test [options] devpath

udevadm test-builtin [options] command devpath

udevadm verify [options…] [file…]

udevadm wait [options] device|syspath

udevadm lock [options] command

DESCRIPTION

udevadm expects a command and command specific options. It controls the runtime behavior of systemd-udevd, requests kernel events, manages the event queue, and provides simple debugging mechanisms.

OPTIONS

-d, –debug

Print debug messages to standard error. This option is implied in udevadm test and udevadm test-builtin commands.

-h, –help

Print a short help text and exit.

udevadm info [options] [devpath|file|unit]

Query the udev database for device information.

Positional arguments should be used to specify one or more devices. Each one may be a device name (in which case it must start with /dev/), a sys path (in which case it must start with /sys/), or a systemd device unit name (in which case it must end with “.device”, see systemd.device(5)).

-q, **–query=**TYPE

Query the database for the specified type of device data. Valid TYPEs are: name, symlink, path, property, all.

**–property=**NAME

When showing device properties using the –query=property option, limit display to properties specified in the argument. The argument should be a comma-separated list of property names. If not specified, all known properties are shown.

Added in version 250.

–value

When showing device properties using the –query=property option, print only their values, and skip the property name and “=”.

Cannot be used together with -x/–export or -P/–export-prefix.

Added in version 250.

-p, **–path=**DEVPATH

The /sys/ path of the device to query, e.g. [/sys/]/class/block/sda. This option is an alternative to the positional argument with a /sys/ prefix. udevadm info –path=/class/block/sda is equivalent to udevadm info /sys/class/block/sda.

-n, **–name=**FILE

The name of the device node or a symlink to query, e.g. [/dev/]/sda. This option is an alternative to the positional argument with a /dev/ prefix. udevadm info –name=sda is equivalent to udevadm info /dev/sda.

-r, –root

Print absolute paths in name or symlink query.

-a, –attribute-walk

Print all sysfs properties of the specified device that can be used in udev rules to match the specified device. It prints all devices along the chain, up to the root of sysfs that can be used in udev rules.

-t, –tree

Display a sysfs tree. This recursively iterates through the sysfs hierarchy and displays it in a tree structure. If a path is specified only the subtree below and its parent directories are shown. This will show both device and subsystem items.

Added in version 251.

-x, –export

Print output as key/value pairs. Values are enclosed in single quotes. This takes effects only when –query=property or **–device-id-of-file=**FILE is specified.

-P, **–export-prefix=**NAME

Add a prefix to the key name of exported values. This implies –export.

-d, **–device-id-of-file=**FILE

Print major/minor numbers of the underlying device, where the file lives on. If this is specified, all positional arguments are ignored.

-e, –export-db

Export the content of the udev database.

-c, –cleanup-db

Cleanup the udev database.

-w[SECONDS], –wait-for-initialization[=SECONDS]

Wait for device to be initialized. If argument SECONDS is not specified, the default is to wait forever.

Added in version 243.

–subsystem-match[=SUBSYSTEM], –subsystem-nomatch[=SUBSYSTEM]

When used with –export-db, only show devices of or not of the given subsystem respectively.

Added in version 255.

–attr-match[=FILE[=VALUE]], –attr-nomatch[=FILE[=VALUE]]

When used with –export-db, only show devices matching or not matching the given attribute respectively.

Added in version 255.

–property-match[=KEY=VALUE]

When used with –export-db, only show devices matching the given property and value.

Added in version 255.

–tag-match[=TAG]

When used with –export-db, only show devices with the given tag.

Added in version 255.

–sysname-match[=NAME]

When used with –export-db, only show devices with the given “/sys” path.

Added in version 255.

–name-match[=NAME]

When used with –export-db, only show devices with the given name in “/dev”.

Added in version 255.

–parent-match[=NAME]

When used with –export-db, only show devices with the given parent device.

Added in version 255.

–initialized-match, –initialized-nomatch

When used with –export-db, only show devices that are initialized or not initialized respectively.

Added in version 255.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

-h, –help

Print a short help text and exit.

–no-pager

Do not pipe output into a pager.

The generated output shows the current device database entry in a terse format. Each line shown is prefixed with one of the following characters:

Table 1. udevadm info output prefixes

PrefixMeaning
"P:"Device path in /sys/
"M:"Device name in /sys/ (i.e. the last component of "P:")
"R:"Device number in /sys/ (i.e. the numeric suffix of the last component of "P:")
"U:"Kernel subsystem
"T:"Kernel device type within subsystem
"D:"Kernel device node major/minor
"I:"Network interface index
"N:"Kernel device node name
"L:"Device node symlink priority
"S:"Device node symlink
"Q:"Block device sequence number (DISKSEQ)
"V:"Attached driver
"E:"Device property

udevadm trigger [options] [devpath|file|unit]

Request device events from the kernel. Primarily used to replay events at system coldplug time.

Takes device specifications as positional arguments. See the description of info above.

-v, –verbose

Print the list of devices which will be triggered.

-n, –dry-run

Do not actually trigger the event.

-q, –quiet

Suppress error logging in triggering events.

Added in version 248.

-t, **–type=**TYPE

Trigger a specific type of devices. Valid types are “all”, “devices”, and “subsystems”. The default value is “devices”.

-c, **–action=**ACTION

Type of event to be triggered. Possible actions are “add”, “remove”, “change”, “move”, “online”, “offline”, “bind”, and “unbind”. Also, the special value “help” can be used to list the possible actions. The default value is “change”.

**–prioritized-subsystem=**SUBSYSTEM[,SUBSYSTEM…]

Takes a comma separated list of subsystems. When triggering events for devices, the devices from the specified subsystems and their parents are triggered first. For example, if –prioritized-subsystem=block,net, then firstly all block devices and their parents are triggered, in the next all network devices and their parents are triggered, and lastly the other devices are triggered. This option can be specified multiple times, and in that case the lists of the subsystems will be merged. That is, –prioritized-subsystem=block –prioritized-subsystem=net is equivalent to –prioritized-subsystem=block,net.

Added in version 251.

-s, **–subsystem-match=**SUBSYSTEM

Trigger events for devices which belong to a matching subsystem. This option supports shell style pattern matching. When this option is specified more than once, then each matching result is ORed, that is, all the devices in each subsystem are triggered.

-S, **–subsystem-nomatch=**SUBSYSTEM

Do not trigger events for devices which belong to a matching subsystem. This option supports shell style pattern matching. When this option is specified more than once, then each matching result is ANDed, that is, devices which do not match all specified subsystems are triggered.

-a, **–attr-match=ATTRIBUTE=**VALUE

Trigger events for devices with a matching sysfs attribute. If a value is specified along with the attribute name, the content of the attribute is matched against the given value using shell style pattern matching. If no value is specified, the existence of the sysfs attribute is checked. When this option is specified multiple times, then each matching result is ANDed, that is, only devices which have all specified attributes are triggered.

-A, **–attr-nomatch=ATTRIBUTE=**VALUE

Do not trigger events for devices with a matching sysfs attribute. If a value is specified along with the attribute name, the content of the attribute is matched against the given value using shell style pattern matching. If no value is specified, the existence of the sysfs attribute is checked. When this option is specified multiple times, then each matching result is ANDed, that is, only devices which have none of the specified attributes are triggered.

-p, **–property-match=PROPERTY=**VALUE

Trigger events for devices with a matching property value. This option supports shell style pattern matching. When this option is specified more than once, then each matching result is ORed, that is, devices which have one of the specified properties are triggered.

-g, **–tag-match=**TAG

Trigger events for devices with a matching tag. When this option is specified multiple times, then each matching result is ANDed, that is, devices which have all specified tags are triggered.

-y, **–sysname-match=**NAME

Trigger events for devices for which the last component (i.e. the filename) of the /sys/ path matches the specified PATH. This option supports shell style pattern matching. When this option is specified more than once, then each matching result is ORed, that is, all devices which have any of the specified NAME are triggered.

**–name-match=**NAME

Trigger events for devices with a matching device path. When this option is specified more than once, then each matching result is ORed, that is, all specified devices are triggered.

Added in version 218.

-b, **–parent-match=**SYSPATH

Trigger events for all children of a given device. When this option is specified more than once, then each matching result is ORed, that is, all children of each specified device are triggered.

–initialized-match, –initialized-nomatch

When –initialized-match is specified, trigger events for devices that are already initialized by systemd-udevd, and skip devices that are not initialized yet.

When –initialized-nomatch is specified, trigger events for devices that are not initialized by systemd-udevd yet, and skip devices that are already initialized.

Typically, it is essential that applications which intend to use such a match, make sure a suitable udev rule is installed that sets at least one property on devices that shall be matched. See also Initialized Devices section below for more details.

Warning

–initialized-nomatch can potentially save a significant amount of time compared to re-triggering all devices in the system and e.g. can be used to optimize boot time. However, this is not safe to be used in a boot sequence in general. Especially, when udev rules for a device depend on its parent devices (e.g. “ATTRS” or “IMPORT{parent}” keys, see udev(7) for more details), the final state of the device becomes easily unstable with this option.

Added in version 251.

-w, –settle

Apart from triggering events, also waits for those events to finish. Note that this is different from calling udevadm settle. udevadm settle waits for all events to finish. This option only waits for events triggered by the same command to finish.

Added in version 238.

–uuid

Trigger the synthetic device events, and associate a randomized UUID with each. These UUIDs are printed to standard output, one line for each event. These UUIDs are included in the uevent environment block (in the “SYNTH_UUID=” property) and may be used to track delivery of the generated events.

Added in version 249.

–wait-daemon[=SECONDS]

Before triggering uevents, wait for systemd-udevd daemon to be initialized. Optionally takes timeout value. Default timeout is 5 seconds. This is equivalent to invoking udevadm control –ping before udevadm trigger.

Added in version 241.

-h, –help

Print a short help text and exit.

In addition, optional positional arguments can be used to specify device names or sys paths. They must start with /dev/ or /sys/ respectively.

udevadm settle [options]

Watches the udev event queue, and exits if all current events are handled.

-t, **–timeout=**SECONDS

Maximum number of seconds to wait for the event queue to become empty. The default value is 120 seconds. A value of 0 will check if the queue is empty and always return immediately. A non-zero value will return an exit code of 0 if queue became empty before timeout was reached, non-zero otherwise.

-E, **–exit-if-exists=**FILE

Stop waiting if file exists.

-h, –help

Print a short help text and exit.

See systemd-udev-settle.service(8) for more information.

udevadm control option

Modify the internal state of the running udev daemon.

-e, –exit

Signal and wait for systemd-udevd to exit. No option except for –timeout can be specified after this option. Note that systemd-udevd.service contains Restart=always and so as a result, this option restarts systemd-udevd. If you want to stop systemd-udevd.service, please use the following:

systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service

-l, **–log-level=**value

Set the internal log level of systemd-udevd. Valid values are the numerical syslog priorities or their textual representations: emerg, alert, crit, err, warning, notice, info, and debug.

-s, –stop-exec-queue

Signal systemd-udevd to stop executing new events. Incoming events will be queued.

-S, –start-exec-queue

Signal systemd-udevd to enable the execution of events.

-R, –reload

Signal systemd-udevd to reload the rules files and other databases like the kernel module index. Reloading rules and databases does not apply any changes to already existing devices; the new configuration will only be applied to new events.

-p, **–property=KEY=**value

Set a global property for all events.

-m, **–children-max=**value

Set the maximum number of events, systemd-udevd will handle at the same time. When 0 is specified, then the maximum is determined based on the system resources.

–ping

Send a ping message to systemd-udevd and wait for the reply. This may be useful to check that systemd-udevd daemon is running.

Added in version 241.

-t, **–timeout=**seconds

The maximum number of seconds to wait for a reply from systemd-udevd.

–load-credentials

When specified, the following credentials are used when passed in:

udev.conf.*

These credentials should contain valid udev.conf(5) configuration data. From each matching credential a separate file is created. Example: a passed credential udev.conf.50-foobar will be copied into a configuration file /run/udev/udev.conf.d/50-foobar.conf.

Added in version 256.

udev.rules.*

These credentials should contain valid udev(7) rules. From each matching credential a separate file is created. Example: a passed credential udev.rules.50-foobar will be copied into a configuration file /run/udev/rules.d/50-foobar.rules.

Added in version 256.

Note, this does not imply –reload option. So, if systemd-udevd is already running, please consider to also specify -reload to make the copied udev rules files used by systemd-udevd.

Added in version 256.

-h, –help

Print a short help text and exit.

udevadm monitor [options]

Listens to the kernel uevents and events sent out by a udev rule and prints the devpath of the event to the console. It can be used to analyze the event timing, by comparing the timestamps of the kernel uevent and the udev event.

-k, –kernel

Print the kernel uevents.

-u, –udev

Print the udev event after the rule processing.

-p, –property

Also print the properties of the event.

-s, **–subsystem-match=**string[/string]

Filter kernel uevents and udev events by subsystem[/devtype]. Only events with a matching subsystem value will pass. When this option is specified more than once, then each matching result is ORed, that is, all devices in the specified subsystems are monitored.

-t, **–tag-match=**string

Filter udev events by tag. Only udev events with a given tag attached will pass. When this option is specified more than once, then each matching result is ORed, that is, devices which have one of the specified tags are monitored.

-h, –help

Print a short help text and exit.

udevadm test [options] [devpath|file|unit]

Simulate a udev event run for the given device, and print debug output.

-a, **–action=**ACTION

Type of event to be simulated. Possible actions are “add”, “remove”, “change”, “move”, “online”, “offline”, “bind”, and “unbind”. Also, the special value “help” can be used to list the possible actions. The default value is “add”.

-N, –resolve-names=early|late|never

Specify when udevadm should resolve names of users and groups. When set to early (the default), names will be resolved when the rules are parsed. When set to late, names will be resolved for every event. When set to never, names will never be resolved and all devices will be owned by root.

Added in version 209.

-h, –help

Print a short help text and exit.

udevadm test-builtin [options] command [devpath|file|unit]

Run a built-in command COMMAND for device DEVPATH, and print debug output.

-a, **–action=**ACTION

Type of event to be simulated. Possible actions are “add”, “remove”, “change”, “move”, “online”, “offline”, “bind”, and “unbind”. Also, the special value “help” can be used to list the possible actions. The default value is “add”.

Added in version 250.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

udevadm verify [options] [file] …

Verify syntactic, semantic, and stylistic correctness of udev rules files.

Positional arguments could be used to specify one or more files to check. If no files are specified, the udev rules are read from the files located in the same udev/rules.d directories that are processed by the udev daemon.

The exit status is 0 if all specified udev rules files are syntactically, semantically, and stylistically correct, and a non-zero error code otherwise.

-N, –resolve-names=early|never

Specify when udevadm should resolve names of users and groups. When set to early (the default), names will be resolved when the rules are parsed. When set to never, names will never be resolved.

Added in version 254.

**–root=**PATH

When looking for udev rules files located in udev/rules.d directories, operate on files underneath the specified root path PATH.

Added in version 254.

–no-summary

Do not show summary.

Added in version 254.

–no-style

Ignore style issues. When specified, even if style issues are found in udev rules files, the exit status is 0 if no syntactic or semantic errors are found.

Added in version 254.

-h, –help

Print a short help text and exit.

udevadm wait [options] [device|syspath] …

Wait for devices or device symlinks being created and initialized by systemd-udevd. Each device path must start with “/dev/” or “/sys/”, e.g. “/dev/sda”, “/dev/disk/by-path/pci-0000:3c:00.0-nvme-1-part1”, “/sys/devices/pci0000:00/0000:00:1f.6/net/eth0”, or “/sys/class/net/eth0”. This can take multiple devices. This may be useful for waiting for devices being processed by systemd-udevd after e.g. partitioning or formatting the devices.

-t, **–timeout=**SECONDS

Maximum number of seconds to wait for the specified devices or device symlinks being created, initialized, or removed. The default value is “infinity”.

Added in version 251.

**–initialized=**BOOL

Check if systemd-udevd initialized devices. Defaults to true. When false, the command only checks if the specified devices exist. Set false to this setting if there is no udev rules for the specified devices, as the devices will never be considered as initialized in that case. See Initialized Devices section below for more details.

Added in version 251.

–removed

When specified, the command wait for devices being removed instead of created or initialized. If this is specified, –initialized= will be ignored.

Added in version 251.

–settle

When specified, also watches the udev event queue, and wait for all queued events being processed by systemd-udevd.

Added in version 251.

-h, –help

Print a short help text and exit.

udevadm lock [options] [command] …

udevadm lock takes an (advisory) exclusive lock on a block device (or all specified devices), as per Locking Block Device Access[1] and invokes a program with the locks taken. When the invoked program exits the locks are automatically released and its return value is propagated as exit code of udevadm lock.

This tool is in particular useful to ensure that systemd-udevd.service(8) does not probe a block device while changes are made to it, for example partitions created or file systems formatted. Note that many tools that interface with block devices natively support taking relevant locks, see for example sfdisk(8)s –lock switch.

The command expects at least one block device specified via –device= or –backing=, and a command line to execute as arguments.

**–device=**DEVICE, -d DEVICE

Takes a path to a device node of the device to lock. This switch may be used multiple times (and in combination with –backing=) in order to lock multiple devices. If a partition block device node is specified the containing “whole” block device is automatically determined and used for the lock, as per the specification. If multiple devices are specified, they are deduplicated, sorted by the major/minor of their device nodes and then locked in order.

This switch must be used at least once, to specify at least one device to lock. (Alternatively, use –backing=, see below.)

Added in version 251.

**–backing=**PATH, -b PATH

If a path to a device node is specified, identical to –device=. However, this switch alternatively accepts a path to a regular file or directory, in which case the block device of the file system the file/directory resides on is automatically determined and used as if it was specified with –device=.

Added in version 251.

**–timeout=**SECS, -t SECS

Specifies how long to wait at most until all locks can be taken. Takes a value in seconds, or in the usual supported time units, see systemd.time(7). If specified as zero the lock is attempted and if not successful the invocation will immediately fail. If passed as “infinity” (the default) the invocation will wait indefinitely until the lock can be acquired. If the lock cannot be taken in the specified time the specified command will not be executed and the invocation will fail.

Added in version 251.

–print, -p

Instead of locking the specified devices and executing a command, just print the device paths that would be locked, and execute no command. This command is useful to determine the “whole” block device in case a partition block device is specified. The devices will be sorted by their device node major number as primary ordering key and the minor number as secondary ordering key (i.e. they are shown in the order theyd be locked). Note that the number of lines printed here can be less than the number of –device= and –backing= switches specified in case these resolve to the same “whole” devices.

Added in version 251.

-h, –help

Print a short help text and exit.

INITIALIZED DEVICES

Initialized devices are those for which at least one udev rule already completed execution – for any action but “remove” β€” that set a property or other device setting (and thus has an entry in the udev device database). Devices are no longer considered initialized if a “remove” action is seen for them (which removes their entry in the udev device database). Note that devices that have no udev rules are never considered initialized, but might still be announced via the sd-device API (or similar).

EXAMPLE

Example 1. Format a File System

Take a lock on the backing block device while creating a file system, to ensure that systemd-udevd doesnt probe or announce the new superblock before it is comprehensively written:

udevadm lock –device=/dev/sda1 mkfs.ext4 /dev/sda1

Example 2. Format a RAID File System

Similar, but take locks on multiple devices at once:

udevadm lock –device=/dev/sda1 –device=/dev/sdb1 mkfs.btrfs /dev/sda1 /dev/sdb1

Example 3. Copy in a File System

Take a lock on the backing block device while copying in a prepared file system image, to ensure that systemd-udevd doesnt probe or announce the new superblock before it is fully written:

udevadm lock -d /dev/sda1 dd if=fs.raw of=/dev/sda1

SEE ALSO

udev(7), systemd-udevd.service(8)

NOTES

Locking Block Device Access

https://systemd.io/BLOCK_DEVICE_LOCKING

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

25 - Linux cli command systemd-tpm2-setup.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tpm2-setup.service and provides detailed information about the command systemd-tpm2-setup.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tpm2-setup.service.

NAME πŸ–₯️ systemd-tpm2-setup.service πŸ–₯️

tpm2-setup.service, systemd-tpm2-setup-early.service, systemd-tpm2-setup - Set up the TPM2 Storage Root Key (SRK) at boot

SYNOPSIS

systemd-tpm2-setup.service

/usr/lib/systemd/systemd-tpm2-setup

DESCRIPTION

systemd-tpm2-setup.service and systemd-tpm2-setup-early.service are services that generate the Storage Root Key (SRK) if it hasnt been generated yet, and stores it in the TPM.

The services will store the public key of the SRK key pair in a PEM file in /run/systemd/tpm2-srk-public-key.pem and /var/lib/systemd/tpm2-srk-public-key.pem. They will also store it in TPM2B_PUBLIC format in /run/systemd/tpm2-srk-public-key.tpm2_public and /var/lib/systemd/tpm2-srk-public-key.tpm2b_public.

systemd-tpm2-setup-early.service runs very early at boot (possibly in the initrd), and writes the SRK public key to /run/systemd/tpm2-srk-public-key.* (as /var/ is generally not accessible this early yet), while systemd-tpm2-setup.service runs during a later boot phase and saves the public key to /var/lib/systemd/tpm2-srk-public-key.*.

FILES

/run/systemd/tpm2-srk-public-key.pem, /run/systemd/tpm2-srk-public-key.tpm2b_public

The SRK public key in PEM and TPM2B_PUBLIC format, written during early boot.

Added in version 255.

/var/lib/systemd/tpm2-srk-public-key.pem, /var/lib/systemd/tpm2-srk-public-key.tpm2_public

The SRK public key in PEM and TPM2B_PUBLIC format, written during later boot (once /var/ is available).

Added in version 255.

SEE ALSO

systemd(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

26 - Linux cli command vfs_nfs4acl_xattr

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_nfs4acl_xattr and provides detailed information about the command vfs_nfs4acl_xattr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_nfs4acl_xattr.

NAME πŸ–₯️ vfs_nfs4acl_xattr πŸ–₯️

Save NTFS-ACLs as NFS4 encoded blobs in extended attributes

SYNOPSIS

vfs objects = nfs4acl_xattr

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_acl_xattr VFS module stores NTFS Access Control Lists (ACLs) in Extended Attributes (EAs/xattrs). This enables the full mapping of Windows ACLs on Samba servers.

This module is stackable.

OPTIONS

nfs4:mode = [ simple | special ]

Controls substitution of special IDs (OWNER@ and GROUP@) on NFS4 ACLs. The use of mode simple is recommended. In this mode only non inheriting ACL entries for the file owner and group are mapped to special IDs.

The following MODEs are understood by the module:

Β·

simple(default) - use OWNER@ and GROUP@ special IDs for non inheriting ACEs only.

Β·

special(deprecated) - use OWNER@ and GROUP@ special IDs in ACEs for all file owner and group ACEs.

nfs4:acedup = [dontcare|reject|ignore|merge]

This parameter configures how Samba handles duplicate ACEs encountered in NFS4 ACLs. They allow creating duplicate ACEs with different bits for same ID, which may confuse the Windows clients.

Following is the behaviour of Samba for different values :

Β·

dontcare - copy the ACEs as they come

Β·

reject (deprecated) - stop operation and exit with error on ACL set op

Β·

ignore (deprecated) - dont include the second matching ACE

Β·

merge (default) - bitwise OR the 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE

nfs4:chown = [yes|no]

This parameter allows enabling or disabling the chown supported by the underlying filesystem. This parameter should be enabled with care as it might leave your system insecure.

Some filesystems allow chown as a) giving b) stealing. It is the latter that is considered a risk.

Following is the behaviour of Samba for different values :

Β·

yes - Enable chown if as supported by the under filesystem

Β·

no (default) - Disable chown

nfs4acl_xattr:encoding = [nfs|ndr|xdr]

This parameter configures the marshaling format used in the ACL blob and the default extended attribute name used to store the blob.

When set to nfs - fetch and store the NT ACL in NFS 4.0 or 4.1 compatible XDR encoding. By default this uses the extended attribute “system.nfs4_acl”. This setting also disables validate_mode.

When set to ndr (default) - store the NT ACL with POSIX draft NFSv4 compatible NDR encoding. By default this uses the extended attribute “security.nfs4acl_ndr”.

When set to xdr - store the NT ACL in a format similar to NFS 4.1 RFC 5661 in XDR encoding. The main differences to RFC 5661 are the use of ids instead of strings as users and group identifiers and an additional attribute per nfsace4. By default this encoding stores the blob in the extended attribute “security.nfs4acl_xdr”.

nfs4acl_xattr:version = [40|41]

This parameter configures the NFS4 ACL level. Only 41 fully supports mapping NT ACLs and should be used. The default is 41.

nfs4acl_xattr:default acl style = [posix|windows|everyone]

This parameter determines the type of ACL that is synthesized in case a file or directory lacks an ACL extended attribute.

When set to posix, an ACL will be synthesized based on the POSIX mode permissions for user, group and others, with an additional ACE for NT Authority\SYSTEM will full rights.

When set to windows, an ACL is synthesized the same way Windows does it, only including permissions for the owner and NT Authority\SYSTEM.

When set to everyone, an ACL is synthesized giving full permissions to everyone (S-1-1-0).

The default for this option is everyone.

nfs4acl_xattr:xattr_name = STRING

This parameter configures the extended attribute name used to store the marshaled ACL.

The default depends on the setting for nfs4acl_xattr:encoding.

nfs4acl_xattr:nfs4_id_numeric = yes|no (default: no)

This parameter tells the module how the NFS4 server encodes user and group identifiers on the network. With the default setting the module expects identifiers encoded as per the NFS4 RFC as user@domain.

When set to yes, the module expects the identifiers as numeric string.

The default for this optionsno.

nfs4acl_xattr:validate_mode = yes|no

This parameter configures whether the module enforces the POSIX mode is set to 0777 for directories and 0666 for files. If this constrained is not met, the xattr with the ACL blob is discarded.

The default depends on the setting for nfs4acl_xattr:encoding: when set to nfs this setting is disabled by default, otherwise it is enabled.

EXAMPLES

A directory can be exported via Samba using this module as follows:

  [samba_gpfs_share]
      vfs objects = nfs4acl_xattr
      path = /foo/bar

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

27 - Linux cli command unafs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unafs and provides detailed information about the command unafs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unafs.

NAME πŸ–₯️ unafs πŸ–₯️

script to warn users about their weak passwords

SYNOPSIS

unafs password-files cell-name

DESCRIPTION

This manual page documents briefly the unafs command, which is part of the john package. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. john, better known as John the Ripper, is a tool to find weak passwords of users in a server.
The unafs tool gets password hashes out of the binary AFS database, and produces a file usable by John.

SEE ALSO

john(8), mailer(8), unique(8), unshadow(8).

The programs are documented fully by John’s documentation, which should be available in /usr/share/doc/john or other location, depending on your system.

AUTHOR

This manual page was written by Jordi Mallach <[email protected]>, for the Debian GNU/Linux system (but may be used by others).
John the Ripper and mailer were written by Solar Designer <[email protected]>. The complete list of contributors can be found in the CREDITS file in the documentation directory.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

28 - Linux cli command vfs_audit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_audit and provides detailed information about the command vfs_audit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_audit.

NAME πŸ–₯️ vfs_audit πŸ–₯️

record selected Samba VFS operations in the system log

SYNOPSIS

vfs objects = audit

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_audit VFS module records selected client operations to the system log using syslog(3).

The following Samba VFS operations are recorded:

connect

disconnect

opendir

mkdir

rmdir

open

close

rename

unlink

chmod

fchmod

This module is stackable.

OPTIONS

audit:facility = FACILITY

Log messages to the named syslog(3) facility.

audit:priority = PRIORITY

Log messages with the named syslog(3) priority.

EXAMPLES

Log operations on all shares using the LOCAL1 facility and NOTICE priority:

    [global]
	vfs objects = audit
	audit:facility = LOCAL1
	audit:priority = NOTICE

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

29 - Linux cli command tc-htb

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-htb and provides detailed information about the command tc-htb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-htb.

NAME πŸ–₯️ tc-htb πŸ–₯️

Hierarchy Token Bucket

SYNOPSIS

tc qdisc … dev dev ( parent classid | root) [ handle major: ] htb [ default minor-id ] [ r2q divisor ] [ offload ]

tc class … dev dev parent major:[minor] [ classid major:minor ] htb rate rate [ ceil rate ] burst bytes [ cburst bytes ] [ prio priority ] [ quantum bytes ]

DESCRIPTION

HTB allows control of the outbound bandwidth on a given link. It allows simulating several slower links and to send different kinds of traffic on different simulated links. In both cases, you have to specify how to divide the physical link into simulated links and how to decide which simulated link to use for a given packet to be sent.

HTB shapes traffic based on the Token Bucket Filter algorithm which does not depend on interface characteristics and so does not need to know the underlying bandwidth of the outgoing interface.

SHAPING ALGORITHM

Shaping works as documented in tc-tbf (8).

CLASSIFICATION

Within the one HTB instance many classes may exist. Each of these classes contains another qdisc, by default tc-pfifo(8).

When enqueueing a packet, HTB starts at the root and uses various methods to determine which class should receive the data.

In the absence of uncommon configuration options, the process is rather easy. At each node we look for an instruction, and then go to the class the instruction refers us to. If the class found is a barren leaf-node (without children), we enqueue the packet there. If it is not yet a leaf node, we do the whole thing over again starting from that node.

The following actions are performed, in order at each node we visit, until one sends us to another node, or terminates the process.

(i)
Consult filters attached to the class. If sent to a leafnode, we are done. Otherwise, restart.

(ii)
If none of the above returned with an instruction, enqueue at this node.

This algorithm makes sure that a packet always ends up somewhere, even while you are busy building your configuration.

LINK SHARING ALGORITHM

FIXME

QDISC

The root of a HTB qdisc class tree has the following parameters:

parent major:minor | root
This mandatory parameter determines the place of the HTB instance, either at the root of an interface or within an existing class.

handle major:
Like all other qdiscs, the HTB can be assigned a handle. Should consist only of a major number, followed by a colon. Optional, but very useful if classes will be generated within this qdisc.

default minor-id
Unclassified traffic gets sent to the class with this minor-id.

r2q divisor
Divisor used to calculate quantum values for classes. Classes divide rate by this number. Default value is 10.

offload
Offload the HTB algorithm to hardware (requires driver and device support).

CLASSES

Classes have a host of parameters to configure their operation.

parent major:minor
Place of this class within the hierarchy. If attached directly to a qdisc and not to another class, minor can be omitted. Mandatory.

classid major:minor
Like qdiscs, classes can be named. The major number must be equal to the major number of the qdisc to which it belongs. Optional, but needed if this class is going to have children.

prio priority
In the round-robin process, classes with the lowest priority field are tried for packets first.

rate rate
Maximum rate this class and all its children are guaranteed. Mandatory.

ceil rate
Maximum rate at which a class can send, if its parent has bandwidth to spare. Defaults to the configured rate, which implies no borrowing

burst bytes
Amount of bytes that can be burst at ceil speed, in excess of the configured rate. Should be at least as high as the highest burst of all children.

cburst bytes
Amount of bytes that can be burst at ‘infinite’ speed, in other words, as fast as the interface can transmit them. For perfect evening out, should be equal to at most one average packet. Should be at least as high as the highest cburst of all children.

quantum bytes
Number of bytes to serve from this class before the scheduler moves to the next class. Default value is rate divided by the qdisc r2q parameter. If specified, r2q is ignored.

NOTES

Due to Unix timing constraints, the maximum ceil rate is not infinite and may in fact be quite low. On Intel, there are 100 timer events per second, the maximum rate is that rate at which ‘burst’ bytes are sent each timer tick. From this, the minimum burst size for a specified rate can be calculated. For i386, a 10mbit rate requires a 12 kilobyte burst as 100*12kb*8 equals 10mbit.

SEE ALSO

tc(8)

HTB website: http://luxik.cdi.cz/~devik/qos/htb/

AUTHOR

Martin Devera <[email protected]>. This manpage maintained by bert hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

30 - Linux cli command systemd-update-done.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-update-done.service and provides detailed information about the command systemd-update-done.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-update-done.service.

NAME πŸ–₯️ systemd-update-done.service πŸ–₯️

update-done.service, systemd-update-done - Mark /etc/ and /var/ fully updated

SYNOPSIS

systemd-update-done.service

/usr/lib/systemd/systemd-update-done

DESCRIPTION

systemd-update-done.service is a service that is invoked as part of the first boot after the vendor operating system resources in /usr/ have been updated. This is useful to implement offline updates of /usr/ which might require updates to /etc/ or /var/ on the following boot.

systemd-update-done.service updates the file modification time (mtime) of the stamp files /etc/.updated and /var/.updated to the modification time of the /usr/ directory, unless the stamp files are already newer.

Services that shall run after offline upgrades of /usr/ should order themselves before systemd-update-done.service, and use the ConditionNeedsUpdate= (see systemd.unit(5)) condition to make sure to run when /etc/ or /var/ are older than /usr/ according to the modification times of the files described above. This requires that updates to /usr/ are always followed by an update of the modification time of /usr/, for example by invoking touch(1) on it.

Note that if the systemd.condition_needs_update= kernel command line option is used it overrides the ConditionNeedsUpdate= unit condition checks. In that case systemd-update-done.service will not reset the condition state until a follow-up reboot where the kernel switch is not specified anymore.

SEE ALSO

systemd(1), systemd.unit(5), touch(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

31 - Linux cli command systemd-run-generator

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-run-generator and provides detailed information about the command systemd-run-generator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-run-generator.

NAME πŸ–₯️ systemd-run-generator πŸ–₯️

run-generator - Generator for invoking commands specified on the kernel command line as system service

SYNOPSIS

/usr/lib/systemd/system-generators/systemd-run-generator

DESCRIPTION

systemd-run-generator is a generator that reads the kernel command line and understands three options:

If the systemd.run= option is specified and followed by a command line, a unit named kernel-command-line.service is generated for it and booted into. The service has Type=oneshot set, and has SuccessAction=exit and FailureAction=exit configured by default, thus ensuring that the system is shut down as soon as the command completes. The exit status of the command line is propagated to the invoking container manager, if this applies (which might propagate this further, to the calling shell β€” e.g. systemd-nspawn(7) does this). If this option is used multiple times the unit file will contain multiple ExecStart= lines, to execute all commands in order. The command is started as regular service, i.e. with DefaultDependencies= on.

Use systemd.run_success_action= and systemd.run_failure_action= to tweak how to react to the process completing. In particular assigning “none” will leave the system running after the command completes. For further details on supported arguments, see systemd.unit(5).

systemd-run-generator implements systemd.generator(7).

EXAMPLE

Use a command like the following to add a user to the user database inside a container run with systemd-nspawn(7):

systemd-nspawn -D mycontainer -b systemd.run=“adduser test”

(Note the requirement for double quoting in the command line above. The first level of quoting () is processed and removed by the command shell used to invoke systemd-nspawn. The second level of quoting ("") is propagated to the kernel command line of the container and processed and removed by systemd-run-generator. Both together make sure both words of the specified command line adduser test end up in the generated unit file together and are neither split apart by the command shell nor by the generator.)

SEE ALSO

systemd(1), systemctl(1), kernel-command-line(7), systemd-nspawn(7), systemd.unit(5), systemd.service(5)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

32 - Linux cli command xtables-nft-multi

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xtables-nft-multi and provides detailed information about the command xtables-nft-multi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xtables-nft-multi.

NAME πŸ–₯️ xtables-nft-multi πŸ–₯️

nft β€” iptables using nftables kernel api

DESCRIPTION

xtables-nft are versions of iptables that use the nftables API. This is a set of tools to help the system administrator migrate the ruleset from iptables(8), ip6tables(8), arptables(8), and ebtables(8) to nftables(8).

The xtables-nft set is composed of several commands:

  • iptables-nft

  • iptables-nft-save

  • iptables-nft-restore

  • ip6tables-nft

  • ip6tables-nft-save

  • ip6tables-nft-restore

  • arptables-nft

  • ebtables-nft

These tools use the libxtables framework extensions and hook to the nf_tables kernel subsystem using the nft_compat module.

USAGE

The xtables-nft tools allow you to manage the nf_tables backend using the native syntax of iptables(8), ip6tables(8), arptables(8), and ebtables(8).

You should use the xtables-nft tools exactly the same way as you would use the corresponding original tools.

Adding a rule will result in that rule being added to the nf_tables kernel subsystem instead. Listing the ruleset will use the nf_tables backend as well.

When these tools were designed, the main idea was to replace each legacy binary with a symlink to the xtables-nft program, for example:

	/sbin/iptables -> /usr/sbin/iptables-nft-multi
	/sbin/ip6tables -> /usr/sbin/ip6tables-nft-multi
	/sbin/arptables -> /usr/sbin/arptables-nft-multi
	/sbin/ebtables -> /usr/sbin/ebtables-nft-multi

The iptables version string will indicate whether the legacy API (get/setsockopt) or the new nf_tables api is used:

	iptables -V
	iptables v1.7 (nf_tables)

DIFFERENCES TO LEGACY IPTABLES

Because the xtables-nft tools use the nf_tables kernel API, rule additions and deletions are always atomic. Unlike iptables-legacy, iptables-nft -A .. will NOT need to retrieve the current ruleset from the kernel, change it, and re-load the altered ruleset. Instead, iptables-nft will tell the kernel to add one rule. For this reason, the iptables-legacy –wait option is a no-op in iptables-nft.

Use of the xtables-nft tools allow monitoring ruleset changes using the xtables-monitor(8) command.

When using -j TRACE to debug packet traversal to the ruleset, note that you will need to use xtables-monitor(8) in –trace mode to obtain monitoring trace events.

EXAMPLES

One basic example is creating the skeleton ruleset in nf_tables from the xtables-nft tools, in a fresh machine:

	root@machine:~# iptables-nft -L
	[...]
	root@machine:~# ip6tables-nft -L
	[...]
	root@machine:~# arptables-nft -L
	[...]
	root@machine:~# ebtables-nft -L
	[...]
	root@machine:~# nft list ruleset
	table ip filter {
		chain INPUT {
			type filter hook input priority 0; policy accept;
		}

		chain FORWARD {
			type filter hook forward priority 0; policy accept;
		}

		chain OUTPUT {
			type filter hook output priority 0; policy accept;
		}
	}
	table ip6 filter {
		chain INPUT {
			type filter hook input priority 0; policy accept;
		}

		chain FORWARD {
			type filter hook forward priority 0; policy accept;
		}

		chain OUTPUT {
			type filter hook output priority 0; policy accept;
		}
	}
	table bridge filter {
		chain INPUT {
			type filter hook input priority -200; policy accept;
		}

		chain FORWARD {
			type filter hook forward priority -200; policy accept;
		}

		chain OUTPUT {
			type filter hook output priority -200; policy accept;
		}
	}
	table arp filter {
		chain INPUT {
			type filter hook input priority 0; policy accept;
		}

		chain FORWARD {
			type filter hook forward priority 0; policy accept;
		}

		chain OUTPUT {
			type filter hook output priority 0; policy accept;
		}
	}

(please note that in fresh machines, listing the ruleset for the first time results in all tables an chain being created).

To migrate your complete filter ruleset, in the case of iptables(8), you would use:

	root@machine:~# iptables-legacy-save > myruleset # reads from x_tables
	root@machine:~# iptables-nft-restore myruleset   # writes to nf_tables

or

	root@machine:~# iptables-legacy-save | iptables-translate-restore | less

to see how rules would look like in the nft nft(8) syntax.

LIMITATIONS

You should use Linux kernel >= 4.17.

The CLUSTERIP target is not supported.

To get up-to-date information about this, please head to http://wiki.nftables.org/.

SEE ALSO

nft(8), xtables-translate(8), xtables-monitor(8)

AUTHORS

The nftables framework is written by the Netfilter project (https://www.netfilter.org).

This manual page was written by Arturo Borrero Gonzalez <[email protected]> for the Debian project, but may be used by others.

This documentation is free/libre under the terms of the GPLv2+.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

33 - Linux cli command systemd-sleep

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-sleep and provides detailed information about the command systemd-sleep, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-sleep.

NAME πŸ–₯️ systemd-sleep πŸ–₯️

suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, systemd-suspend-then-hibernate.service, systemd-sleep - System sleep state logic

SYNOPSIS

systemd-suspend.service

systemd-hibernate.service

systemd-hybrid-sleep.service

systemd-suspend-then-hibernate.service

/usr/lib/systemd/system-sleep

DESCRIPTION

systemd-suspend.service is a system service that is pulled in by suspend.target and is responsible for the actual system suspend. Similarly, systemd-hibernate.service is pulled in by hibernate.target to execute the actual hibernation. Finally, systemd-hybrid-sleep.service is pulled in by hybrid-sleep.target to execute hybrid hibernation with system suspend and pulled in by suspend-then-hibernate.target to execute system suspend with a timeout that will activate hibernate later.

Immediately before entering system suspend and/or hibernation systemd-suspend.service (and the other mentioned units, respectively) will run all executables in /usr/lib/systemd/system-sleep/ and pass two arguments to them. The first argument will be “pre”, the second either “suspend”, “hibernate”, “hybrid-sleep”, or “suspend-then-hibernate” depending on the chosen action. An environment variable called “SYSTEMD_SLEEP_ACTION” will be set and contain the sleep action that is processing. This is primarily helpful for “suspend-then-hibernate” where the value of the variable will be “suspend”, “hibernate”, or “suspend-after-failed-hibernate” in cases where hibernation has failed. Immediately after leaving system suspend and/or hibernation the same executables are run, but the first argument is now “post”. All executables in this directory are executed in parallel, and execution of the action is not continued until all executables have finished. Note that user.slice will be frozen while the executables are running, so they should not attempt to communicate with any user services expecting a reply.

Note that scripts or binaries dropped in /usr/lib/systemd/system-sleep/ are intended for local use only and should be considered hacks. If applications want to react to system suspend/hibernation and resume, they should rather use the Inhibitor Locks[1].

Note that systemd-suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, and systemd-suspend-then-hibernate.service should never be executed directly. Instead, trigger system sleep with a command such as systemctl suspend or systemctl hibernate.

Internally, this service will echo a string like “mem” into /sys/power/state, to trigger the actual system suspend. What exactly is written where can be configured in the [Sleep] section of /etc/systemd/sleep.conf or a sleep.conf.d file. See systemd-sleep.conf(5).

Note that by default these services freeze user.slice while they run. This prevents the execution of any process in any of the user sessions while the system is entering into and resuming from sleep. Thus, this prevents the hooks in /usr/lib/systemd/system-sleep/, or any other process for that matter, from communicating with any user session process during sleep.

OPTIONS

systemd-sleep understands the following commands:

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

suspend, hibernate, suspend-then-hibernate, hybrid-sleep

Suspend, hibernate, suspend then hibernate, or put the system to hybrid sleep.

Added in version 203.

SEE ALSO

systemd-sleep.conf(5), systemd(1), systemctl(1), systemd.special(7), systemd-halt.service(8)

NOTES

Inhibitor Locks

https://systemd.io/INHIBITOR_LOCKS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

34 - Linux cli command systemd-update-utmp

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-update-utmp and provides detailed information about the command systemd-update-utmp, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-update-utmp.

NAME πŸ–₯️ systemd-update-utmp πŸ–₯️

update-utmp.service, systemd-update-utmp-runlevel.service, systemd-update-utmp - Write audit and utmp updates at bootup, runlevel changes and shutdown

SYNOPSIS

systemd-update-utmp.service

systemd-update-utmp-runlevel.service

/usr/lib/systemd/systemd-update-utmp

DESCRIPTION

systemd-update-utmp-runlevel.service is a service that writes SysV runlevel changes to utmp and wtmp, as well as the audit logs, as they occur. systemd-update-utmp.service does the same for system reboots and shutdown requests.

SEE ALSO

systemd(1), utmp(5), auditd(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

35 - Linux cli command systemd-rfkill.socket

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-rfkill.socket and provides detailed information about the command systemd-rfkill.socket, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-rfkill.socket.

NAME πŸ–₯️ systemd-rfkill.socket πŸ–₯️

rfkill.service, systemd-rfkill.socket, systemd-rfkill - Load and save the RF kill switch state at boot and change

SYNOPSIS

systemd-rfkill.service

systemd-rfkill.socket

/usr/lib/systemd/systemd-rfkill

DESCRIPTION

systemd-rfkill.service is a service that restores the RF kill switch state at early boot and saves it on each change. On disk, the RF kill switch state is stored in /var/lib/systemd/rfkill/.

KERNEL COMMAND LINE

systemd-rfkill understands the following kernel command line parameter:

systemd.restore_state=

Takes a boolean argument. Defaults to “1”. If “0”, does not restore the rfkill settings on boot. However, settings will still be stored on shutdown.

Added in version 227.

SEE ALSO

systemd(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

36 - Linux cli command tc-red

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-red and provides detailed information about the command tc-red, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-red.

NAME πŸ–₯️ tc-red πŸ–₯️

Random Early Detection

SYNOPSIS

tc qdisc … red limit bytes [ min bytes ] [ max bytes ] avpkt bytes [ burst packets ] [ ecn ] [ harddrop ] [ nodrop ] [ bandwidth rate ] [ probability chance ] [ adaptive ] [ qevent early_drop block index ] [ qevent mark block index ]

DESCRIPTION

Random Early Detection is a classless qdisc which manages its queue size smartly. Regular queues simply drop packets from the tail when they are full, which may not be the optimal behaviour. RED also performs tail drop, but does so in a more gradual way.

Once the queue hits a certain average length, packets enqueued have a configurable chance of being marked (which may mean dropped). This chance increases linearly up to a point called the max average queue length, although the queue might get bigger.

This has a host of benefits over simple taildrop, while not being processor intensive. It prevents synchronous retransmits after a burst in traffic, which cause further retransmits, etc.

The goal is to have a small queue size, which is good for interactivity while not disturbing TCP/IP traffic with too many sudden drops after a burst of traffic.

Depending on if ECN is configured, marking either means dropping or purely marking a packet as overlimit.

ALGORITHM

The average queue size is used for determining the marking probability. This is calculated using an Exponential Weighted Moving Average, which can be more or less sensitive to bursts.

When the average queue size is below min bytes, no packet will ever be marked. When it exceeds min, the probability of doing so climbs linearly up to probability, until the average queue size hits max bytes. Because probability is normally not set to 100%, the queue size might conceivably rise above max bytes, so the limit parameter is provided to set a hard maximum for the size of the queue.

PARAMETERS

min
Average queue size at which marking becomes a possibility. Defaults to max /3

max
At this average queue size, the marking probability is maximal. Should be at least twice min to prevent synchronous retransmits, higher for low min. Default to limit /4

probability
Maximum probability for marking, specified as a floating point number from 0.0 to 1.0. Suggested values are 0.01 or 0.02 (1 or 2%, respectively). Default : 0.02

limit
Hard limit on the real (not average) queue size in bytes. Further packets are dropped. Should be set higher than max+burst. It is advised to set this a few times higher than max.

burst
Used for determining how fast the average queue size is influenced by the real queue size. Larger values make the calculation more sluggish, allowing longer bursts of traffic before marking starts. Real life experiments support the following guideline: (min+min+max)/(3*avpkt).

avpkt
Specified in bytes. Used with burst to determine the time constant for average queue size calculations. 1000 is a good value.

bandwidth
This rate is used for calculating the average queue size after some idle time. Should be set to the bandwidth of your interface. Does not mean that RED will shape for you! Optional. Default : 10Mbit

ecn
As mentioned before, RED can either ‘mark’ or ‘drop’. Explicit Congestion Notification allows RED to notify remote hosts that their rate exceeds the amount of bandwidth available. Non-ECN capable hosts can only be notified by dropping a packet. If this parameter is specified, packets which indicate that their hosts honor ECN will only be marked and not dropped, unless the queue size hits limit bytes. Recommended.

harddrop
If average flow queue size is above max bytes, this parameter forces a drop instead of ecn marking.

nodrop
With this parameter, traffic that should be marked, but is not ECN-capable, is enqueued. Without the parameter it is early-dropped.

adaptive
(Added in linux-3.3) Sets RED in adaptive mode as described in http://icir.org/floyd/papers/adaptiveRed.pdf

Goal of Adaptive RED is to make 'probability' dynamic value between 1% and 50% to reach the target average queue :
(max - min) / 2

QEVENTS

See tc (8) for some general notes about qevents. The RED qdisc supports the following qevents:

early_drop
The associated block is executed when packets are early-dropped. This includes non-ECT packets in ECN mode.

mark
The associated block is executed when packets are marked in ECN mode.

EXAMPLE

# tc qdisc add dev eth0 parent 1:1 handle 10: red limit 400000 min 30000 max 90000 avpkt 1000 burst 55 ecn adaptive bandwidth 10Mbit

SEE ALSO

tc(8), tc-choke(8)

SOURCES

o
Floyd, S., and Jacobson, V., Random Early Detection gateways for Congestion Avoidance. http://www.aciri.org/floyd/papers/red/red.html

o
Some changes to the algorithm by Alexey N. Kuznetsov.

o
Adaptive RED : http://icir.org/floyd/papers/adaptiveRed.pdf

AUTHORS

Alexey N. Kuznetsov, <[email protected]>, Alexey Makarenko <[email protected]>, J Hadi Salim <[email protected]>, Eric Dumazet <[email protected]>. This manpage maintained by bert hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

37 - Linux cli command tc-connmark

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-connmark and provides detailed information about the command tc-connmark, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-connmark.

NAME πŸ–₯️ tc-connmark πŸ–₯️

netfilter connmark retriever action

SYNOPSIS

tcaction connmark [ zone u16_zone_index ] [ CONTROL ] [ index* u32_index * ]

CONTROL := { reclassify | pipe | drop | continue | ok }

DESCRIPTION

The connmark action is used to restore the connection’s mark value into the packet’s fwmark.

OPTIONS

zone* u16_zone_index*
Specify the conntrack zone when doing conntrack lookups for packets. u16_zone_index is a 16bit unsigned decimal value.

CONTROL
How to continue after executing this action.

reclassify
Restarts classification by jumping back to the first filter attached to this action’s parent.

pipe
Continue with the next action, this is the default.

drop
shot
Packet will be dropped without running further actions.

continue
Continue classification with next filter in line.

pass
Return to calling qdisc for packet processing. This ends the classification process.

index* u32_index *
Specify an index for this action in order to being able to identify it in later commands. u32_index is a 32bit unsigned decimal value.

SEE ALSO

tc(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

38 - Linux cli command vfs_aio_fork

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_aio_fork and provides detailed information about the command vfs_aio_fork, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_aio_fork.

NAME πŸ–₯️ vfs_aio_fork πŸ–₯️

implement async I/O in Samba vfs

SYNOPSIS

vfs objects = aio_fork

DESCRIPTION

This VFS module is part of the samba(7) suite.

The aio_fork VFS module enables async I/O for Samba on platforms where the system level Posix AIO interface is insufficient. Posix AIO can suffer from severe limitations. For example, on some Linux versions the real-time signals that it uses are broken under heavy load. Other systems only allow AIO when special kernel modules are loaded or only allow a certain system-wide amount of async requests being scheduled. Systems based on glibc (most Linux systems) only allow a single outstanding request per file descriptor.

To work around all these limitations, the aio_fork module was written. It uses forked helper processes instead of the internal Posix AIO interface to create asynchronousity for read and write calls. It has no parameters, it will create helper processes when async requests come in as needed. Idle helper processes will be removed every 30 seconds.

This module is stackable.

EXAMPLES

Straight forward use:

    [cooldata]
	path = /data/ice
	vfs objects = aio_fork

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

39 - Linux cli command update-language

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-language and provides detailed information about the command update-language, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-language.

NAME πŸ–₯️ update-language πŸ–₯️

language - generate hyphenation configuration for TeX engines

SYNOPSIS

update-language(-dat,-def,-lua) [OPTIONS …]

DESCRIPTION

Generate hyphenation configuration files language.dat, .def, .dat.lua

When called as update-language, all three configurations files are generated. Otherwise only the selected one.

OPTIONS

-c, –conf-file=FILE
file giving additional hyphen specifications

-o, –output-file=FILE file to write the output to

-d, –output-dir=DIR
directory where files are written

–checks
perform sanity checks on the generated config file

-q, –quiet
don’t write anything to the standard output during normal operation

-h, -?, –help
display this help message and exit

–version
output version information and exit

FILES

The default output directory is

/var/lib/texmf/tex/generic/config

The default output files are

for update-language-dat
language.dat

for update-language-def
language.def

for update-language-lua
language.dat.lua

If -o/–output-file is given, it overrides all defaults.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

40 - Linux cli command systemd-tpm2-setup-early.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tpm2-setup-early.service and provides detailed information about the command systemd-tpm2-setup-early.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tpm2-setup-early.service.

NAME πŸ–₯️ systemd-tpm2-setup-early.service πŸ–₯️

tpm2-setup.service, systemd-tpm2-setup-early.service, systemd-tpm2-setup - Set up the TPM2 Storage Root Key (SRK) at boot

SYNOPSIS

systemd-tpm2-setup.service

/usr/lib/systemd/systemd-tpm2-setup

DESCRIPTION

systemd-tpm2-setup.service and systemd-tpm2-setup-early.service are services that generate the Storage Root Key (SRK) if it hasnt been generated yet, and stores it in the TPM.

The services will store the public key of the SRK key pair in a PEM file in /run/systemd/tpm2-srk-public-key.pem and /var/lib/systemd/tpm2-srk-public-key.pem. They will also store it in TPM2B_PUBLIC format in /run/systemd/tpm2-srk-public-key.tpm2_public and /var/lib/systemd/tpm2-srk-public-key.tpm2b_public.

systemd-tpm2-setup-early.service runs very early at boot (possibly in the initrd), and writes the SRK public key to /run/systemd/tpm2-srk-public-key.* (as /var/ is generally not accessible this early yet), while systemd-tpm2-setup.service runs during a later boot phase and saves the public key to /var/lib/systemd/tpm2-srk-public-key.*.

FILES

/run/systemd/tpm2-srk-public-key.pem, /run/systemd/tpm2-srk-public-key.tpm2b_public

The SRK public key in PEM and TPM2B_PUBLIC format, written during early boot.

Added in version 255.

/var/lib/systemd/tpm2-srk-public-key.pem, /var/lib/systemd/tpm2-srk-public-key.tpm2_public

The SRK public key in PEM and TPM2B_PUBLIC format, written during later boot (once /var/ is available).

Added in version 255.

SEE ALSO

systemd(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

41 - Linux cli command tc-pfifo_fast

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-pfifo_fast and provides detailed information about the command tc-pfifo_fast, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-pfifo_fast.

NAME πŸ–₯️ tc-pfifo_fast πŸ–₯️

three-band first in, first out queue

DESCRIPTION

pfifo_fast is the default qdisc of each interface.

Whenever an interface is created, the pfifo_fast qdisc is automatically used as a queue. If another qdisc is attached, it preempts the default pfifo_fast, which automatically returns to function when an existing qdisc is detached.

In this sense this qdisc is magic, and unlike other qdiscs.

ALGORITHM

The algorithm is very similar to that of the classful tc-prio(8) qdisc. pfifo_fast is like three tc-pfifo(8) queues side by side, where packets can be enqueued in any of the three bands based on their Type of Service bits or assigned priority.

Not all three bands are dequeued simultaneously - as long as lower bands have traffic, higher bands are never dequeued. This can be used to prioritize interactive traffic or penalize ’lowest cost’ traffic.

Each band can be txqueuelen packets long, as configured with ip(8). Additional packets coming in are not enqueued but are instead dropped.

See tc-prio(8) for complete details on how TOS bits are translated into bands.

PARAMETERS

txqueuelen
The length of the three bands depends on the interface txqueuelen, as specified with ip(8).

BUGS

Does not maintain statistics and does not show up in tc qdisc ls. This is because it is the automatic default in the absence of a configured qdisc.

SEE ALSO

tc(8)

AUTHORS

Alexey N. Kuznetsov, <[email protected]>

This manpage maintained by bert hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

42 - Linux cli command update-exim4.conf

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-exim4.conf and provides detailed information about the command update-exim4.conf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-exim4.conf.

NAME πŸ–₯️ update-exim4.conf πŸ–₯️

exim4.conf - Generate exim4 configuration files.

SYNOPSIS

update-exim4.conf [-v|–verbose] [-h|–help] [–keepcomments] [–removecomments] [-o|–output file]

OPTIONS

–check
Generate temporary configuration file, check its validity and exit with either success (exitcode 0) or an error (exitcode 1). On success the temporary file is deleted, otherwise the file is left for further debugging.

-d|–confdir directory
Read input from directory instead of /etc/exim4.

-h|–help
Show short help message and exit

–keepcomments
Do not remove comment lines from the output file.

-o|–output file
Write output to file instead of /var/lib/exim4/config.autogenerated.

–removecomments
Remove comment lines from the output file. [Default]

-v|–verbose
Enable verbose mode

DESCRIPTION

The script update-exim4.conf generates the main configuration files /var/lib/exim4/config.autogenerated for Exim v4 by merging the data in the template file /etc/exim4/exim4.conf.template or the ones in the /etc/exim4/conf.d directory tree respectively and /etc/exim4/update-exim4.conf.conf to the output file /var/lib/exim4/config.autogenerated.

If dc_use_split_config in /etc/exim4/update-exim4.conf.conf specifies a split configuration, update-exim4.conf processes the /etc/exim4/conf.d subdirectories in the order main, acl, router, transport, retry, rewrite and auth. Within each directory it takes files in lexical sort order by file name. It concatenates all these files and makes the debconf replacement described below.

If you are not using split configuration update-exim4.conf concatenates /etc/exim4/exim4.conf.localmacros (if this file exists) and /etc/exim4/exim4.conf.template (in this order) and makes the debconf replacement described below.

In either case, before outputting the result to /var/lib/exim4/config.autogenerated, update-exim4.conf generates a number of exim configuration macros from the contents of dc_something from /etc/exim4/update-exim4.conf.conf and inserts them into the configuration right after the definition of the exim configuration macro UPEX4CmacrosUPEX4C (which is only used as placeholder for this case). The macro definitions are bracketed with .ifdef clauses to allow the local admin to override the values with earlier definitions. update-exim4.conf makes no other changes to the configuration. This makes it very simple to make small changes to the configuration and still have the benefits of debconf.

On the other hand if you don’t want to manage exim4.conf with debconf install your own handcrafted version as /etc/exim4/exim4.conf. Exim will use this file if it exists and ignore the autogenerated one. Additionally you might want to set dc_eximconfig_configtype=none in /etc/exim4/update-exim4.conf.conf to stop debconf from asking you questions about exim4.

update-exim4.conf exits silently and does nothing if /etc/exim4/exim4.conf exists and -o was not used to direct the output to a different file than /var/lib/exim4/config.autogenerated.

update-exim4.conf will only use files in the conf.d directory that have a filename which consists only of letters, numbers, underscores and hyphens ([:alnum:]_-), similar to run-parts(8). Additionally, update-exim4.conf will use /etc/exim4/conf.d/foo/bar.rul instead of /etc/exim4/conf.d/foo/bar if the .rul file exists. This is meant to be helpful for easy interaction with packages extending Exim.

If the new configuration will be written to /var/lib/exim4/config.autogenerated, update-exim4.conf will check the validity of the freshly generated configuration. If the new file is detected as invalid, update-exim4.conf leaves the old /var/lib/exim4/config.autogenerated untouched and exits with an error.

However, there are still possible invalidities that can only be detected at run time. This most notably applies to errors in expressions that are expanded at run time.

If the new configuration will be written to some other file, no validity checking occurs and that file will always be overwritten.

EXAMPLES

You want to be able to check exim’s queue as normal user: Generate a new file, e.g. /etc/exim4/conf.d/main/40_local_mailq, containing only the line queue_list_requires_admin = false

NOTES

update-exim4.conf changes the file permissions of the output file to the value of the environment variable CFILEMODE. If CFILEMODE is neither set in /etc/exim4/update-exim4.conf.conf nor in the environment it defaults to 0644. Change this to 0640 if you are keeping sensitive information (LDAP credentials et. al.) in there.

CONFIGURATION VARIABLES

All lists given in configuration variables are semicolon-separated. In the past, they used to be colon separated. This was changed to semicolon separation to make specification of IPv6 addresses easier. Backwards compatibility is preserved, so that old configurations using colons as separators do still work. Colons are deprecated and might stop working in a later release. If you need to specify a single IPv6 address in a field that is defined as a list of host names or IP addresses, please prefix “<;” to explicitly specify the list separator as a semicolon. Otherwise, the code cannot tell an IP address from a colon-separated list of strange host names.

Using lookups like “dsearch;something” in update-exim4.conf.conf has never been supported and does no longer work! If you need this, please convert to directly setting the appropriate macros.

update-exim4.conf evaluates these patterns in /etc/exim4/update-exim4.conf.conf:

CFILEMODE
The octal file mode of the generated file.

dc_eximconfig_configtype
The main configuration type. Sets macro DC_eximconfig_configtype. The macro usually contains a shorthand for one of the choices for the β€œGeneral type of mail configuration” debconf question (See README.Debian).

dc_eximconfig_configtype <-> debconf configtype mapping:

β€œinternet”
internet site; mail is sent and received directly using SMTP

β€œsmarthost”
mail sent by smarthost; received via SMTP or fetchmail

β€œsatellite”
mail sent by smarthost; no local mail

β€œlocal”
local delivery only; not on a network

β€œnone”
no configuration at this time

dc_hide_mailname
Boolean option that controls whether the local mailname in the headers of outgoing mail should be hidden. (Only effective for β€œsmarthost” and β€œsatellite”. Sets macro HIDE_MAILNAME.

dc_mailname_in_oh
Internal use only Boolean option that is set by the maintainer scripts after adding the contents of /etc/mailname to the dc_other_hostnames list. This is a transition helper since it wouldn’t otherwise be possible to see whether that domain name has been removed from dc_other_hostnames on purpose. This is not used by update-exim4.conf, and no macro is set.

ue4c_keepcomments
Boolean option that controls whether update-exim4.conf strips the comments from the target configuration file (default) or leaves them in. This can be overridden by the command line options –keepcomments and –removecomments. The value is not written to an exim macro.

dc_localdelivery
name of the default transport for local mail delivery. Defaults to mail_spool if unset, use maildir_home for delivery to ~/Maildir/. Sets macro LOCAL_DELIVERY.

dc_local_interfaces
List of IP addresses the Exim daemon should listen on. If this is left empty, Exim listens on all interfaces. Sets macro MAIN_LOCAL_INTERFACES only if there is a non-empty value.

dc_minimaldns
Boolean option to activate some option to minimize DNS lookups, if set to β€œtrue” a macro DC_minimaldns is defined. If true, the macro DC_minimaldns is set to 1, and the macro MAIN_HARDCODE_PRIMARY_HOSTNAME is set to the appropriately post-processes output of hostname –fqdn.

dc_other_hostnames
is used to build the local_domains list, together with β€œlocalhost”. This is the list of domains for which this machine should consider itself the final destination. The local_domains list ends up in the macro MAIN_LOCAL_DOMAINS.

dc_readhost
For β€œsmarthost” and β€œsatellite” it is possible to hide the local mailname in the headers of outgoing mail and replace it with this value instead, using rewriting. For β€œsatellite” only, this value is also the host to send local mail to. Sets macro DCreadhost.

dc_relay_domains
is a list of domains for which we accept mail from anywhere on the Internet but which are not delivered locally, e.g. because this machine serves as secondary MX for these domains. Sets MAIN_RELAY_TO_DOMAINS.

dc_relay_nets
A list of machines for which we serve as smarthost. Please note that 127.0.0.1 and ::1 are always permitted to relay since /usr/lib/sendmail is available anyway and relay control doesn’t make sense here. Sets macro MAIN_RELAY_NETS.

dc_smarthost
List of hosts to which all outgoing mail is passed to and that takes care of delivering it. Each of the hosts is tried, in the order specified (See exim specification, chapter 20.5). All deliveries go out to TCP port 25 unless a different port is specified after the host name, separated from the host name by two colons. Colons in IPv6 addresses need to be doubled. If a port number follows, IP addresses may be enclosed in brackets, which might be the only possibility to specify delivery to an IPv6 address and a different port. Examples:
host.domain.example deliver to host looked up on DNS, tcp/25
host.domain.example::587 deliver to host looked up on DNS, tcp/587
192.168.2.4 deliver to IPv4 host, tcp/25
192.168.2.4::587 deliver to IPv4 host, tcp/587
[192.168.2.4]::587 deliver to IPv4 host, tcp/587
2001::0db8::f::4::::2 deliver to IPv6 host, tcp/25
[2001::0db8::f::4::::2]::587 deliver to IPv6 host, tcp/587
This is used as value of the DCsmarthost macro.

dc_use_split_config
Boolean option that controls whether update-exim4.conf uses /etc/exim4/exim4.conf.template (β€œfalse”) or the multiple files below /etc/exim4/conf.d (β€œtrue”) as input. This does not set any macros.

The macro MAIN_PACKAGE_VERSION is set to Debian’s Version number of
the package being installed for convenient inclusion in the configuration.

RECOMMENDED USAGE

If you are running exim as daemon (as it is in the default setup of the Debian packages) you should not invoke update-exim4.conf directly when exim is running. For SMTP receiving or queue running, exim forks, and the new processes would use the new configuration file, while the original main exim daemon would still use the old configuration file. You should use invoke-rc.d exim4 restart instead.

BUGS

This manual page needs a major re-work. If somebody knows better groff than us and has more experience in writing manual pages, any patches would be greatly appreciated.

FILES

/var/lib/exim4/config.autogenerated
Exim’s main configuration file

/etc/exim4/exim4.conf
Optional manually managed Exim main configuration file. Takes precedence over debconf managed one if it exists.

/etc/exim4/update-exim4.conf.conf
Configuration file being written by exim4-config maintainer scripts, which may be hand-edited, and is read as input by update-exim4.conf.

SEE ALSO

exim(8), exim4-config_files(5), /usr/share/doc/exim4-base/ and for general notes and details about interaction with debconf /usr/share/doc/exim4-base/README.Debian.gz

AUTHOR

Andreas Metzler <ametzler at debian.org>
Marc Haber <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

43 - Linux cli command tc-mirred

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-mirred and provides detailed information about the command tc-mirred, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-mirred.

NAME πŸ–₯️ tc-mirred πŸ–₯️

mirror/redirect action

SYNOPSIS

tcaction mirred DIRECTION ACTION [ index INDEX ] TARGET

DIRECTION := { ingress | egress }

TARGET := { DEV | BLOCK }

DEV := dev* DEVICENAME*

BLOCK := blockid* BLOCKID*

ACTION := { mirror | redirect }

DESCRIPTION

The mirred action allows packet mirroring (copying) or redirecting (stealing) the packet it receives. Mirroring is what is sometimes referred to as Switch Port Analyzer (SPAN) and is commonly used to analyze and/or debug flows. When mirroring to a tc block, the packet will be mirrored to all the ports in the block with exception of the port where the packet ingressed, if that port is part of the tc block. Redirecting is similar to mirroring except that the behaviour is to mirror to the first N - 1 ports in the block and redirect to the last one (note that the port in which the packet arrived is not going to be mirrored or redirected to).

OPTIONS

ingress
egress
Specify the direction in which the packet shall appear on the destination interface.

mirror
redirect
Define whether the packet should be copied (mirror) or moved (redirect) to the destination interface or block.

index* INDEX*
Assign a unique ID to this action instead of letting the kernel choose one automatically. INDEX is a 32bit unsigned integer greater than zero.

dev* DEVICENAME*
Specify the network interface to redirect or mirror to.

blockid* BLOCKID*
Specify the tc block to redirect or mirror to.

EXAMPLES

Limit ingress bandwidth on eth0 to 1mbit/s, redirect exceeding traffic to lo for debugging purposes:

tc qdisc add dev eth0 handle ffff: clsact

# tc filter add dev eth0 ingress u32 \
	match u32 0 0 \
	action police rate 1mbit burst 100k conform-exceed pipe \
	action mirred egress redirect dev lo

Mirror all incoming ICMP packets on eth0 to a dummy interface for examination with e.g. tcpdump:

ip link add dummy0 type dummy

# ip link set dummy0 up
# tc qdisc add dev eth0 handle ffff: clsact
# tc filter add dev eth0 ingress protocol ip \
	u32 match ip protocol 1 0xff \
	action mirred egress mirror dev dummy0

Using an ifb interface, it is possible to send ingress traffic through an instance of sfq:

modprobe ifb

# ip link set ifb0 up
# tc qdisc add dev ifb0 root sfq
# tc qdisc add dev eth0 handle ffff: clsact
# tc filter add dev eth0 ingress u32 \
	match u32 0 0 \
	action mirred egress redirect dev ifb0

LIMITATIONS

The kernel restricts nesting to four levels to avoid the chance of nesting loops.

Do not redirect for one IFB device to another. IFB is a very specialized case of packet redirecting device. Redirecting from ifbX->ifbY will cause all packets to be dropped.

SEE ALSO

tc(8), tc-u32(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

44 - Linux cli command systemd-update-utmp.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-update-utmp.service and provides detailed information about the command systemd-update-utmp.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-update-utmp.service.

NAME πŸ–₯️ systemd-update-utmp.service πŸ–₯️

update-utmp.service, systemd-update-utmp-runlevel.service, systemd-update-utmp - Write audit and utmp updates at bootup, runlevel changes and shutdown

SYNOPSIS

systemd-update-utmp.service

systemd-update-utmp-runlevel.service

/usr/lib/systemd/systemd-update-utmp

DESCRIPTION

systemd-update-utmp-runlevel.service is a service that writes SysV runlevel changes to utmp and wtmp, as well as the audit logs, as they occur. systemd-update-utmp.service does the same for system reboots and shutdown requests.

SEE ALSO

systemd(1), utmp(5), auditd(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

45 - Linux cli command vigr

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vigr and provides detailed information about the command vigr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vigr.

NAME πŸ–₯️ vigr πŸ–₯️

edit the password, group, shadow-password or shadow-group file

SYNOPSIS

vipw [options]

vigr [options]

DESCRIPTION

The vipw and vigr commands edit the files /etc/passwd and /etc/group, respectively. With the -s flag, they will edit the shadow versions of those files, /etc/shadow and /etc/gshadow, respectively. The programs will set the appropriate locks to prevent file corruption. When looking for an editor, the programs will first try the environment variable $VISUAL, then the environment variable $EDITOR, and finally the default editor, vi(1).

OPTIONS

The options which apply to the vipw and vigr commands are:

-g, –group

Edit group database.

-h, –help

Display help message and exit.

-p, –passwd

Edit passwd database.

-q, –quiet

Quiet mode.

-R, –root CHROOT_DIR

Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. Only absolute paths are supported.

-s, –shadow

Edit shadow or gshadow database.

ENVIRONMENT

VISUAL

Editor to be used.

EDITOR

Editor to be used if VISUAL is not set.

FILES

/etc/group

Group account information.

/etc/gshadow

Secure group account information.

/etc/passwd

User account information.

/etc/shadow

Secure user account information.

SEE ALSO

vi(1), group(5), gshadow(5) , passwd(5), , shadow(5).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

46 - Linux cli command [email protected]

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command [email protected] and provides detailed information about the command [email protected], system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the [email protected].

NAME πŸ–₯️ [email protected] πŸ–₯️

[email protected], systemd-veritysetup - Disk verity protection logic

SYNOPSIS

[email protected]

/usr/lib/systemd/systemd-veritysetup

DESCRIPTION

[email protected] is a service responsible for setting up verity protection block devices. It should be instantiated for each device that requires verity protection.

At early boot and when the system manager configuration is reloaded kernel command line configuration for verity protected block devices is translated into [email protected] units by systemd-veritysetup-generator(8).

[email protected] calls systemd-veritysetup.

COMMANDS

The following commands are understood by systemd-veritysetup:

attach volume datadevice hashdevice roothash [option…]

Create a block device volume using datadevice and hashdevice as the backing devices. roothash forms the root of the tree of hashes stored on hashdevice. See Kernel dm-verity[1] documentation for details.

Added in version 250.

detach volume

Detach (destroy) the block device volume.

Added in version 250.

help

Print short information about command syntax.

Added in version 250.

SEE ALSO

systemd(1), systemd-veritysetup-generator(8), veritysetup(8)

NOTES

Kernel dm-verity

https://docs.kernel.org/admin-guide/device-mapper/verity.html

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

47 - Linux cli command vfs_readahead

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_readahead and provides detailed information about the command vfs_readahead, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_readahead.

NAME πŸ–₯️ vfs_readahead πŸ–₯️

pre-load the kernel buffer cache

SYNOPSIS

vfs objects = readahead

DESCRIPTION

This VFS module is part of the samba(7) suite.

This vfs_readahead VFS module detects read requests at multiples of a given offset (hex 0x80000 by default) and then tells the kernel via either the readahead system call (on Linux) or the posix_fadvise system call to pre-fetch this data into the buffer cache.

This module is useful for Windows Vista clients reading data using the Windows Explorer program, which asynchronously does multiple file read requests at offset boundaries of 0x80000 bytes.

The offset multiple used is given by the readahead:offset option, which defaults to 0x80000.

The size of the disk read operations performed by vfs_readahead is determined by the readahead:length option. By default this is set to the same value as the readahead:offset option and if not set explicitly will use the current value of readahead:offset.

This module is stackable.

OPTIONS

readahead:offset = BYTES

The offset multiple that causes readahead to be requested of the kernel buffer cache.

readahead:length = BYTES

The number of bytes requested to be read into the kernel buffer cache on each readahead call.

The following suffixes may be applied to BYTES:

Β·

K - BYTES is a number of kilobytes

Β·

M - BYTES is a number of megabytes

Β·

G - BYTES is a number of gigabytes

EXAMPLES

[hypothetical] vfs objects = readahead

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

48 - Linux cli command tc-ets

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-ets and provides detailed information about the command tc-ets, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-ets.

NAME πŸ–₯️ tc-ets πŸ–₯️

Enhanced Transmission Selection scheduler

SYNOPSIS

tc qdisc … ets [ bands number ] [ strict number ] [ quanta bytes bytes bytes… ] [ priomap band band band… ]

tc class … ets [ quantum bytes ]

DESCRIPTION

The Enhanced Transmission Selection scheduler is a classful queuing discipline that merges functionality of PRIO and DRR qdiscs in one scheduler. ETS makes it easy to configure a set of strict and bandwidth-sharing bands to implement the transmission selection described in 802.1Qaz.

On creation with ’tc qdisc add’, a fixed number of bands is created. Each band is a class, although it is not possible to directly add and remove bands with ’tc class’ commands. The number of bands to be created must instead be specified on the command line as the qdisc is added.

The minor number of classid to use when referring to a band is the band number increased by one. Thus band 0 will have classid of major:1, band 1 that of major:2, etc.

ETS bands are of two types: some number may be in strict mode, the remaining ones are in bandwidth-sharing mode.

ALGORITHM

When dequeuing, strict bands are tried first, if there are any. Band 0 is tried first. If it did not deliver a packet, band 1 is tried next, and so on until one of the bands delivers a packet, or the strict bands are exhausted.

If no packet has been dequeued from any of the strict bands, if there are any bandwidth-sharing bands, the dequeuing proceeds according to the DRR algorithm. Each bandwidth-sharing band is assigned a deficit counter, initialized to quantum assigned by a quanta element. ETS maintains an (internal) ‘‘active’’ list of bandwidth-sharing bands whose qdiscs are non-empty. This list is used for dequeuing. A packet is dequeued from the band at the head of the list if the packet size is smaller or equal to the deficit counter. If the counter is too small, it is increased by quantum and the scheduler moves on to the next band in the active list.

Only qdiscs that own their queue should be added below the bandwidth-sharing bands. Attaching to them non-work-conserving qdiscs like TBF does not make sense – other qdiscs in the active list will be skipped until the dequeue operation succeeds. This limitation does not exist with the strict bands.

CLASSIFICATION

The ETS qdisc allows three ways to decide which band to enqueue a packet to:

- Packet priority can be directly set to a class handle, in which case that is the queue where the packet will be put. For example, band number 2 of a qdisc with handle of 11: will have classid 11:3. To mark a packet for queuing to this band, the packet priority should be set to 0x110003.

- A tc filter attached to the qdisc can put the packet to a band by using the flowid keyword.

- As a last resort, the ETS qdisc consults its priomap (see below), which maps packets to bands based on packet priority.

PARAMETERS

strict
The number of bands that should be created in strict mode. If not given, this value is 0.

quanta
Each bandwidth-sharing band needs to know its quantum, which is the amount of bytes a band is allowed to dequeue before the scheduler moves to the next bandwidth-sharing band. The quanta argument lists quanta for the individual bandwidth-sharing bands. The minimum value of each quantum is 1. If quanta is not given, the default is no bandwidth-sharing bands, but note that when specifying a large number of bands, the extra ones are in bandwidth-sharing mode by default.

bands
Number of bands given explicitly. This value has to be at least large enough to cover the strict bands specified through the strict keyword and bandwidth-sharing bands specified in quanta. If a larger value is given, any extra bands are in bandwidth-sharing mode, and their quanta are deduced from the interface MTU. If no value is given, as many bands are created as necessary to cover all bands implied by the strict and quanta keywords.

priomap
The priomap maps the priority of a packet to a band. The argument is a list of numbers. The first number indicates which band the packets with priority 0 should be put to, the second is for priority 1, and so on.

There can be up to 16 numbers in the list. If there are fewer, the default band that traffic with one of the unmentioned priorities goes to is the last one.

EXAMPLE & USAGE

Add a qdisc with 8 bandwidth-sharing bands, using the interface MTU as their quanta. Since all quanta are the same, this will lead to equal distribution of bandwidth between the bands, each will get about 12.5% of the link. The low 8 priorities go to individual bands in a reverse 1:1 fashion (such that the highest priority goes to the first band).

# tc qdisc add dev eth0 root handle 1: ets bands 8 priomap 7 6 5 4 3 2 1 0
# tc qdisc show dev eth0
qdisc ets 1: root refcnt 2 bands 8 quanta 1514 1514 1514 1514 1514 1514 1514 1514 priomap 7 6 5 4 3 2 1 0 7 7 7 7 7 7 7 7

Tweak the first band of the above qdisc to give it a quantum of 2650, which will give it about 20% of the link (and about 11.5% to the remaining bands):

# tc class change dev eth0 classid 1:1 ets quantum 2650
# tc qdisc show dev eth0
qdisc ets 1: root refcnt 2 bands 8 quanta 2650 1514 1514 1514 1514 1514 1514 1514 priomap 7 6 5 4 3 2 1 0 7 7 7 7 7 7 7 7

Create a purely strict Qdisc with reverse 1:1 mapping between priorities and bands:

# tc qdisc add dev eth0 root handle 1: ets strict 8 priomap 7 6 5 4 3 2 1 0
# tc qdisc sh dev eth0
qdisc ets 1: root refcnt 2 bands 8 strict 8 priomap 7 6 5 4 3 2 1 0 7 7 7 7 7 7 7 7

Add a Qdisc with 6 bands, 3 strict and 3 ETS with 35%-30%-25% weights:

# tc qdisc add dev eth0 root handle 1: ets strict 3 quanta 3500 3000 2500 priomap 0 1 1 1 2 3 4 5
# tc qdisc sh dev eth0
qdisc ets 1: root refcnt 2 bands 6 strict 3 quanta 3500 3000 2500 priomap 0 1 1 1 2 3 4 5 5 5 5 5 5 5 5 5

Create a Qdisc such that traffic with priorities 2, 3 and 4 are strictly prioritized over other traffic, and the rest goes into bandwidth-sharing classes with equal weights:

# tc qdisc add dev eth0 root handle 1: ets bands 8 strict 3 priomap 3 4 0 1 2 5 6 7
# tc qdisc sh dev eth0
qdisc ets 1: root refcnt 2 bands 8 strict 3 quanta 1514 1514 1514 1514 1514 priomap 3 4 0 1 2 5 6 7 7 7 7 7 7 7 7 7

SEE ALSO

tc(8), tc-prio(8), tc-drr(8)

AUTHOR

Parts of both this manual page and the code itself are taken from PRIO and DRR qdiscs.
ETS qdisc itself was written by Petr Machata.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

49 - Linux cli command vfs_fake_perms

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_fake_perms and provides detailed information about the command vfs_fake_perms, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_fake_perms.

NAME πŸ–₯️ vfs_fake_perms πŸ–₯️

enable read only Roaming Profiles

SYNOPSIS

vfs objects = fake_perms

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_fake_perms VFS module was created to allow Roaming Profile files and directories to be set (on the Samba server under UNIX) as read only. This module will, if installed on the Profiles share, report to the client that the Profile files and directories are writeable. This satisfies the client even though the files will never be overwritten as the client logs out or shuts down.

This module is stackable.

EXAMPLES

    [Profiles]
	path = /profiles
	vfs objects = fake_perms

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

50 - Linux cli command tdbbackup

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tdbbackup and provides detailed information about the command tdbbackup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tdbbackup.

NAME πŸ–₯️ tdbbackup πŸ–₯️

tool for backing up and for validating the integrity of samba .tdb files

SYNOPSIS

tdbbackup [-s suffix] [-v] [-h] [-n hashsize] [-l]

DESCRIPTION

This tool is part of the samba(1) suite.

tdbbackup is a tool that may be used to backup samba .tdb files. This tool may also be used to verify the integrity of the .tdb files prior to samba startup or during normal operation. If it finds file damage and it finds a prior backup the backup file will be restored.

OPTIONS

-h

Get help information.

-s suffix

The -s option allows the administrator to specify a file backup extension. This way it is possible to keep a history of tdb backup files by using a new suffix for each backup.

-v

The -v will check the database for damages (corrupt data) which if detected causes the backup to be restored.

-n hashsize

The -n option sets the hash size for the new backup tdb.

-l

This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex(). Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e.g. databases which were created with mutex locking.

COMMANDS

GENERAL INFORMATION

The tdbbackup utility can safely be run at any time. It was designed so that it can be used at any time to validate the integrity of tdb files, even during Samba operation. Typical usage for the command will be:

tdbbackup [-s suffix] *.tdb

Before restarting samba the following command may be run to validate .tdb files:

tdbbackup -v [-s suffix] *.tdb

Samba .tdb files are stored in various locations, be sure to run backup all .tdb file on the system. Important files includes:

Β·

secrets.tdb - usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba.

Β·

passdb.tdb - usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba.

Β·

*.tdb located in the /usr/local/samba/var directory or on some systems in the /var/cache or /var/lib/samba directories.

VERSION

This man page is correct for version 3 of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The tdbbackup man page was written by John H Terpstra.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

51 - Linux cli command systemd-socket-proxyd

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-socket-proxyd and provides detailed information about the command systemd-socket-proxyd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-socket-proxyd.

NAME πŸ–₯️ systemd-socket-proxyd πŸ–₯️

socket-proxyd - Bidirectionally proxy local sockets to another (possibly remote) socket

SYNOPSIS

systemd-socket-proxyd [OPTIONS…] HOST:PORT

systemd-socket-proxyd [OPTIONS…] UNIX-DOMAIN-SOCKET-PATH

DESCRIPTION

systemd-socket-proxyd is a generic socket-activated network socket forwarder proxy daemon for IPv4, IPv6 and UNIX stream sockets. It may be used to bi-directionally forward traffic from a local listening socket to a local or remote destination socket.

One use of this tool is to provide socket activation support for services that do not natively support socket activation. On behalf of the service to activate, the proxy inherits the socket from systemd, accepts each client connection, opens a connection to a configured server for each client, and then bidirectionally forwards data between the two.

This utilitys behavior is similar to socat(1). The main differences for systemd-socket-proxyd are support for socket activation with “Accept=no” and an event-driven design that scales better with the number of connections.

Note that systemd-socket-proxyd will not forward socket side channel information, i.e. will not forward SCM_RIGHTS, SCM_CREDENTIALS, SCM_SECURITY, SO_PEERCRED, SO_PEERPIDFD, SO_PEERSEC, SO_PEERGROUPS and similar.

OPTIONS

The following options are understood:

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

–connections-max=, -c

Sets the maximum number of simultaneous connections, defaults to 256. If the limit of concurrent connections is reached further connections will be refused.

Added in version 233.

–exit-idle-time=

Sets the time before exiting when there are no connections, defaults to infinity. Takes a unit-less value in seconds, or a time span value such as “5min 20s”.

Added in version 246.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

EXAMPLES

Simple Example

Use two services with a dependency and no namespace isolation.

Example 1. proxy-to-nginx.socket

[Socket] ListenStream=80

[Install]
WantedBy=sockets.target

Example 2. proxy-to-nginx.service

[Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket

[Service]
Type=notify
ExecStart=/usr/lib/systemd/systemd-socket-proxyd /run/nginx/socket
PrivateTmp=yes
PrivateNetwork=yes

Example 3. nginx.conf

[…] server { listen unix:/run/nginx/socket; […]

Example 4. Enabling the proxy

systemctl enable –now proxy-to-nginx.socket

$ curl http://localhost:80/

If nginx.service has StopWhenUnneeded= set, then passing –exit-idle-time= to systemd-socket-proxyd allows both services to stop during idle periods.

Namespace Example

Similar as above, but runs the socket proxy and the main service in the same private namespace, assuming that nginx.service has PrivateTmp= and PrivateNetwork= set, too.

Example 5. proxy-to-nginx.socket

[Socket] ListenStream=80

[Install]
WantedBy=sockets.target

Example 6. proxy-to-nginx.service

[Unit] Requires=nginx.service After=nginx.service Requires=proxy-to-nginx.socket After=proxy-to-nginx.socket JoinsNamespaceOf=nginx.service

[Service]
Type=notify
ExecStart=/usr/lib/systemd/systemd-socket-proxyd 127.0.0.1:8080
PrivateTmp=yes
PrivateNetwork=yes

Example 7. nginx.conf

[…] server { listen 8080; […]

Example 8. Enabling the proxy

systemctl enable –now proxy-to-nginx.socket

$ curl http://localhost:80/

SEE ALSO

systemd(1), systemd.socket(5), systemd.service(5), systemctl(1), socat(1), nginx(1), curl(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

52 - Linux cli command updatedb

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command updatedb and provides detailed information about the command updatedb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the updatedb.

NAME πŸ–₯️ updatedb πŸ–₯️

update a database for plocate

SYNOPSIS

updatedb [OPTION]…

DESCRIPTION

updatedb creates or updates a database used by locate(1). If the database already exists, its data is reused to avoid rereading directories that have not changed.

updatedb is usually run daily from a systemd.timer(8) to update the default database.

EXIT STATUS

updatedb returns with exit status 0 on success, 1 on error.

OPTIONS

The PRUNE_BIND_MOUNTS, PRUNEFS, PRUNENAMES and PRUNEPATHS variables, which are modified by some of the options, are documented in detail in updatedb.conf(5).

-f, –add-prunefs FS
Add entries in white-space-separated list FS to PRUNEFS.

-n, –add-prunenames NAMES
Add entries in white-space-separated list NAMES to PRUNENAMES.

-e, –add-prunepaths PATHS
Add entries in white-space-separated list PATHS to PRUNEPATHS.

–add-single-prunepath PATH
Add PATH to PRUNEPATHS. Note that this is currently the only way to add a path with a space in it.

-U, –database-root PATH
Store only results of scanning the file system subtree rooted at PATH to the generated database. The whole file system is scanned by default.

locate(1) outputs entries as absolute path names which don’t contain symbolic links, regardless of the form of PATH.

–debug-pruning
Write debugging information about pruning decisions to standard error output.

-h, –help
Write a summary of the available options to standard output and exit successfully.

-o, –output FILE
Write the database to FILE instead of using the default database.

–prune-bind-mounts FLAG
Set PRUNE_BIND_MOUNTS to FLAG, overriding the configuration file.

–prunefs FS
Set PRUNEFS to FS, overriding the configuration file.

–prunenames NAMES
Set PRUNENAMES to NAMES, overriding the configuration file.

–prunepaths PATHS
Set PRUNEPATHS to PATHS, overriding the configuration file.

-l, –require-visibility FLAG
Set the β€œrequire file visibility before reporting it” flag in the generated database to FLAG.

If FLAG is 0 or no, or if the database file is readable by “others” or it is not owned by plocate, locate(1) outputs the database entries even if the user running locate(1) could not have read the directory necessary to find out the file described by the database entry.

If FLAG is 1 or yes (the default), locate(1) checks the permissions of parent directories of each entry before reporting it to the invoking user. To make the file existence truly hidden from other users, the database group is set to plocate and the database permissions prohibit reading the database by users using other means than locate(1), which is set-gid plocate.

Note that the visibility flag is checked only if the database is owned by plocate and it is not readable by “others”.

-v, –verbose
Output path names of files to standard output, as soon as they are found.

-V, –version
Write information about the version and license of locate on standard output and exit successfully.

EXAMPLES

To create a private plocate database as a user other than root, run

updatedb -l 0 -o db_file -U source_directory

Note that all users that can read db_file can get the complete list of files in the subtree of source_directory.

FILES

/etc/updatedb.conf
A configuration file. See updatedb.conf(5). Uses exactly the same format as the one used by mlocate(1)’s updatedb, so they can be shared.

/var/lib/plocate/plocate.db
The database updated by default.

SECURITY

Databases built with –require-visibility no allow users to find names of files and directories of other users, which they would not otherwise be able to do.

AUTHOR

Miloslav Trmac <[email protected]>

Steinar H. Gunderson <[email protected]>

SEE ALSO

locate(1), updatedb.conf(5)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

53 - Linux cli command vcstime

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vcstime and provides detailed information about the command vcstime, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vcstime.

NAME πŸ–₯️ vcstime πŸ–₯️

Show time in upper right hand corner of the console screen

SYNOPSIS

vcstime

DESCRIPTION

vcstime shows the current time in the upper right-hand corner of the console screen.

This simple program shows the current time in the corner of the console screen.

It needs to be run by root, in order to have write permissions to /dev/vcsa

AUTHORS

vcstime was written by Andries Brouwer, based on a suggestion by Miguel de Icaza. This manual page was Written by Alastair McKinstry, Debian, Jan 2003.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

54 - Linux cli command tc-prio

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-prio and provides detailed information about the command tc-prio, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-prio.

NAME πŸ–₯️ tc-prio πŸ–₯️

Priority qdisc

SYNOPSIS

tc qdisc … dev dev ( parent classid | root) [ handle major: ] prio [ bands bands ] [ priomap band band band… ] [ estimator interval timeconstant ]

DESCRIPTION

The PRIO qdisc is a simple classful queueing discipline that contains an arbitrary number of classes of differing priority. The classes are dequeued in numerical descending order of priority. PRIO is a scheduler and never delays packets - it is a work-conserving qdisc, though the qdiscs contained in the classes may not be.

Very useful for lowering latency when there is no need for slowing down traffic.

ALGORITHM

On creation with ’tc qdisc add’, a fixed number of bands is created. Each band is a class, although is not possible to add classes with ’tc qdisc add’, the number of bands to be created must instead be specified on the command line attaching PRIO to its root.

When dequeueing, band 0 is tried first and only if it did not deliver a packet does PRIO try band 1, and so onwards. Maximum reliability packets should therefore go to band 0, minimum delay to band 1 and the rest to band 2.

As the PRIO qdisc itself will have minor number 0, band 0 is actually major:1, band 1 is major:2, etc. For major, substitute the major number assigned to the qdisc on ’tc qdisc add’ with the handle parameter.

CLASSIFICATION

Three methods are available to PRIO to determine in which band a packet will be enqueued.

From userspace
A process with sufficient privileges can encode the destination class directly with SO_PRIORITY, see socket(7).

with a tc filter
A tc filter attached to the root qdisc can point traffic directly to a class

with the priomap
Based on the packet priority, which in turn is derived from the Type of Service assigned to the packet.

Only the priomap is specific to this qdisc.

QDISC PARAMETERS

bands
Number of bands. If changed from the default of 3, priomap must be updated as well.

priomap
The priomap maps the priority of a packet to a class. The priority can either be set directly from userspace, or be derived from the Type of Service of the packet.

Determines how packet priorities, as assigned by the kernel, map to bands. Mapping occurs based on the TOS octet of the packet, which looks like this:

0   1   2   3   4   5   6   7
+---+---+---+---+---+---+---+---+
|           |               |   |
|PRECEDENCE |      TOS      |MBZ|
|           |               |   |
+---+---+---+---+---+---+---+---+

The four TOS bits (the ‘TOS field’) are defined as:

Binary Decimal  Meaning
-----------------------------------------
1000   8         Minimize delay (md)
0100   4         Maximize throughput (mt)
0010   2         Maximize reliability (mr)
0001   1         Minimize monetary cost (mmc)
0000   0         Normal Service

As there is 1 bit to the right of these four bits, the actual value of the TOS field is double the value of the TOS bits. Tcpdump -v -v shows you the value of the entire TOS field, not just the four bits. It is the value you see in the first column of this table:

TOS     Bits  Means                    Linux Priority    Band
------------------------------------------------------------
0x0     0     Normal Service           0 Best Effort     1
0x2     1     Minimize Monetary Cost   0 Best Effort     1
0x4     2     Maximize Reliability     0 Best Effort     1
0x6     3     mmc+mr                   0 Best Effort     1
0x8     4     Maximize Throughput      2 Bulk            2
0xa     5     mmc+mt                   2 Bulk            2
0xc     6     mr+mt                    2 Bulk            2
0xe     7     mmc+mr+mt                2 Bulk            2
0x10    8     Minimize Delay           6 Interactive     0
0x12    9     mmc+md                   6 Interactive     0
0x14    10    mr+md                    6 Interactive     0
0x16    11    mmc+mr+md                6 Interactive     0
0x18    12    mt+md                    4 Int. Bulk       1
0x1a    13    mmc+mt+md                4 Int. Bulk       1
0x1c    14    mr+mt+md                 4 Int. Bulk       1
0x1e    15    mmc+mr+mt+md             4 Int. Bulk       1

The second column contains the value of the relevant four TOS bits, followed by their translated meaning. For example, 15 stands for a packet wanting Minimal Monetary Cost, Maximum Reliability, Maximum Throughput AND Minimum Delay.

The fourth column lists the way the Linux kernel interprets the TOS bits, by showing to which Priority they are mapped.

The last column shows the result of the default priomap. On the command line, the default priomap looks like this:

1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1

This means that priority 4, for example, gets mapped to band number 1. The priomap also allows you to list higher priorities (> 7) which do not correspond to TOS mappings, but which are set by other means.

This table from RFC 1349 (read it for more details) explains how applications might very well set their TOS bits:

TELNET                   1000           (minimize delay)
FTP
        Control          1000           (minimize delay)
        Data             0100           (maximize throughput)

TFTP                     1000           (minimize delay)

SMTP
        Command phase    1000           (minimize delay)
        DATA phase       0100           (maximize throughput)

Domain Name Service
        UDP Query        1000           (minimize delay)
        TCP Query        0000
        Zone Transfer    0100           (maximize throughput)

NNTP                     0001           (minimize monetary cost)

ICMP
        Errors           0000
        Requests         0000 (mostly)
        Responses        <same as request> (mostly)

CLASSES

PRIO classes cannot be configured further - they are automatically created when the PRIO qdisc is attached. Each class however can contain yet a further qdisc.

BUGS

Large amounts of traffic in the lower bands can cause starvation of higher bands. Can be prevented by attaching a shaper (for example, tc-tbf(8) to these bands to make sure they cannot dominate the link.

AUTHORS

Alexey N. Kuznetsov, <[email protected]>, J Hadi Salim <[email protected]>. This manpage maintained by bert hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

55 - Linux cli command tc-pfifo

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-pfifo and provides detailed information about the command tc-pfifo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-pfifo.

NAME πŸ–₯️ tc-pfifo πŸ–₯️

Packet limited First In, First Out queue

bfifo - Byte limited First In, First Out queue

SYNOPSIS

tc qdisc … add pfifo [ limit packets ]

tc qdisc … add bfifo [ limit bytes ]

DESCRIPTION

The pfifo and bfifo qdiscs are unadorned First In, First Out queues. They are the simplest queues possible and therefore have no overhead. pfifo constrains the queue size as measured in packets. bfifo does so as measured in bytes.

Like all non-default qdiscs, they maintain statistics. This might be a reason to prefer pfifo or bfifo over the default.

ALGORITHM

A list of packets is maintained, when a packet is enqueued it gets inserted at the tail of a list. When a packet needs to be sent out to the network, it is taken from the head of the list.

If the list is too long, no further packets are allowed on. This is called ’tail drop'.

PARAMETERS

limit
Maximum queue size. Specified in bytes for bfifo, in packets for pfifo. For pfifo, defaults to the interface txqueuelen, as specified with ip(8). The range for this parameter is [0, UINT32_MAX].

For bfifo, it defaults to the txqueuelen multiplied by the interface MTU. The range for this parameter is [0, UINT32_MAX] bytes.

Note: The link layer header was considered when counting packets length.

OUTPUT

The output of tc -s qdisc ls contains the limit, either in packets or in bytes, and the number of bytes and packets actually sent. An unsent and dropped packet only appears between braces and is not counted as ‘Sent’.

In this example, the queue length is 100 packets, 45894 bytes were sent over 681 packets. No packets were dropped, and as the pfifo queue does not slow down packets, there were also no overlimits:

# tc -s qdisc ls dev eth0
qdisc pfifo 8001: dev eth0 limit 100p
 Sent 45894 bytes 681 pkts (dropped 0, overlimits 0)

If a backlog occurs, this is displayed as well.

SEE ALSO

tc(8)

AUTHORS

Alexey N. Kuznetsov, <[email protected]>

This manpage maintained by bert hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

56 - Linux cli command unix_chkpwd

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unix_chkpwd and provides detailed information about the command unix_chkpwd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unix_chkpwd.

NAME πŸ–₯️ unix_chkpwd πŸ–₯️

Helper binary that verifies the password of the current user

SYNOPSIS

unix_chkpwd […]

DESCRIPTION

unix_chkpwd is a helper program for the pam_unix module that verifies the password of the current user. It also checks password and account expiration dates in shadow. It is not intended to be run directly from the command line and logs a security violation if done so.

It is typically installed setuid root or setgid shadow.

The interface of the helper - command line options, and input/output data format are internal to the pam_unix module and it should not be called directly from applications.

SEE ALSO

pam_unix(8)

AUTHOR

Written by Andrew Morgan and other various people.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

57 - Linux cli command vfs_io_uring

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_io_uring and provides detailed information about the command vfs_io_uring, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_io_uring.

NAME πŸ–₯️ vfs_io_uring πŸ–₯️

Implement async io in Samba vfs using io_uring of Linux (>= 5.1).

SYNOPSIS

vfs objects = io_uring

DESCRIPTION

This VFS module is part of the samba(7) suite.

The io_uring VFS module enables asynchronous pread, pwrite and fsync using the io_uring infrastructure of Linux (>= 5.1). This provides much less overhead compared to the usage of the pthreadpool for async io.

This module SHOULD be listed last in any module stack as it requires real kernel file descriptors.

EXAMPLES

Straight forward use:

    [cooldata]
	path = /data/ice
	vfs objects = io_uring

OPTIONS

io_uring:num_entries = NUMBER_OF_QUEUE_ENTRIES

The number of entries in the submission queue. The maximum allowed value depends on the kernel version and the kernel will roundup the value to a power of 2.

The default is 128.

io_uring:sqpoll = BOOL

Use the IORING_SETUP_SQPOLL feature.

The default is no.

SEE ALSO

io_uring_setup(2).

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

58 - Linux cli command xtables-nft

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xtables-nft and provides detailed information about the command xtables-nft, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xtables-nft.

NAME πŸ–₯️ xtables-nft πŸ–₯️

nft β€” iptables using nftables kernel api

DESCRIPTION

xtables-nft are versions of iptables that use the nftables API. This is a set of tools to help the system administrator migrate the ruleset from iptables(8), ip6tables(8), arptables(8), and ebtables(8) to nftables(8).

The xtables-nft set is composed of several commands:

  • iptables-nft

  • iptables-nft-save

  • iptables-nft-restore

  • ip6tables-nft

  • ip6tables-nft-save

  • ip6tables-nft-restore

  • arptables-nft

  • ebtables-nft

These tools use the libxtables framework extensions and hook to the nf_tables kernel subsystem using the nft_compat module.

USAGE

The xtables-nft tools allow you to manage the nf_tables backend using the native syntax of iptables(8), ip6tables(8), arptables(8), and ebtables(8).

You should use the xtables-nft tools exactly the same way as you would use the corresponding original tools.

Adding a rule will result in that rule being added to the nf_tables kernel subsystem instead. Listing the ruleset will use the nf_tables backend as well.

When these tools were designed, the main idea was to replace each legacy binary with a symlink to the xtables-nft program, for example:

	/sbin/iptables -> /usr/sbin/iptables-nft-multi
	/sbin/ip6tables -> /usr/sbin/ip6tables-nft-multi
	/sbin/arptables -> /usr/sbin/arptables-nft-multi
	/sbin/ebtables -> /usr/sbin/ebtables-nft-multi

The iptables version string will indicate whether the legacy API (get/setsockopt) or the new nf_tables api is used:

	iptables -V
	iptables v1.7 (nf_tables)

DIFFERENCES TO LEGACY IPTABLES

Because the xtables-nft tools use the nf_tables kernel API, rule additions and deletions are always atomic. Unlike iptables-legacy, iptables-nft -A .. will NOT need to retrieve the current ruleset from the kernel, change it, and re-load the altered ruleset. Instead, iptables-nft will tell the kernel to add one rule. For this reason, the iptables-legacy –wait option is a no-op in iptables-nft.

Use of the xtables-nft tools allow monitoring ruleset changes using the xtables-monitor(8) command.

When using -j TRACE to debug packet traversal to the ruleset, note that you will need to use xtables-monitor(8) in –trace mode to obtain monitoring trace events.

EXAMPLES

One basic example is creating the skeleton ruleset in nf_tables from the xtables-nft tools, in a fresh machine:

	root@machine:~# iptables-nft -L
	[...]
	root@machine:~# ip6tables-nft -L
	[...]
	root@machine:~# arptables-nft -L
	[...]
	root@machine:~# ebtables-nft -L
	[...]
	root@machine:~# nft list ruleset
	table ip filter {
		chain INPUT {
			type filter hook input priority 0; policy accept;
		}

		chain FORWARD {
			type filter hook forward priority 0; policy accept;
		}

		chain OUTPUT {
			type filter hook output priority 0; policy accept;
		}
	}
	table ip6 filter {
		chain INPUT {
			type filter hook input priority 0; policy accept;
		}

		chain FORWARD {
			type filter hook forward priority 0; policy accept;
		}

		chain OUTPUT {
			type filter hook output priority 0; policy accept;
		}
	}
	table bridge filter {
		chain INPUT {
			type filter hook input priority -200; policy accept;
		}

		chain FORWARD {
			type filter hook forward priority -200; policy accept;
		}

		chain OUTPUT {
			type filter hook output priority -200; policy accept;
		}
	}
	table arp filter {
		chain INPUT {
			type filter hook input priority 0; policy accept;
		}

		chain FORWARD {
			type filter hook forward priority 0; policy accept;
		}

		chain OUTPUT {
			type filter hook output priority 0; policy accept;
		}
	}

(please note that in fresh machines, listing the ruleset for the first time results in all tables an chain being created).

To migrate your complete filter ruleset, in the case of iptables(8), you would use:

	root@machine:~# iptables-legacy-save > myruleset # reads from x_tables
	root@machine:~# iptables-nft-restore myruleset   # writes to nf_tables

or

	root@machine:~# iptables-legacy-save | iptables-translate-restore | less

to see how rules would look like in the nft nft(8) syntax.

LIMITATIONS

You should use Linux kernel >= 4.17.

The CLUSTERIP target is not supported.

To get up-to-date information about this, please head to http://wiki.nftables.org/.

SEE ALSO

nft(8), xtables-translate(8), xtables-monitor(8)

AUTHORS

The nftables framework is written by the Netfilter project (https://www.netfilter.org).

This manual page was written by Arturo Borrero Gonzalez <[email protected]> for the Debian project, but may be used by others.

This documentation is free/libre under the terms of the GPLv2+.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

59 - Linux cli command tc-pedit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-pedit and provides detailed information about the command tc-pedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-pedit.

NAME πŸ–₯️ tc-pedit πŸ–₯️

generic packet editor action

SYNOPSIS

tc … **action pedit [ex] munge **{ RAW_OP | LAYERED_OP | EXTENDED_LAYERED_OP } [ CONTROL ]

RAW_OP := offset* OFFSET* { u8 | u16 | u32 } [ AT_SPEC ] CMD_SPEC

AT_SPEC := at* AT offmask MASK shift SHIFT*

LAYERED_OP := { ip* IPHDR_FIELD* | ip* BEYOND_IPHDR_FIELD* }* CMD_SPEC*

EXTENDED_LAYERED_OP := { eth* ETHHDR_FIELD* | ip* IPHDR_FIELD* | ip* EX_IPHDR_FIELD* | ip6* IP6HDR_FIELD* | tcp* TCPHDR_FIELD* | udp* UDPHDR_FIELD* }* CMD_SPEC*

ETHHDR_FIELD := { src | dst | type }

IPHDR_FIELD := { src | dst | tos | dsfield | ihl | protocol | precedence | nofrag | firstfrag | ce | df }

BEYOND_IPHDR_FIELD := { dport | sport | icmp_type | icmp_code }

EX_IPHDR_FIELD := { ttl }

IP6HDR_FIELD := { src | dst | traffic_class | flow_lbl | payload_len | nexthdr | hoplimit }

TCPHDR_FIELD := { sport | dport | flags }

UDPHDR_FIELD := { sport | dport }

CMD_SPEC := { clear | invert | set VAL | add VAL | decrement | preserve } [ retain RVAL ]

CONTROL := { reclassify | pipe | drop | shot | continue | pass | goto chain CHAIN_INDEX }

DESCRIPTION

The pedit action can be used to change arbitrary packet data. The location of data to change can either be specified by giving an offset and size as in RAW_OP, or for header values by naming the header and field to edit the size is then chosen automatically based on the header field size.

OPTIONS

ex
Use extended pedit. EXTENDED_LAYERED_OP and the add/decrement CMD_SPEC are allowed only in this mode.

offset* OFFSET *{ u32 | u16 | u8 }
Specify the offset at which to change data. OFFSET is a signed integer, it’s base is automatically chosen (e.g. hex if prefixed by 0x or octal if prefixed by 0). The second argument specifies the length of data to change, that is four bytes (u32), two bytes (u16) or a single byte (u8).

at* AT offmask MASK shift SHIFT*
This is an optional part of RAW_OP which allows one to have a variable OFFSET depending on packet data at offset AT, which is binary ANDed with MASK and right-shifted by SHIFT before adding it to OFFSET.

eth* ETHHDR_FIELD*
Change an ETH header field. The supported keywords for ETHHDR_FIELD are:

src
dst
Source or destination MAC address in the standard format: XX:XX:XX:XX:XX:XX

type
Ether-type in numeric value

ip* IPHDR_FIELD*
Change an IPv4 header field. The supported keywords for IPHDR_FIELD are:

src
dst
Source or destination IP address, a four-byte value.

tos
dsfield
precedence
Type Of Service field, an eight-bit value.

ihl
Change the IP Header Length field, a four-bit value.

protocol
Next-layer Protocol field, an eight-bit value.

nofrag
firstfrag
ce
df
mf
Change IP header flags. Note that the value to pass to the set command is not just a bit value, but the full byte including the flags field. Though only the relevant bits of that value are respected, the rest ignored.

ip* BEYOND_IPHDR_FIELD*
Supported only for non-extended layered op. It is passed to the kernel as offsets relative to the beginning of the IP header and assumes the IP header is of minimum size (20 bytes). The supported keywords for BEYOND_IPHDR_FIELD are:

dport
sport
Destination or source port numbers, a 16-bit value. Indeed, IPv4 headers don’t contain this information. Instead, this will set an offset which suits at least TCP and UDP if the IP header is of minimum size (20 bytes). If not, this will do unexpected things.

icmp_type
icmp_code
Again, this allows one to change data past the actual IP header itself. It assumes an ICMP header is present immediately following the (minimal sized) IP header. If it is not or the latter is bigger than the minimum of 20 bytes, this will do unexpected things. These fields are eight-bit values.

ip* EX_IPHDR_FIELD*
Supported only when ex is used. The supported keywords for EX_IPHDR_FIELD are:

ttl

ip6* IP6HDR_FIELD*
The supported keywords for IP6HDR_FIELD are:

src
dst
traffic_class
flow_lbl
payload_len
nexthdr
hoplimit

tcp* TCPHDR_FIELD*
The supported keywords for TCPHDR_FIELD are:

sport
dport
Source or destination TCP port number, a 16-bit value.

flags

udp* UDPHDR_FIELD*
The supported keywords for UDPHDR_FIELD are:

sport
dport
Source or destination TCP port number, a 16-bit value.

clear
Clear the addressed data (i.e., set it to zero).

invert
Swap every bit in the addressed data.

set* VAL*
Set the addressed data to a specific value. The size of VAL is defined by either one of the u32, u16 or u8 keywords in RAW_OP, or the size of the addressed header field in LAYERED_OP.

add* VAL*
Add the addressed data by a specific value. The size of VAL is defined by the size of the addressed header field in EXTENDED_LAYERED_OP. This operation is supported only for extended layered op.

decrement
Decrease the addressed data by one. This operation is supported only for ip ttl and ip6 hoplimit.

preserve
Keep the addressed data as is.

retain* RVAL*
This optional extra part of CMD_SPEC allows one to exclude bits from being changed. Supported only for 32 bits fields or smaller.

CONTROL
The following keywords allow one to control how the tree of qdisc, classes, filters and actions is further traversed after this action.

reclassify
Restart with the first filter in the current list.

pipe
Continue with the next action attached to the same filter.

drop
shot
Drop the packet.

continue
Continue classification with the next filter in line.

pass
Finish classification process and return to calling qdisc for further packet processing. This is the default.

EXAMPLES

Being able to edit packet data, one could do all kinds of things, such as e.g. implementing port redirection. Certainly not the most useful application, but as an example it should do:

First, qdiscs need to be set up to attach filters to. For the receive path, a simple ingress qdisc will do, for transmit path a classful qdisc (HTB in this case) is necessary:

tc qdisc replace dev eth0 root handle 1: htb tc qdisc add dev eth0 ingress handle ffff:

Finally, a filter with pedit action can be added for each direction. In this case, u32 is used matching on the port number to redirect from, while pedit then does the actual rewriting:

tc filter add dev eth0 parent 1: u32
match ip dport 23 0xffff
action pedit pedit munge ip dport set 22 tc filter add dev eth0 parent ffff: u32
match ip sport 22 0xffff
action pedit pedit munge ip sport set 23 tc filter add dev eth0 parent ffff: u32
match ip sport 22 0xffff
action pedit ex munge ip dst set 192.168.1.199 tc filter add dev eth0 parent ffff: u32
match ip sport 22 0xffff
action pedit ex munge ip6 dst set fe80::dacb:8aff:fec7:320e tc filter add dev eth0 parent ffff: u32
match ip sport 22 0xffff
action pedit ex munge eth dst set 11:22:33:44:55:66 tc filter add dev eth0 parent ffff: u32
match ip dport 23 0xffff
action pedit ex munge tcp dport set 22

To rewrite just part of a field, use the retain directive. E.g. to overwrite the DSCP part of a dsfield with $DSCP, without touching ECN:

tc filter add dev eth0 ingress flower …
action pedit ex munge ip dsfield set $((DSCP « 2)) retain 0xfc

And vice versa, to set ECN to e.g. 1 without impacting DSCP:

tc filter add dev eth0 ingress flower …
action pedit ex munge ip dsfield set 1 retain 0x3

SEE ALSO

tc(8), tc-htb(8), tc-u32(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

60 - Linux cli command tc-tbf

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-tbf and provides detailed information about the command tc-tbf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-tbf.

NAME πŸ–₯️ tc-tbf πŸ–₯️

Token Bucket Filter

SYNOPSIS

tc qdisc … tbf rate rate burst bytes/cell ( latency ms | limit bytes ) [ mpu bytes [ peakrate rate mtu bytes/cell ] ]

burst is also known as buffer and maxburst. mtu is also known as minburst.

DESCRIPTION

The Token Bucket Filter is a classful queueing discipline available for traffic control with the tc(8) command.

TBF is a pure shaper and never schedules traffic. It is non-work-conserving and may throttle itself, although packets are available, to ensure that the configured rate is not exceeded. It is able to shape up to 1mbit/s of normal traffic with ideal minimal burstiness, sending out data exactly at the configured rates.

Much higher rates are possible but at the cost of losing the minimal burstiness. In that case, data is on average dequeued at the configured rate but may be sent much faster at millisecond timescales. Because of further queues living in network adaptors, this is often not a problem.

ALGORITHM

As the name implies, traffic is filtered based on the expenditure of tokens. Tokens roughly correspond to bytes, with the additional constraint that each packet consumes some tokens, no matter how small it is. This reflects the fact that even a zero-sized packet occupies the link for some time.

On creation, the TBF is stocked with tokens which correspond to the amount of traffic that can be burst in one go. Tokens arrive at a steady rate, until the bucket is full.

If no tokens are available, packets are queued, up to a configured limit. The TBF now calculates the token deficit, and throttles until the first packet in the queue can be sent.

If it is not acceptable to burst out packets at maximum speed, a peakrate can be configured to limit the speed at which the bucket empties. This peakrate is implemented as a second TBF with a very small bucket, so that it doesn’t burst.

To achieve perfection, the second bucket may contain only a single packet, which leads to the earlier mentioned 1mbit/s limit.

This limit is caused by the fact that the kernel can only throttle for at minimum 1 ‘jiffy’, which depends on HZ as 1/HZ. For perfect shaping, only a single packet can get sent per jiffy - for HZ=100, this means 100 packets of on average 1000 bytes each, which roughly corresponds to 1mbit/s.

PARAMETERS

See tc(8) for how to specify the units of these values.

limit or latency
Limit is the number of bytes that can be queued waiting for tokens to become available. You can also specify this the other way around by setting the latency parameter, which specifies the maximum amount of time a packet can sit in the TBF. The latter calculation takes into account the size of the bucket, the rate and possibly the peakrate (if set). These two parameters are mutually exclusive.

burst
Also known as buffer or maxburst. Size of the bucket, in bytes. This is the maximum amount of bytes that tokens can be available for instantaneously. In general, larger shaping rates require a larger buffer. For 10mbit/s on Intel, you need at least 10kbyte buffer if you want to reach your configured rate!

If your buffer is too small, packets may be dropped because more tokens arrive per timer tick than fit in your bucket. The minimum buffer size can be calculated by dividing the rate by HZ.

Token usage calculations are performed using a table which by default has a resolution of 8 packets. This resolution can be changed by specifying the cell size with the burst. For example, to specify a 6000 byte buffer with a 16 byte cell size, set a burst of 6000/16. You will probably never have to set this. Must be an integral power of 2.

mpu
A zero-sized packet does not use zero bandwidth. For ethernet, no packet uses less than 64 bytes. The Minimum Packet Unit determines the minimal token usage (specified in bytes) for a packet. Defaults to zero.

rate
The speed knob. See remarks above about limits! See tc(8) for units.

Furthermore, if a peakrate is desired, the following parameters are available:

peakrate
Maximum depletion rate of the bucket. The peakrate does not need to be set, it is only necessary if perfect millisecond timescale shaping is required.

mtu/minburst
Specifies the size of the peakrate bucket. For perfect accuracy, should be set to the MTU of the interface. If a peakrate is needed, but some burstiness is acceptable, this size can be raised. A 3000 byte minburst allows around 3mbit/s of peakrate, given 1000 byte packets.

Like the regular burstsize you can also specify a cell size.

EXAMPLE & USAGE

To attach a TBF with a sustained maximum rate of 0.5mbit/s, a peakrate of 1.0mbit/s, a 5kilobyte buffer, with a pre-bucket queue size limit calculated so the TBF causes at most 70ms of latency, with perfect peakrate behaviour, issue:

# tc qdisc add dev eth0 handle 10: root tbf rate 0.5mbit \ burst 5kb latency 70ms peakrate 1mbit \ minburst 1540

To attach an inner qdisc, for example sfq, issue:

# tc qdisc add dev eth0 parent 10:1 handle 100: sfq

Without inner qdisc TBF queue acts as bfifo. If the inner qdisc is changed the limit/latency is not effective anymore.

SEE ALSO

tc(8)

AUTHOR

Alexey N. Kuznetsov, <[email protected]>. This manpage maintained by bert hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

61 - Linux cli command systemd-veritysetup

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-veritysetup and provides detailed information about the command systemd-veritysetup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-veritysetup.

NAME πŸ–₯️ systemd-veritysetup πŸ–₯️

[email protected], systemd-veritysetup - Disk verity protection logic

SYNOPSIS

[email protected]

/usr/lib/systemd/systemd-veritysetup

DESCRIPTION

[email protected] is a service responsible for setting up verity protection block devices. It should be instantiated for each device that requires verity protection.

At early boot and when the system manager configuration is reloaded kernel command line configuration for verity protected block devices is translated into [email protected] units by systemd-veritysetup-generator(8).

[email protected] calls systemd-veritysetup.

COMMANDS

The following commands are understood by systemd-veritysetup:

attach volume datadevice hashdevice roothash [option…]

Create a block device volume using datadevice and hashdevice as the backing devices. roothash forms the root of the tree of hashes stored on hashdevice. See Kernel dm-verity[1] documentation for details.

Added in version 250.

detach volume

Detach (destroy) the block device volume.

Added in version 250.

help

Print short information about command syntax.

Added in version 250.

SEE ALSO

systemd(1), systemd-veritysetup-generator(8), veritysetup(8)

NOTES

Kernel dm-verity

https://docs.kernel.org/admin-guide/device-mapper/verity.html

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

62 - Linux cli command tc

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc and provides detailed information about the command tc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc.

NAME πŸ–₯️ tc πŸ–₯️

show / manipulate traffic control settings

SYNOPSIS

tc [ OPTIONS ] qdisc [ add | change | replace | link | delete ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-id ] [ ingress_block BLOCK_INDEX ] [ egress_block BLOCK_INDEX ] qdisc [ qdisc specific parameters ]

tc [ OPTIONS ] class [ add | change | replace | delete | show ] dev DEV parent qdisc-id [ classid class-id ] qdisc [ qdisc specific parameters ]

tc [ OPTIONS ] filter [ add | change | replace | delete | get ] dev DEV [ parent qdisc-id | root ] [ handle filter-id ] protocol protocol prio priority filtertype [ filtertype specific parameters ] flowid flow-id

tc [ OPTIONS ] filter [ add | change | replace | delete | get ] block BLOCK_INDEX [ handle filter-id ] protocol protocol prio priority filtertype [ filtertype specific parameters ] flowid flow-id

tc [ OPTIONS ] chain [ add | delete | get ] dev DEV [ parent qdisc-id | root ] filtertype [ filtertype specific parameters ]

tc [ OPTIONS ] chain [ add | delete | get ] block BLOCK_INDEX filtertype [ filtertype specific parameters ]

tc [ OPTIONS ] [ FORMAT ] qdisc { show | list } [ dev DEV ] [ root | ingress | handle QHANDLE | parent CLASSID ] [ invisible ]

tc [ OPTIONS ] [ FORMAT ] class show dev DEV

tc [ OPTIONS ] filter show dev DEV

tc [ OPTIONS ] filter show block BLOCK_INDEX

tc [ OPTIONS ] chain show dev DEV

tc [ OPTIONS ] chain show block BLOCK_INDEX

tc [ OPTIONS ] monitor [ file FILENAME ]

OPTIONS := { [ -force ] -b[atch] [ filename ] | [ -n[etns] name ] | [ -N[umeric] ] | [ -nm | -nam[es] ] | [ { -cf | -c[onf] } [ filename ] ] [ -t[imestamp] ] | [ -t[short] | [ -o[neline] ] | [ -echo ] }

FORMAT := { -s[tatistics] | -d[etails] | -r[aw] | -i[ec] | -g[raph] | -j[json] | -p[retty] | -col[or] }

DESCRIPTION

Tc is used to configure Traffic Control in the Linux kernel. Traffic Control consists of the following:

SHAPING
When traffic is shaped, its rate of transmission is under control. Shaping may be more than lowering the available bandwidth - it is also used to smooth out bursts in traffic for better network behaviour. Shaping occurs on egress.

SCHEDULING
By scheduling the transmission of packets it is possible to improve interactivity for traffic that needs it while still guaranteeing bandwidth to bulk transfers. Reordering is also called prioritizing, and happens only on egress.

POLICING
Whereas shaping deals with transmission of traffic, policing pertains to traffic arriving. Policing thus occurs on ingress.

DROPPING
Traffic exceeding a set bandwidth may also be dropped forthwith, both on ingress and on egress.

Processing of traffic is controlled by three kinds of objects: qdiscs, classes and filters.

QDISCS

qdisc is short for ‘queueing discipline’ and it is elementary to understanding traffic control. Whenever the kernel needs to send a packet to an interface, it is enqueued to the qdisc configured for that interface. Immediately afterwards, the kernel tries to get as many packets as possible from the qdisc, for giving them to the network adaptor driver.

A simple QDISC is the ‘pfifo’ one, which does no processing at all and is a pure First In, First Out queue. It does however store traffic when the network interface can’t handle it momentarily.

CLASSES

Some qdiscs can contain classes, which contain further qdiscs - traffic may then be enqueued in any of the inner qdiscs, which are within the classes. When the kernel tries to dequeue a packet from such a classful qdisc it can come from any of the classes. A qdisc may for example prioritize certain kinds of traffic by trying to dequeue from certain classes before others.

FILTERS

A filter is used by a classful qdisc to determine in which class a packet will be enqueued. Whenever traffic arrives at a class with subclasses, it needs to be classified. Various methods may be employed to do so, one of these are the filters. All filters attached to the class are called, until one of them returns with a verdict. If no verdict was made, other criteria may be available. This differs per qdisc.

It is important to notice that filters reside within qdiscs - they are not masters of what happens.

The available filters are:

basic
Filter packets based on an ematch expression. See tc-ematch(8) for details.

bpf
Filter packets using (e)BPF, see tc-bpf(8) for details.

cgroup
Filter packets based on the control group of their process. See tc-cgroup(8) for details.

flow, flower
Flow-based classifiers, filtering packets based on their flow (identified by selectable keys). See tc-flow(8) and tc-flower(8) for details.

fw
Filter based on fwmark. Directly maps fwmark value to traffic class. See tc-fw(8).

route
Filter packets based on routing table. See tc-route(8) for details.

u32
Generic filtering on arbitrary packet data, assisted by syntax to abstract common operations. See tc-u32(8) for details.

matchall
Traffic control filter that matches every packet. See tc-matchall(8) for details.

QEVENTS

Qdiscs may invoke user-configured actions when certain interesting events take place in the qdisc. Each qevent can either be unused, or can have a block attached to it. To this block are then attached filters using the “tc block BLOCK_IDX” syntax. The block is executed when the qevent associated with the attachment point takes place. For example, packet could be dropped, or delayed, etc., depending on the qdisc and the qevent in question.

For example:

tc qdisc add dev eth0 root handle 1: red limit 500K avpkt 1K \ qevent early_drop block 10

tc filter add block 10 matchall action mirred egress mirror dev eth1

CLASSLESS QDISCS

The classless qdiscs are:

choke
CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows) is a classless qdisc designed to both identify and penalize flows that monopolize the queue. CHOKe is a variation of RED, and the configuration is similar to RED.

codel
CoDel (pronounced “coddle”) is an adaptive “no-knobs” active queue management algorithm (AQM) scheme that was developed to address the shortcomings of RED and its variants.

[p|b]fifo
Simplest usable qdisc, pure First In, First Out behaviour. Limited in packets or in bytes.

fq
Fair Queue Scheduler realises TCP pacing and scales to millions of concurrent flows per qdisc.

fq_codel
Fair Queuing Controlled Delay is queuing discipline that combines Fair Queuing with the CoDel AQM scheme. FQ_Codel uses a stochastic model to classify incoming packets into different flows and is used to provide a fair share of the bandwidth to all the flows using the queue. Each such flow is managed by the CoDel queuing discipline. Reordering within a flow is avoided since Codel internally uses a FIFO queue.

fq_pie
FQ-PIE (Flow Queuing with Proportional Integral controller Enhanced) is a queuing discipline that combines Flow Queuing with the PIE AQM scheme. FQ-PIE uses a Jenkins hash function to classify incoming packets into different flows and is used to provide a fair share of the bandwidth to all the flows using the qdisc. Each such flow is managed by the PIE algorithm.

gred
Generalized Random Early Detection combines multiple RED queues in order to achieve multiple drop priorities. This is required to realize Assured Forwarding (RFC 2597).

hhf
Heavy-Hitter Filter differentiates between small flows and the opposite, heavy-hitters. The goal is to catch the heavy-hitters and move them to a separate queue with less priority so that bulk traffic does not affect the latency of critical traffic.

ingress
This is a special qdisc as it applies to incoming traffic on an interface, allowing for it to be filtered and policed.

mqprio
The Multiqueue Priority Qdisc is a simple queuing discipline that allows mapping traffic flows to hardware queue ranges using priorities and a configurable priority to traffic class mapping. A traffic class in this context is a set of contiguous qdisc classes which map 1:1 to a set of hardware exposed queues.

multiq
Multiqueue is a qdisc optimized for devices with multiple Tx queues. It has been added for hardware that wishes to avoid head-of-line blocking. It will cycle though the bands and verify that the hardware queue associated with the band is not stopped prior to dequeuing a packet.

netem
Network Emulator is an enhancement of the Linux traffic control facilities that allow one to add delay, packet loss, duplication and more other characteristics to packets outgoing from a selected network interface.

pfifo_fast
Standard qdisc for ‘Advanced Router’ enabled kernels. Consists of a three-band queue which honors Type of Service flags, as well as the priority that may be assigned to a packet.

pie
Proportional Integral controller-Enhanced (PIE) is a control theoretic active queue management scheme. It is based on the proportional integral controller but aims to control delay.

red
Random Early Detection simulates physical congestion by randomly dropping packets when nearing configured bandwidth allocation. Well suited to very large bandwidth applications.

sfb
Stochastic Fair Blue is a classless qdisc to manage congestion based on packet loss and link utilization history while trying to prevent non-responsive flows (i.e. flows that do not react to congestion marking or dropped packets) from impacting performance of responsive flows. Unlike RED, where the marking probability has to be configured, BLUE tries to determine the ideal marking probability automatically.

sfq
Stochastic Fairness Queueing reorders queued traffic so each ‘session’ gets to send a packet in turn.

tbf
The Token Bucket Filter is suited for slowing traffic down to a precisely configured rate. Scales well to large bandwidths.

CONFIGURING CLASSLESS QDISCS

In the absence of classful qdiscs, classless qdiscs can only be attached at the root of a device. Full syntax:

tc qdisc add dev DEV root QDISC QDISC-PARAMETERS

To remove, issue

tc qdisc del dev DEV root

The pfifo_fast qdisc is the automatic default in the absence of a configured qdisc.

CLASSFUL QDISCS

The classful qdiscs are:

ATM
Map flows to virtual circuits of an underlying asynchronous transfer mode device.

DRR
The Deficit Round Robin Scheduler is a more flexible replacement for Stochastic Fairness Queuing. Unlike SFQ, there are no built-in queues – you need to add classes and then set up filters to classify packets accordingly. This can be useful e.g. for using RED qdiscs with different settings for particular traffic. There is no default class – if a packet cannot be classified, it is dropped.

ETS
The ETS qdisc is a queuing discipline that merges functionality of PRIO and DRR qdiscs in one scheduler. ETS makes it easy to configure a set of strict and bandwidth-sharing bands to implement the transmission selection described in 802.1Qaz.

HFSC
Hierarchical Fair Service Curve guarantees precise bandwidth and delay allocation for leaf classes and allocates excess bandwidth fairly. Unlike HTB, it makes use of packet dropping to achieve low delays which interactive sessions benefit from.

HTB
The Hierarchy Token Bucket implements a rich linksharing hierarchy of classes with an emphasis on conforming to existing practices. HTB facilitates guaranteeing bandwidth to classes, while also allowing specification of upper limits to inter-class sharing. It contains shaping elements, based on TBF and can prioritize classes.

PRIO
The PRIO qdisc is a non-shaping container for a configurable number of classes which are dequeued in order. This allows for easy prioritization of traffic, where lower classes are only able to send if higher ones have no packets available. To facilitate configuration, Type Of Service bits are honored by default.

QFQ
Quick Fair Queueing is an O(1) scheduler that provides near-optimal guarantees, and is the first to achieve that goal with a constant cost also with respect to the number of groups and the packet length. The QFQ algorithm has no loops, and uses very simple instructions and data structures that lend themselves very well to a hardware implementation.

THEORY OF OPERATION

Classes form a tree, where each class has a single parent. A class may have multiple children. Some qdiscs allow for runtime addition of classes (HTB) while others (PRIO) are created with a static number of children.

Qdiscs which allow dynamic addition of classes can have zero or more subclasses to which traffic may be enqueued.

Furthermore, each class contains a leaf qdisc which by default has pfifo behaviour, although another qdisc can be attached in place. This qdisc may again contain classes, but each class can have only one leaf qdisc.

When a packet enters a classful qdisc it can be classified to one of the classes within. Three criteria are available, although not all qdiscs will use all three:

tc filters
If tc filters are attached to a class, they are consulted first for relevant instructions. Filters can match on all fields of a packet header, as well as on the firewall mark applied by iptables.

Type of Service
Some qdiscs have built in rules for classifying packets based on the TOS field.

skb->priority
Userspace programs can encode a class-id in the ‘skb->priority’ field using the SO_PRIORITY option.

Each node within the tree can have its own filters but higher level filters may also point directly to lower classes.

If classification did not succeed, packets are enqueued to the leaf qdisc attached to that class. Check qdisc specific manpages for details, however.

NAMING

All qdiscs, classes and filters have IDs, which can either be specified or be automatically assigned.

IDs consist of a major number and a minor number, separated by a colon - major:minor. Both major and minor are hexadecimal numbers and are limited to 16 bits. There are two special values: root is signified by major and minor of all ones, and unspecified is all zeros.

QDISCS
A qdisc, which potentially can have children, gets assigned a major number, called a ‘handle’, leaving the minor number namespace available for classes. The handle is expressed as ‘10:’. It is customary to explicitly assign a handle to qdiscs expected to have children.

CLASSES
Classes residing under a qdisc share their qdisc major number, but each have a separate minor number called a ‘classid’ that has no relation to their parent classes, only to their parent qdisc. The same naming custom as for qdiscs applies.

FILTERS
Filters have a three part ID, which is only needed when using a hashed filter hierarchy.

PARAMETERS

The following parameters are widely used in TC. For other parameters, see the man pages for individual qdiscs.

RATES
Bandwidths or rates. These parameters accept a floating point number, possibly followed by either a unit (both SI and IEC units supported), or a float followed by a ‘%’ character to specify the rate as a percentage of the device’s speed (e.g. 5%, 99.5%). Warning: specifying the rate as a percentage means a fraction of the current speed; if the speed changes, the value will not be recalculated.

bit or a bare number
Bits per second

kbit
Kilobits per second

mbit
Megabits per second

gbit
Gigabits per second

tbit
Terabits per second

bps
Bytes per second

kbps
Kilobytes per second

mbps
Megabytes per second

gbps
Gigabytes per second

tbps
Terabytes per second

To specify in IEC units, replace the SI prefix (k-, m-, g-, t-) with IEC prefix (ki-, mi-, gi- and ti-) respectively.

TC store rates as a 32-bit unsigned integer in bps internally, so we can specify a max rate of 4294967295 bps.

TIMES
Length of time. Can be specified as a floating point number followed by an optional unit:

s, sec or secs
Whole seconds

ms, msec or msecs
Milliseconds

us, usec, usecs or a bare number
Microseconds.

TC defined its own time unit (equal to microsecond) and stores time values as 32-bit unsigned integer, thus we can specify a max time value of 4294967295 usecs.

SIZES
Amounts of data. Can be specified as a floating point number followed by an optional unit:

b or a bare number
Bytes.

kbit
Kilobits

kb or k
Kilobytes

mbit
Megabits

mb or m
Megabytes

gbit
Gigabits

gb or g
Gigabytes

TC stores sizes internally as 32-bit unsigned integer in byte, so we can specify a max size of 4294967295 bytes.

VALUES
Other values without a unit. These parameters are interpreted as decimal by default, but you can indicate TC to interpret them as octal and hexadecimal by adding a ‘0’ or ‘0x’ prefix respectively.

TC COMMANDS

The following commands are available for qdiscs, classes and filter:

add
Add a qdisc, class or filter to a node. For all entities, a parent must be passed, either by passing its ID or by attaching directly to the root of a device. When creating a qdisc or a filter, it can be named with the handle parameter. A class is named with the classid parameter.

delete
A qdisc can be deleted by specifying its handle, which may also be ‘root’. All subclasses and their leaf qdiscs are automatically deleted, as well as any filters attached to them.

change
Some entities can be modified ‘in place’. Shares the syntax of ‘add’, with the exception that the handle cannot be changed and neither can the parent. In other words, change cannot move a node.

replace
Performs a nearly atomic remove/add on an existing node id. If the node does not exist yet it is created.

get
Displays a single filter given the interface DEV, qdisc-id, priority, protocol and filter-id.

show
Displays all filters attached to the given interface. A valid parent ID must be passed.

link
Only available for qdiscs and performs a replace where the node must exist already.

MONITOR

The tc utility can monitor events generated by the kernel such as adding/deleting qdiscs, filters or actions, or modifying existing ones.

The following command is available for monitor :

file
If the file option is given, the tc does not listen to kernel events, but opens the given file and dumps its contents. The file has to be in binary format and contain netlink messages.

OPTIONS

-b,** -b filename**,** -batch**,** -batch filename**
read commands from provided file or standard input and invoke them. First failure will cause termination of tc.

-force
don’t terminate tc on errors in batch mode. If there were any errors during execution of the commands, the application return code will be non zero.

-o,** -oneline**
output each record on a single line, replacing line feeds with the *’* character. This is convenient when you want to count records with wc(1) or to grep(1) the output.

-n,** -net**,** -netns **<NETNS>
switches tc to the specified network namespace NETNS. Actually it just simplifies executing of:

ip netns exec NETNS tc [ OPTIONS ] OBJECT { COMMAND | help }

to

tc -n[etns] NETNS [ OPTIONS ] OBJECT { COMMAND | help }

-N,** -Numeric**
Print the number of protocol, scope, dsfield, etc directly instead of converting it to human readable name.

-cf,** -conf **<FILENAME>
specifies path to the config file. This option is used in conjunction with other options (e.g. -nm).

-t,** -timestamp**
When tc monitor runs, print timestamp before the event message in format: Timestamp: <Day> <Month> <DD> <hh:mm:ss> <YYYY> <usecs> usec

-ts,** -tshort**
When tc monitor runs, prints short timestamp before the event message in format: [<YYYY>-<MM>-<DD>T<hh:mm:ss>.<ms>]

-echo
Request the kernel to send the applied configuration back.

FORMAT

The show command has additional formatting options:

-s,** -stats**,** -statistics**
output more statistics about packet usage.

-d,** -details**
output more detailed information about rates and cell sizes.

-r,** -raw**
output raw hex values for handles.

-p,** -pretty**
for u32 filter, decode offset and mask values to equivalent filter commands based on TCP/IP. In JSON output, add whitespace to improve readability.

-iec
print rates in IEC units (ie. 1K = 1024).

-g,** -graph**
shows classes as ASCII graph. Prints generic stats info under each class if -s option was specified. Classes can be filtered only by dev option.

-c[color][={always|auto|never}
Configure color output. If parameter is omitted or always, color output is enabled regardless of stdout state. If parameter is auto, stdout is checked to be a terminal before enabling color output. If parameter is never, color output is disabled. If specified multiple times, the last one takes precedence. This flag is ignored if -json is also given.

-j,** -json**
Display results in JSON format.

-nm,** -name**
resolve class name from /etc/iproute2/tc_cls file or from file specified by -cf option. This file is just a mapping of classid to class name:

# Here is comment

1:40 voip # Here is another comment

1:50 web

1:60 ftp

1:2 home

tc will not fail if -nm was specified without -cf option but /etc/iproute2/tc_cls file does not exist, which makes it possible to pass -nm option for creating tc alias.

-br,** -brief**
Print only essential data needed to identify the filter and action (handle, cookie, etc.) and stats. This option is currently only supported by **tc filter show and tc actions ls **commands.

EXAMPLES

tc -g class show dev eth0

Shows classes as ASCII graph on eth0 interface.

tc -g -s class show dev eth0

Shows classes as ASCII graph with stats info under each class.

HISTORY

tc was written by Alexey N. Kuznetsov and added in Linux 2.2.

SEE ALSO

tc-basic(8), tc-bfifo(8), tc-bpf(8), tc-cake(8), tc-cgroup(8), tc-choke(8), tc-codel(8), tc-drr(8), tc-ematch(8), tc-ets(8), tc-flow(8), tc-flower(8), tc-fq(8), tc-fq_codel(8), tc-fq_pie(8), tc-fw(8), tc-gact(8), tc-hfsc(7), tc-hfsc(8), tc-htb(8), tc-mqprio(8), tc-pfifo(8), tc-pfifo_fast(8), tc-pie(8), tc-red(8), tc-route(8), tc-sfb(8), tc-sfq(8), tc-stab(8), tc-tbf(8), tc-u32(8)
User documentation at http://lartc.org/, but please direct bugreports and patches to: <[email protected]>

AUTHOR

Manpage maintained by bert hubert ([email protected])

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

63 - Linux cli command systemd-remount-fs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-remount-fs and provides detailed information about the command systemd-remount-fs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-remount-fs.

NAME πŸ–₯️ systemd-remount-fs πŸ–₯️

remount-fs.service, systemd-remount-fs - Remount root and kernel file systems

SYNOPSIS

systemd-remount-fs.service

/usr/lib/systemd/systemd-remount-fs

DESCRIPTION

systemd-remount-fs.service is an early boot service that applies mount options listed in fstab(5), or gathered from the partition table (when systemd-gpt-auto-generator(8) is active) to the root file system, the /usr/ file system, and the kernel API file systems. This is required so that the mount options of these file systems β€” which are pre-mounted by the kernel, the initrd, container environments or system manager code β€” are updated to those configured in /etc/fstab and the other sources. This service ignores normal file systems and only changes the root file system (i.e. /), /usr/, and the virtual kernel API file systems such as /proc/, /sys/ or /dev/. This service executes no operation if no configuration is found (/etc/fstab does not exist or lists no entries for the mentioned file systems, or the partition table does not contain relevant entries).

For a longer discussion of kernel API file systems see API File Systems[1].

Note: systemd-remount-fs.service is usually pulled in by systemd-fstab-generator(8), hence it is also affected by the kernel command line option fstab=, which may be used to disable the generator. It may also pulled in by systemd-gpt-auto-generator(8), which is affected by systemd.gpt_auto and other options.

SEE ALSO

systemd(1), fstab(5), mount(8), systemd-fstab-generator(8), systemd-gpt-auto-generator(8)

NOTES

API File Systems

https://systemd.io/API_FILE_SYSTEMS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

64 - Linux cli command systemd-tpm2-setup

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tpm2-setup and provides detailed information about the command systemd-tpm2-setup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tpm2-setup.

NAME πŸ–₯️ systemd-tpm2-setup πŸ–₯️

tpm2-setup.service, systemd-tpm2-setup-early.service, systemd-tpm2-setup - Set up the TPM2 Storage Root Key (SRK) at boot

SYNOPSIS

systemd-tpm2-setup.service

/usr/lib/systemd/systemd-tpm2-setup

DESCRIPTION

systemd-tpm2-setup.service and systemd-tpm2-setup-early.service are services that generate the Storage Root Key (SRK) if it hasnt been generated yet, and stores it in the TPM.

The services will store the public key of the SRK key pair in a PEM file in /run/systemd/tpm2-srk-public-key.pem and /var/lib/systemd/tpm2-srk-public-key.pem. They will also store it in TPM2B_PUBLIC format in /run/systemd/tpm2-srk-public-key.tpm2_public and /var/lib/systemd/tpm2-srk-public-key.tpm2b_public.

systemd-tpm2-setup-early.service runs very early at boot (possibly in the initrd), and writes the SRK public key to /run/systemd/tpm2-srk-public-key.* (as /var/ is generally not accessible this early yet), while systemd-tpm2-setup.service runs during a later boot phase and saves the public key to /var/lib/systemd/tpm2-srk-public-key.*.

FILES

/run/systemd/tpm2-srk-public-key.pem, /run/systemd/tpm2-srk-public-key.tpm2b_public

The SRK public key in PEM and TPM2B_PUBLIC format, written during early boot.

Added in version 255.

/var/lib/systemd/tpm2-srk-public-key.pem, /var/lib/systemd/tpm2-srk-public-key.tpm2_public

The SRK public key in PEM and TPM2B_PUBLIC format, written during later boot (once /var/ is available).

Added in version 255.

SEE ALSO

systemd(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

65 - Linux cli command systemd-poweroff.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-poweroff.service and provides detailed information about the command systemd-poweroff.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-poweroff.service.

NAME πŸ–₯️ systemd-poweroff.service πŸ–₯️

poweroff.service, systemd-halt.service, systemd-reboot.service, systemd-kexec.service, systemd-shutdown - System shutdown logic

SYNOPSIS

systemd-poweroff.service

systemd-halt.service

systemd-reboot.service

systemd-kexec.service

/usr/lib/systemd/systemd-shutdown

/usr/lib/systemd/system-shutdown/

DESCRIPTION

systemd-poweroff.service is a system service that is pulled in by poweroff.target and is responsible for the actual system power-off operation. Similarly, systemd-halt.service is pulled in by halt.target, systemd-reboot.service by reboot.target and systemd-kexec.service by kexec.target to execute the respective actions.

When these services are run, they ensure that PID 1 is replaced by the /usr/lib/systemd/systemd-shutdown tool which is then responsible for the actual shutdown. Before shutting down, this binary will try to unmount all remaining file systems (or at least remount them read-only), disable all remaining swap devices, detach all remaining storage devices and kill all remaining processes.

It is necessary to have this code in a separate binary because otherwise rebooting after an upgrade might be broken β€” the running PID 1 could still depend on libraries which are not available any more, thus keeping the file system busy, which then cannot be re-mounted read-only.

Shortly before executing the actual system power-off/halt/reboot/kexec systemd-shutdown will run all executables in /usr/lib/systemd/system-shutdown/ and pass one arguments to them: either “poweroff”, “halt”, “reboot”, or “kexec”, depending on the chosen action. All executables in this directory are executed in parallel, and execution of the action is not continued before all executables finished. Note that these executables are run after all services have been shut down, and after most mounts have been unmounted (the root file system as well as /run/ and various API file systems are still around though). This means any programs dropped into this directory must be prepared to run in such a limited execution environment and not rely on external services or hierarchies such as /var/ to be around (or writable).

Note that systemd-poweroff.service (and the related units) should never be executed directly. Instead, trigger system shutdown with a command such as “systemctl poweroff”.

Another form of shutdown is provided by the systemd-soft-reboot.service(8) functionality. It reboots only the OS userspace, leaving the kernel, firmware, and hardware as it is.

SEE ALSO

systemd(1), systemctl(1), systemd.special(7), reboot(2), systemd-suspend.service(8), systemd-soft-reboot.service(8), bootup(7)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

66 - Linux cli command tc-cgroup

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-cgroup and provides detailed information about the command tc-cgroup, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-cgroup.

NAME πŸ–₯️ tc-cgroup πŸ–₯️

control group based traffic control filter

SYNOPSIS

tc filtercgroup [ match EMATCH_TREE ] [ action ACTION_SPEC ]

DESCRIPTION

This filter serves as a hint to tc that the assigned class ID of the net_cls control group the process the packet originates from belongs to should be used for classification. Obviously, it is useful for locally generated packets only.

OPTIONS

action* ACTION_SPEC*
Apply an action from the generic actions framework on matching packets.

match* EMATCH_TREE*
Match packets using the extended match infrastructure. See tc-ematch(8) for a detailed description of the allowed syntax in EMATCH_TREE.

EXAMPLES

In order to use this filter, a net_cls control group has to be created first and class as well as process ID(s) assigned to it. The following creates a net_cls cgroup named “foobar”:

modprobe cls_cgroup mkdir /sys/fs/cgroup/net_cls mount -t cgroup -onet_cls net_cls /sys/fs/cgroup/net_cls mkdir /sys/fs/cgroup/net_cls/foobar

To assign a class ID to the created cgroup, a file named net_cls.classid has to be created which contains the class ID to be assigned as a hexadecimal, 64bit wide number. The upper 32bits are reserved for the major handle, the remaining hold the minor. So a class ID of e.g. ff:be has to be written like so: 0xff00be (leading zeroes may be omitted). To continue the above example, the following assigns class ID 1:2 to foobar cgroup:

echo 0x10002 > /sys/fs/cgroup/net_cls/foobar/net_cls.classid

Finally some PIDs can be assigned to the given cgroup:

echo 1234 > /sys/fs/cgroup/net_cls/foobar/tasks echo 5678 > /sys/fs/cgroup/net_cls/foobar/tasks

Now by simply attaching a cgroup filter to a qdisc makes packets from PIDs 1234 and 5678 be pushed into class 1:2.

SEE ALSO

tc(8), tc-ematch(8),
the file Documentation/cgroups/net_cls.txt of the Linux kernel tree

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

67 - Linux cli command usbhid-dump

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command usbhid-dump and provides detailed information about the command usbhid-dump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the usbhid-dump.

NAME πŸ–₯️ usbhid-dump πŸ–₯️

dump - dump USB HID device report descriptors and streams

SYNOPSIS

usbhid-dump [OPTION]…

DESCRIPTION

usbhid-dump uses libusb to dump report descriptors and streams from HID (human interface device) interfaces of USB devices. By default, it dumps HID interfaces of all connected USB devices, but could be limited to a subset of them, or to a single interface, using options.

NOTE: usbhid-dump detaches kernel drivers from the interfaces it dumps and uses them exclusively, so no other program receives the input in the meantime. The report descriptor dumping is instantaneous, but the stream dumping continues until terminated with SIGINT (^C from the terminal) or a timeout expires.

If you accidentally start dumping a stream from the USB keyboard you use to control the terminal, the system will stop receiving the input and you won’t be able to terminate usbhid-dump. Just stop your input and wait until the timeout expires. The stream dumping will stop, the keyboard will be reattached to the kernel driver and you will regain control.

The default stream dumping timeout is 60 seconds and could be changed with the -t option.

OPTIONS

-h, –help
Output a help message and exit.

-v, –version
Output version information and exit.

-s, -a, –address=bus[:dev]
Limit interfaces by bus number and device address. Both 1-255, decimal. Zeroes match any bus or device.

-d, -m, –model=vid[:pid]
Limit interfaces by device vendor and product IDs. Both 1-FFFF, hexadecimal. Zeroes match any vendor or product.

-i, –interface=NUMBER
Limit interfaces by number (0-254), decimal. 255 matches any interface.

-e, –entity=STRING
The entity to dump: either “descriptor”, “stream” or “all”. The value can be abbreviated down to one letter. The default is “descriptor”.

-t, –stream-timeout=NUMBER
Stream interrupt transfer timeout, ms. Zero means infinity. The default is 60000 (60 seconds).

-p, –stream-paused
Start with the stream dump output paused.

-f, –stream-feedback
Enable stream dumping feedback: print a dot to stderr for every transfer dumped.

SIGNALS

USR1/USR2
Pause/resume stream dump output.

OUTPUT FORMAT

usbhid-dump outputs dumps in chunks. Each chunk is separated by an empty line and starts with the following header line:

BUS:DEVICE:INTERFACE:ENTITY TIMESTAMP

Here, BUS, DEVICE and INTERFACE are bus, device and interface numbers respectively. ENTITY is either “DESCRIPTOR” or “STREAM”. TIMESTAMP is timestamp in seconds since epoch.

After the header the actual dump data follows as hex bytes. A descriptor chunk includes the whole report descriptor. Every stream chunk includes a whole report, usually, but if a report is bigger than endpoint’s wMaxPacketSize, it will span several chunks.

EXAMPLES

Dump report descriptor for a device with address 3 on bus number 2:
usbhid-dump -a 2:3

Dump report stream for a device with vendor ID 0x5543 and product ID 0x0005:
usbhid-dump -m 5543:0005 -es

Dump report descriptor from interface 1 of a device with vendor ID 0x5543:
usbhid-dump -m 5543 -i 1 -ed

Dump report streams from all HID interfaces of all USB devices (caution: you will lose control over the terminal if you use USB keyboard):
usbhid-dump -es

AUTHOR

Nikolai Kondrashov <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

68 - Linux cli command update-language-def

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-language-def and provides detailed information about the command update-language-def, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-language-def.

NAME πŸ–₯️ update-language-def πŸ–₯️

language - generate hyphenation configuration for TeX engines

SYNOPSIS

update-language(-dat,-def,-lua) [OPTIONS …]

DESCRIPTION

Generate hyphenation configuration files language.dat, .def, .dat.lua

When called as update-language, all three configurations files are generated. Otherwise only the selected one.

OPTIONS

-c, –conf-file=FILE
file giving additional hyphen specifications

-o, –output-file=FILE file to write the output to

-d, –output-dir=DIR
directory where files are written

–checks
perform sanity checks on the generated config file

-q, –quiet
don’t write anything to the standard output during normal operation

-h, -?, –help
display this help message and exit

–version
output version information and exit

FILES

The default output directory is

/var/lib/texmf/tex/generic/config

The default output files are

for update-language-dat
language.dat

for update-language-def
language.def

for update-language-lua
language.dat.lua

If -o/–output-file is given, it overrides all defaults.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

69 - Linux cli command tipc-media

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tipc-media and provides detailed information about the command tipc-media, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tipc-media.

NAME πŸ–₯️ tipc-media πŸ–₯️

media - list or modify media properties

SYNOPSIS

tipc media set { **priority ** PRIORITY | tolerance TOLERANCE | window *WINDOW *} **media **MEDIA

tipc media get { priority | tolerance | window } media MEDIA

tipc media list

OPTIONS

Options (flags) that can be passed anywhere in the command chain.

-h,** –help**
Show help about last valid command. For example tipc media –help will show media help and tipc –help will show general help. The position of the option in the string is irrelevant.

DESCRIPTION

Media properties

priority

Default link priority inherited by all bearers subsequently enabled on a media. For more info about link priority see tipc-link(8)

tolerance

Default link tolerance inherited by all bearers subsequently enabled on a media. For more info about link tolerance see tipc-link(8)

window

Default link window inherited by all bearers subsequently enabled on a media. For more info about link window see tipc-link(8)

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

tipc(8), tipc-bearer(8), tipc-link(8), tipc-nametable(8), tipc-node(8), tipc-peer(8), tipc-socket(8)

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Richard Alpe <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

70 - Linux cli command vfs_shell_snap

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_shell_snap and provides detailed information about the command vfs_shell_snap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_shell_snap.

NAME πŸ–₯️ vfs_shell_snap πŸ–₯️

Shell script callouts for snapshot creation and deletion

SYNOPSIS

vfs objects = shell_snap

DESCRIPTION

This VFS module is part of the samba(8) suite.

The vfs_shell_snap VFS provides shell-script callouts for snapshot creation and deletion operations issued by remote clients using the File Server Remote VSS Protocol (FSRVP).

The following shell callouts may be configured in smb.conf:

shell_snap:check path command

Β·

Called when an FSRVP client wishes to check whether a given share supports snapshot create/delete requests.

Β·

The command is called with a single share_path argument.

Β·

The command must return 0 if share_path is capable of being snapshotted.

shell_snap:create command

Β·

Called when an FSRVP client wishes to create a snapshot.

Β·

The command is called with a single share_path argument.

Β·

The command must return 0 status if the snapshot was successfully taken.

Β·

The command must output the path of the newly created snapshot to stdout.

shell_snap:delete command

Β·

Called when an FSRVP client wishes to delete a snapshot.

Β·

The command is called with base_share_path and snapshot_share_path arguments.

Β·

The command must return 0 status if the snapshot was successfully removed.

All commands are executed as the authenticated FSRVP client user.

This module is stackable.

CONFIGURATION

  [share]
		vfs objects = shell_snap
		shell_snap:check path command = snap_check_path.sh
		shell_snap:create command = snap_create.sh
		shell_snap:delete command = snap_delete.sh

Sambas FSRVP server must be configured in the [global] section:

  [global]
		registry shares = yes
		include = registry

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

71 - Linux cli command tc-gact

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-gact and provides detailed information about the command tc-gact, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-gact.

NAME πŸ–₯️ tc-gact πŸ–₯️

generic action

SYNOPSIS

tcaction gact CONTROL [ RAND ] [ INDEX ]

CONTROL := { reclassify | drop | continue | pass | pipe |
**goto chain **CHAIN_INDEX |
**jump **JUMP_COUNT }

RAND := random* RANDTYPE CONTROL VAL*

RANDTYPE := { netrand | determ }

VAL := number not exceeding 10000

JUMP_COUNT := absolute jump from start of action list

INDEX := index value used

DESCRIPTION

The gact action allows reclassify, dropping, passing, or accepting packets. At the moment there are only two algorithms. One is deterministic and the other uses internal kernel netrand.

OPTIONS

random* RANDTYPE CONTROL VAL*
The probability of taking the action expressed in terms of 1 out of VAL packets.

CONTROL
Indicate how tc should proceed if the packet matches. For a description of the possible CONTROL values, see tc-actions(8).

EXAMPLES

Apply a rule on ingress to drop packets from a given source address.

tc filter add dev eth0 parent ffff: protocol ip prio 6 u32 match ip src 10.0.0.9/32 flowid 1:16 action drop

Allow 1 out 10 packets from source randomly using the netrand generator

tc filter add dev eth0 parent ffff: protocol ip prio 6 u32 match ip src 10.0.0.9/32 flowid 1:16 action drop random netrand ok 10

Deterministically accept every second packet

tc filter add dev eth0 parent ffff: protocol ip prio 6 u32 match ip src 10.0.0.9/32 flowid 1:16 action drop random determ ok 2

SEE ALSO

tc(8), tc-actions(8), tc-u32(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

72 - Linux cli command vmstat

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vmstat and provides detailed information about the command vmstat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vmstat.

NAME πŸ–₯️ vmstat πŸ–₯️

Report virtual memory statistics

SYNOPSIS

vmstat [options] [delay [count]]

DESCRIPTION

vmstat reports information about processes, memory, paging, block IO, traps, disks and cpu activity.

The first report produced gives averages since the last reboot. Additional reports give information on a sampling period of length delay. The process and memory reports are instantaneous in either case.

OPTIONS

delay
The delay between updates in seconds. If no delay is specified, only one report is printed with the average values since boot.

count
Number of updates. In absence of count, when delay is defined, default is infinite.

-a, –active
Display active and inactive memory, given a 2.5.41 kernel or better.

-f, –forks
The -f switch displays the number of forks since boot. This includes the fork, vfork, and clone system calls, and is equivalent to the total number of tasks created. Each process is represented by one or more tasks, depending on thread usage. This display does not repeat.

-m, –slabs
Displays slabinfo.

-n, –one-header
Display the header only once rather than periodically.

-s, –stats
Displays a table of various event counters and memory statistics. This display does not repeat.

-d, –disk
Report disk statistics (2.5.70 or above required).

-D, –disk-sum
Report some summary statistics about disk activity.

-p, –partition device
Detailed statistics about partition (2.5.70 or above required).

-S, –unit character
Switches outputs between 1000 (k), 1024 (K), 1000000 (m), or 1048576 (M) bytes. Note this does not change the swap (si/so) or block (bi/bo) fields.

-t, –timestamp
Append timestamp to each line

-w, –wide
Wide output mode (useful for systems with higher amount of memory, where the default output mode suffers from unwanted column breakage). The output is wider than 80 characters per line.

-y, –no-first
Omits first report with statistics since system boot.

-V, –version
Display version information and exit.

-h, –help
Display help and exit.

FIELD DESCRIPTION FOR VM MODE

Procs

r: The number of runnable processes (running or waiting for run time).
b: The number of processes blocked waiting for I/O to complete.

Memory

These are affected by the –unit option.

swpd: the amount of swap memory used.
free: the amount of idle memory.
buff: the amount of memory used as buffers.
cache: the amount of memory used as cache.
inact: the amount of inactive memory.  (-a option)
active: the amount of active memory.  (-a option)

Swap

These are affected by the –unit option.

si: Amount of memory swapped in from disk (/s).
so: Amount of memory swapped to disk (/s).

IO

bi: Kibibyte received from a block device (KiB/s).
bo: Kibibyte sent to a block device (KiB/s).

System

in: The number of interrupts per second, including the clock.
cs: The number of context switches per second.

CPU

These are percentages of total CPU time.

us: Time spent running non-kernel code.  (user time, including nice time)
sy: Time spent running kernel code.  (system time)
id: Time spent idle.  Prior to Linux 2.5.41, this includes IO-wait time.
wa: Time spent waiting for IO.  Prior to Linux 2.5.41, included in idle.
st: Time stolen from a virtual machine.  Prior to Linux 2.6.11, unknown.
gu: Time spent running KVM guest code (guest time, including guest nice).

FIELD DESCRIPTION FOR DISK MODE

Reads

total: Total reads completed successfully
merged: grouped reads (resulting in one I/O)
sectors: Sectors read successfully
ms: milliseconds spent reading

Writes

total: Total writes completed successfully
merged: grouped writes (resulting in one I/O)
sectors: Sectors written successfully
ms: milliseconds spent writing

IO

cur: I/O in progress
s: seconds spent for I/O

FIELD DESCRIPTION FOR DISK PARTITION MODE

reads: Total number of reads issued to this partition
read sectors: Total read sectors for partition
writes : Total number of writes issued to this partition
requested writes: Total number of write requests made for partition

FIELD DESCRIPTION FOR SLAB MODE

Slab mode shows statistics per slab, for more information about this information see slabinfo(5)

cache: Cache name
num: Number of currently active objects
total: Total number of available objects
size: Size of each object
pages: Number of pages with at least one active object

NOTES

vmstat requires read access to files under /proc. The -m requires read access to /proc/slabinfo which may not be available to standard users. Mount options for /proc such as subset=pid may also impact what is visible.

SEE ALSO

free(1), iostat(1), mpstat(1), ps(1), sar(1), top(1), slabinfo(5)

REPORTING BUGS

Please send bug reports to

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

73 - Linux cli command webspy

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command webspy and provides detailed information about the command webspy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the webspy.

NAME πŸ–₯️ webspy πŸ–₯️

display sniffed URLs in Netscape in real-time

SYNOPSIS

webspy [-i interface | -p pcapfile] host

DESCRIPTION

webspy sends URLs sniffed from a client to your local Netscape browser for display, updated in real-time (as the target surfs, your browser surfs along with them, automagically). Netscape must be running on your local X display ahead of time.

OPTIONS

-i interface
Specify the interface to listen on.

-p pcapfile
Process packets from the specified PCAP capture file instead of the network.

host
Specify the web client to spy on.

SEE ALSO

dsniff(8)

AUTHOR

Dug Song <[email protected]>
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

74 - Linux cli command vfs_linux_xfs_sgid

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_linux_xfs_sgid and provides detailed information about the command vfs_linux_xfs_sgid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_linux_xfs_sgid.

NAME πŸ–₯️ vfs_linux_xfs_sgid πŸ–₯️

Workaround XFS sgid bit not inherited

SYNOPSIS

vfs objects = linux_xfs_sgid

DESCRIPTION

This VFS module is part of the samba(7) suite.

vfs_linux_xfs_sgid is a VFS module to work around an old Linux XFS bug fixed in 3.11: the SGID bit is not inherited during mkdir when a default ACL is set (https://web.archive.org/web/20160320180937/http://oss.sgi.com/bugzilla/show_bug.cgi?id=280 fixed by https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=42c49d7f249c2487f36d3314753d5d8ebcee8249). The vfs_linux_xfs_sgid VFS module will work around this bug by manually setting the SGID bit after a mkdir if the parent directory had the SGID bit set.

This module is stackable.

EXAMPLES

Add linux_xfs_sgid functionality for [share]:

    [share]
	vfs objects = linux_xfs_sgid

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

75 - Linux cli command wipefs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wipefs and provides detailed information about the command wipefs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wipefs.

NAME πŸ–₯️ wipefs πŸ–₯️

wipe a signature from a device

SYNOPSIS

wipefs [options] device

wipefs [–backup] -o offset device

wipefs [–backup] -a device

DESCRIPTION

wipefs can erase filesystem, raid or partition-table signatures (magic strings) from the specified device to make the signatures invisible for libblkid. wipefs does not erase the filesystem itself nor any other data from the device.

When used without any options, wipefs lists all visible filesystems and the offsets of their basic signatures. The default output is subject to change. So whenever possible, you should avoid using default outputs in your scripts. Always explicitly define expected columns by using –output columns-list in environments where a stable output is required.

wipefs calls the BLKRRPART ioctl when it has erased a partition-table signature to inform the kernel about the change. The ioctl is called as the last step and when all specified signatures from all specified devices are already erased. This feature can be used to wipe content on partition devices as well as a partition table on a disk device, for example by wipefs -a /dev/sdc1 /dev/sdc2 /dev/sdc.

Note that some filesystems and some partition tables store more magic strings on the device (e.g., FAT, ZFS, GPT). The wipefs command (since v2.31) lists all the offsets where magic strings have been detected.

When option -a is used, all magic strings that are visible for libblkid(3) are erased. In this case the wipefs scans the device again after each modification (erase) until no magic string is found.

Note that by default wipefs does not erase nested partition tables on non-whole disk devices. For this the option –force is required.

OPTIONS

-a, –all

Erase all available signatures. The set of erased signatures can be restricted with the -t option.

-b, –backup[=dir]

Create a signature backup to the file wipefs-<devname>-<offset>.bak in $HOME or the directory specified as the optional argument. For more details see the EXAMPLE section.

-f, –force

Force erasure, even if the filesystem is mounted. This is required in order to erase a partition-table signature on a block device.

-J, –json

Use JSON output format.

–lock[=mode]

Use exclusive BSD lock for device or file it operates. The optional argument mode can be yes, no (or 1 and 0) or nonblock. If the mode argument is omitted, it defaults to “yes”. This option overwrites environment variable $LOCK_BLOCK_DEVICE. The default is not to use any lock at all, but it’s recommended to avoid collisions with udevd or other tools.

-i, –noheadings

Do not print a header line.

-O, –output list

Specify which output columns to print. Use –help to get a list of all supported columns.

-n, –no-act

Causes everything to be done except for the write(2) call.

-o, –offset offset

Specify the location (in bytes) of the signature which should be erased from the device. The offset number may include a “0x” prefix; then the number will be interpreted as a hex value. It is possible to specify multiple -o options.

The offset argument may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the “iB” is optional, e.g., “K” has the same meaning as “KiB”), or the suffixes KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.

-p, –parsable

Print out in parsable instead of printable format. Encode all potentially unsafe characters of a string to the corresponding hex value prefixed by \x.

-q, –quiet

Suppress any messages after a successful signature wipe.

-t, –types list

Limit the set of printed or erased signatures. More than one type may be specified in a comma-separated list. The list or individual types can be prefixed with no to specify the types on which no action should be taken. For more details see mount(8).

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

ENVIRONMENT

LIBBLKID_DEBUG=all

enables libblkid(3) debug output.

LOCK_BLOCK_DEVICE=<mode>

use exclusive BSD lock. The mode is “1” or “0”. See –lock for more details.

EXAMPLES

wipefs /dev/sda*

Prints information about sda and all partitions on sda.

wipefs –all –backup /dev/sdb

Erases all signatures from the device /dev/sdb and creates a signature backup file ~/wipefs-sdb-<offset>.bak for each signature.

dd if=~/wipefs-sdb-0x00000438.bak of=/dev/sdb seek=$((0x00000438)) bs=1 conv=notrunc

Restores an ext2 signature from the backup file ~/wipefs-sdb-0x00000438.bak.

AUTHORS

SEE ALSO

blkid(8), findfs(8)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The wipefs command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

76 - Linux cli command unique

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unique and provides detailed information about the command unique, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unique.

NAME πŸ–₯️ unique πŸ–₯️

removes duplicates from a wordlist

SYNOPSIS

unique output-file

DESCRIPTION

This manual page documents briefly the unique command, which is part of the john package. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. john, better known as John the Ripper, is a tool to find weak passwords of users in a server.
The unique tool finds and removes duplicate entries from a wordlist (read from stdin), without changing the order. This is important to increase the performance of john when using the wordlist method.

SEE ALSO

john(8), mailer(8), unafs(8), unshadow(8).

The programs are documented fully by John’s documentation, which should be available in /usr/share/doc/john or other location, depending on your system.

AUTHOR

This manual page was written by Jordi Mallach <[email protected]>, for the Debian GNU/Linux system (but may be used by others).
John the Ripper and mailer were written by Solar Designer <[email protected]>. The complete list of contributors can be found in the CREDITS file in the documentation directory.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

77 - Linux cli command update-rc.d

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-rc.d and provides detailed information about the command update-rc.d, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-rc.d.

NAME πŸ–₯️ update-rc.d πŸ–₯️

rc.d - install and remove System-V style init script links

SYNOPSIS

update-rc.d [-f] name remove

update-rc.d name defaults

update-rc.d name defaults-disabled

update-rc.d name disable|enable [ S|2|3|4|5 ]

DESCRIPTION

update-rc.d updates the System V style init script links /etc/rcrunlevel**.d/**NNname whose target is the script **/etc/init.d/**name. These links are run by init when it changes runlevels; they are generally used to start and stop system services such as daemons. runlevel is one of the runlevels supported by init, namely, 0123456789S, and NN is the two-digit sequence number that determines where in the sequence init will run the scripts.

This manpage documents only the usage and behaviour of update-rc.d. For a discussion of the System V style init script arrangements please see init(8) and the Debian Policy Manual.

INSTALLING INIT SCRIPT LINKS

update-rc.d requires dependency and runlevel information to be provided in the init.d script LSB comment header of all init.d scripts. See the insserv(8) manual page for details about the LSB header format.

When run with the defaults option, update-rc.d makes links named /etc/rcrunlevel**.d/[SK]**NNname that point to the script **/etc/init.d/**name, using runlevel and dependency information from the init.d script LSB comment header.

When run with the defaults-disabled option, update-rc.d makes links named /etc/rcrunlevel**.d/K**NNname that point to the script **/etc/init.d/**name, using dependency information from the init.d script LSB comment header. This means that the init.d script will be disabled (see below).

If any files named /etc/rcrunlevel**.d/[SK]??**name already exist then update-rc.d does nothing. The program was written this way so that it will never change an existing configuration, which may have been customized by the system administrator. The program will only install links if none are present, i.e., if it appears that the service has never been installed before.

Older versions of update-rc.d also supported start and stop options. These options are no longer supported, and are now equivalent to the defaults option.

A common system administration error is to delete the links with the thought that this will “disable” the service, i.e., that this will prevent the service from being started. However, if all links have been deleted then the next time the package is upgraded, the package’s postinst script will run update-rc.d again and this will reinstall links at their factory default locations. The correct way to disable services is to configure the service as stopped in all runlevels in which it is started by default. In the System V init system this means renaming the service’s symbolic links from S to K. .P The script .BI /etc/init.d/ name must exist before update-rc.d is run to create the links.

REMOVING SCRIPTS

When invoked with the remove option, update-rc.d removes any links in the /etc/rcrunlevel**.d** directories to the script /etc/init.d/name. The script must have been deleted already. If the script is still present then update-rc.d aborts with an error message. .P update-rc.d is usually called from a package’s post-removal script when that script is given the purge argument. Any files in the /etc/rcrunlevel.d** directories that are not symbolic links to the script **/etc/init.d/**name will be left untouched.

DISABLING INIT SCRIPT START LINKS

When run with the disable [ S|2|3|4|5 ] options, update-rc.d modifies existing runlevel links for the script **/etc/init.d/**name by renaming start links to stop links with a sequence number equal to the difference of 100 minus the original sequence number.

When run with the enable [ S|2|3|4|5 ] options, update-rc.d modifies existing runlevel links for the script **/etc/init.d/**name by renaming stop links to start links with a sequence number equal to the positive difference of current sequence number minus 100, thus returning to the original sequence number that the script had been installed with before disabling it. .P Both of these options only operate on start runlevel links of S, 2, 3, 4 or 5. If no start runlevel is specified after the disable or enable keywords, the script will attempt to modify links in all start runlevels.

OPTIONS

-f
Force removal of symlinks even if **/etc/init.d/**name still exists.

EXAMPLES

Insert links using the defaults:

update-rc.d foobar defaults

The equivalent dependency header would have start and stop dependencies on $remote_fs and $syslog, and start in runlevels 2-5 and stop in runlevels 0, 1 and 6.

Remove all links for a script (assuming foobar has been deleted already):

update-rc.d foobar remove

Example of disabling a service:

update-rc.d foobar disable

Example of a command for installing a system initialization-and-shutdown script:

update-rc.d foobar defaults

Example of a command for disabling a system initialization-and-shutdown script:

update-rc.d foobar disable

BUGS

See http://bugs.debian.org/sysv-rc and http://bugs.debian.org/init-system-helpers.

FILES

/etc/init.d/
The directory containing the actual init scripts.

/etc/rc?.d/
The directories containing the links used by init and managed by update-rc.d .

/etc/init.d/skeleton
Model for use by writers of init.d scripts.

SEE ALSO

Debian Policy Manual,
/etc/init.d/skeleton,
insserv(8),
init(8)

AUTHOR

Ian Jackson, Miquel van Smoorenburg

License: GNU General Public License v2 or Later (GPLv2+)

COPYRIGHT

2001 Henrique de Moraes Holschuh

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

78 - Linux cli command vfs_default_quota

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_default_quota and provides detailed information about the command vfs_default_quota, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_default_quota.

NAME πŸ–₯️ vfs_default_quota πŸ–₯️

store default quota records for Windows clients

SYNOPSIS

vfs objects = default_quota

DESCRIPTION

This VFS module is part of the samba(7) suite.

Many common quota implementations only store quotas for users and groups, but do not store a default quota. The vfs_default_quota module allows Samba to store default quota values which can be examined using the Windows Explorer interface.

By default, Samba returns NO_LIMIT the default quota and refuses to update them. vfs_default_quota maps the default quota to the quota record of a user. By default the root user is taken because quota limits for root are typically not enforced.

This module is stackable.

OPTIONS

default_quota:uid = UID

UID specifies the user ID of the quota record where the default user quota values are stored.

default_quota:gid = GID

GID specifies the group ID of the quota record where the default group quota values are stored.

default_quota:uid nolimit = BOOL

If this parameter is True, then the user whose quota record is storing the default user quota will be reported as having a quota of NO_LIMIT. Otherwise, the stored values will be reported.

default_quota:gid nolimit = BOOL

If this parameter is True, then the group whose quota record is storing the default group quota will be reported as having a quota of NO_LIMIT. Otherwise, the stored values will be reported.

EXAMPLES

Store the default quota record in the quota record for the user with ID 65535 and report that user as having no quota limits:

    [global]
	vfs objects = default_quota
	default_quota:uid = 65535
	default_quota:uid nolimit = yes

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

79 - Linux cli command update-java-alternatives

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-java-alternatives and provides detailed information about the command update-java-alternatives, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-java-alternatives.

NAME πŸ–₯️ update-java-alternatives πŸ–₯️

java-alternatives - update alternatives for jre/sdk installations

SYNOPSIS

update-java-alternatives [–jre] [–plugin] [-v|–verbose] -l|–list [<jname>] -s|–set <jname> -a|–auto -h|-?|–help

DESCRIPTION

update-java-alternatives updates all alternatives belonging to one runtime or development kit for the Java language. A package does provide these information of it’s alternatives in /usr/lib/jvm/.<jname>.jinfo.

OPTIONS

-l|–list [<jname>]
List all installed packages (or just <jname>) providing information to set a bunch of java alternatives. Verbose output shows each alternative provided by the packages.

-a|–auto
Switch all alternatives of registered jre/sdk installations to automatic mode.

-s|–set <jname>
Set all alternatives of the registered jre/sdk installation to the program path provided by the <jname> installation.

–jre
Limit the actions to alternatives belong to a runtime environment, not a development kit.

–jre-headless
Limit the actions to alternatives belong to the headless part of a runtime environment.

–plugin
Limit the actions to alternatives providing browser plugins.

-h|–help
Display a help message.

-v|–verbose
Verbose output.

FILES

/usr/lib/jvm/.*.jinfo
A text file describing a jre/sdk installation. Consists of some variables of the form <var>=<value> and a list of alternatives of the form jre|jdk <name> <path>.

AUTHOR

update-java-alternatives and this manual page was written by Matthias Klose <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

80 - Linux cli command vconfig

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vconfig and provides detailed information about the command vconfig, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vconfig.

NAME πŸ–₯️ vconfig πŸ–₯️

VLAN (802.1q) configuration program.

SYNOPSIS

vconfig [lots of long options]

DESCRIPTION

The vconfig program allows you to create and remove vlan-devices on a vlan enabled kernel. Vlan-devices are virtual ethernet devices which represents the virtual lans on the physical lan.

OPTIONS

add [interface-name] [vlan-id]
Creates a vlan-device on [interface-name]. The resulting vlan-device will be called according to the nameing convention set.

rem [vlan-device]
Removes the named vlan-device.

set_flag [vlan-device] 0 | 1
When 1 (the default since 2.6.18), ethernet header reorders are turned on. Dumping the device will appear as a common ethernet device without vlans. When 0 however, ethernet headers are not reordered, which results in vlan tagged packets when dumping the device. Usually the default gives no problems, but some packet filtering programs might have problems with it.

set_egress_map [vlan-device] [skb-priority] [vlan-qos]
This flags that outbound packets with a particular skb-priority should be tagged with the particular vlan priority vlan-qos. The default vlan priority is 0.

set_ingress_map [vlan-device] [skb-priority] [vlan-qos]
This flags that inbound packets with the particular vlan priority vlan-qos should be queued with a particular skb-priority. The default skb-priority is 0.

set_name_type VLAN_PLUS_VID | VLAN_PLUS_VID_NO_PAD | DEV_PLUS_VID | DEV_PLUS_VID_NO_PAD
Sets the way vlan-device names are created. Use vconfig without arguments to see the different formats.

NOTES

VLAN will use Broadcom’s NICE interface when the network device supports it. This is necessary, since usually the hardware of these devices already removes the vlan tag from the ethernet packet. The set_flag option on vlan-devices created on such a physical network device will be ignored. Dumping the network-device will show only untagged(non-vlan) traffic, and dumping the vlan-devices will only show traffic intended for that vlan, without the tags.

FILES

/proc/net/vlan/config
/proc/net/vlan/[vlan-device]

SEE ALSO

ip(8), ifconfig(8)

AUTHORS

This manual page was written by Ard van Breemen <[email protected]>
The vlan patch is written by Ben Greear <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

81 - Linux cli command systemd-pcrmachine.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pcrmachine.service and provides detailed information about the command systemd-pcrmachine.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pcrmachine.service.

NAME πŸ–₯️ systemd-pcrmachine.service πŸ–₯️

pcrphase.service, systemd-pcrphase-sysinit.service, systemd-pcrphase-initrd.service, systemd-pcrmachine.service, systemd-pcrfs-root.service, [email protected], systemd-pcrextend - Measure boot phase into TPM2 PCR 11, machine ID and file system identity into PCR 15

SYNOPSIS

systemd-pcrphase.service

systemd-pcrphase-sysinit.service

systemd-pcrphase-initrd.service

systemd-pcrmachine.service

systemd-pcrfs-root.service

[email protected]

/usr/lib/systemd/systemd-pcrextend [STRING]

DESCRIPTION

systemd-pcrphase.service, systemd-pcrphase-sysinit.service, and systemd-pcrphase-initrd.service are system services that measure specific strings into TPM2 PCR 11 during boot at various milestones of the boot process.

systemd-pcrmachine.service is a system service that measures the machine ID (see machine-id(5)) into PCR 15.

systemd-pcrfs-root.service and [email protected] are services that measure file system identity information (i.e. mount point, file system type, label and UUID, partition label and UUID) into PCR 15. systemd-pcrfs-root.service does so for the root file system, [email protected] is a template unit that measures the file system indicated by its instance identifier instead.

These services require systemd-stub(7) to be used in a unified kernel image (UKI). They execute no operation when the stub has not been used to invoke the kernel. The stub will measure the invoked kernel and associated vendor resources into PCR 11 before handing control to it; once userspace is invoked these services then will extend TPM2 PCR 11 with certain literal strings indicating phases of the boot process. During a regular boot process PCR 11 is extended with the following strings:

1.

“enter-initrd” β€” early when the initrd initializes, before activating system extension images for the initrd. It acts as a barrier between the time where the kernel initializes and where the initrd starts operating and enables system extension images, i.e. code shipped outside of the UKI. (This extension happens when the systemd-pcrphase-initrd.service(8) service is started.)

2.

“leave-initrd” β€” when the initrd is about to transition into the host file system. It acts as barrier between initrd code and host OS code. (This extension happens when the systemd-pcrphase-initrd.service service is stopped.)

3.

“sysinit” β€” when basic system initialization is complete (which includes local file systems having been mounted), and the system begins starting regular system services. (This extension happens when the systemd-pcrphase-sysinit.service(8) service is started.)

4.

“ready” β€” during later boot-up, after remote file systems have been activated (i.e. after remote-fs.target), but before users are permitted to log in (i.e. before systemd-user-sessions.service). It acts as barrier between the time where unprivileged regular users are still prohibited to log in and where they are allowed to log in. (This extension happens when the systemd-pcrphase.service service is started.)

5.

“shutdown” β€” when the system shutdown begins. It acts as barrier between the time the system is fully up and running and where it is about to shut down. (This extension happens when the systemd-pcrphase.service service is stopped.)

6.

“final” β€” at the end of system shutdown. It acts as barrier between the time the service manager still runs and when it transitions into the final shutdown phase where service management is not available anymore. (This extension happens when the systemd-pcrphase-sysinit.service(8) service is stopped.)

During a regular system lifecycle, PCR 11 is extended with the strings “enter-initrd”, “leave-initrd”, “sysinit”, “ready”, “shutdown”, and “final”.

Specific phases of the boot process may be referenced via the series of strings measured, separated by colons (the “phase path”). For example, the phase path for the regular system runtime is “enter-initrd:leave-initrd:sysinit:ready”, while the one for the initrd is just “enter-initrd”. The phase path for the boot phase before the initrd is an empty string; because thats hard to pass around a single colon (":") may be used instead. Note that the aforementioned six strings are just the default strings and individual systems might measure other strings at other times, and thus implement different and more fine-grained boot phases to bind policy to.

By binding policy of TPM2 objects to a specific phase path it is possible to restrict access to them to specific phases of the boot process, for example making it impossible to access the root file systems encryption key after the system transitioned from the initrd into the host root file system.

Use systemd-measure(1) to pre-calculate expected PCR 11 values for specific boot phases (via the –phase= switch).

systemd-pcrfs-root.service and [email protected] are automatically pulled into the initial transaction by systemd-gpt-auto-generator(8) for the root and /var/ file systems. systemd-fstab-generator(8) will do this for all mounts with the x-systemd.pcrfs mount option in /etc/fstab.

OPTIONS

The /usr/lib/systemd/system-pcrextend executable may also be invoked from the command line, where it expects the word to extend into PCR 11, as well as the following switches:

–bank=

Takes the PCR banks to extend the specified word into. If not specified the tool automatically determines all enabled PCR banks and measures the word into all of them.

Added in version 252.

–pcr=

Takes the index of the PCR to extend. If –machine-id or –file-system= are specified defaults to 15, otherwise defaults to 11.

Added in version 255.

**–tpm2-device=**PATH

Controls which TPM2 device to use. Expects a device node path referring to the TPM2 chip (e.g. /dev/tpmrm0). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a suitable TPM2 device (of which there must be exactly one). The special value “list” may be used to enumerate all suitable TPM2 devices currently discovered.

Added in version 252.

–graceful

If no TPM2 firmware, kernel subsystem, kernel driver or device support is found, exit with exit status 0 (i.e. indicate success). If this is not specified any attempt to measure without a TPM2 device will cause the invocation to fail.

Added in version 253.

–machine-id

Instead of measuring a word specified on the command line into PCR 11, measure the hosts machine ID into PCR 15.

Added in version 253.

–file-system=

Instead of measuring a word specified on the command line into PCR 11, measure identity information of the specified file system into PCR 15. The parameter must be the path to the established mount point of the file system to measure.

Added in version 253.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

FILES

/run/log/systemd/tpm2-measure.log

Measurements are logged into an event log file maintained in /run/log/systemd/tpm2-measure.log, which contains a JSON-SEQ[1] series of objects that follow the general structure of the TCG Canonical Event Log Format (CEL-JSON)[2] event objects (but lack the “recnum” field).

A LOCK_EX BSD file lock (flock(2)) on the log file is acquired while the measurement is made and the file is updated. Thus, applications that intend to acquire a consistent quote from the TPM with the associated snapshot of the event log should acquire a LOCK_SH lock while doing so.

Added in version 252.

SEE ALSO

systemd(1), systemd-stub(7), systemd-measure(1), systemd-gpt-auto-generator(8), systemd-fstab-generator(8), TPM2 PCR Measurements Made by systemd[3]

NOTES

JSON-SEQ

https://www.rfc-editor.org/rfc/rfc7464.html

TCG Canonical Event Log Format (CEL-JSON)

https://trustedcomputinggroup.org/resource/canonical-event-log-format/

TPM2 PCR Measurements Made by systemd

https://systemd.io/TPM2_PCR_MEASUREMENTS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

82 - Linux cli command systemd-storagetm.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-storagetm.service and provides detailed information about the command systemd-storagetm.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-storagetm.service.

NAME πŸ–₯️ systemd-storagetm.service πŸ–₯️

storagetm.service, systemd-storagetm - Exposes all local block devices as NVMe-TCP mass storage devices

SYNOPSIS

systemd-storagetm.service

/usr/lib/systemd/systemd-storagetm [OPTIONS…] [DEVICE]

DESCRIPTION

systemd-storagetm.service is a service that exposes all local block devices as NVMe-TCP mass storage devices. Its primary use-case is to be invoked by the storage-target-mode.target unit that can be booted into.

Warning

The NVMe disks are currently exposed without authentication or encryption, in read/write mode. This means network peers may read from and write to the device without any restrictions. This functionality should hence only be used in a local setup.

Note that to function properly networking must be configured too. The recommended mechanism to boot into a storage target mode is by adding “rd.systemd.unit=storage-target-mode.target ip=link-local” on the kernel command line. Note that “ip=link-local” only configures link-local IP, i.e. IPv4LL and IPv6LL, which means non-routable addresses. This is done for security reasons, so that only systems on the local link can access the devices. Use “ip=dhcp” to assign routable addresses too. For further details see systemd-network-generator.service(8).

Unless the –all switch is used expects one or more block devices or regular files to expose via NVMe-TCP as argument.

OPTIONS

The following options are understood:

–nqn=

Takes a string. If specified configures the NVMe Qualified Name to use for the exposed NVMe-TCP mass storage devices. The NQN should follow the syntax described in NVM Express Base Specification 2.0c[1], section 4.5 “NVMe Qualified Names”. Note that the NQN specified here will be suffixed with a dot and the block device name before it is exposed on the NVMe target. If not specified defaults to “nqn.2023-10.io.systemd:storagetm.ID”, where ID is replaced by a 128bit ID derived from machine-id(5).

Added in version 255.

–all, -a

If specified exposes all local block devices via NVMe-TCP, current and future (i.e. it watches block devices come and go and updates the NVMe-TCP list as needed). Note that by default any block devices that originate on the same block device as the block device backing the current root file system are excluded. If the switch is specified twice this safety mechanism is disabled.

Added in version 255.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

SEE ALSO

systemd(1), systemd.special(7)

NOTES

NVM Express Base Specification 2.0c

https://nvmexpress.org/wp-content/uploads/NVM-Express-Base-Specification-2.0c-2022.10.04-Ratified.pdf

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

83 - Linux cli command update-default-ispell

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-default-ispell and provides detailed information about the command update-default-ispell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-default-ispell.

NAME πŸ–₯️ update-default-ispell πŸ–₯️

default-ispell - update default ispell dictionary

SYNOPSIS

update-default-ispell [–skip-symlinks] [–triggered]

DESCRIPTION

WARNING: Not to be used from the command line unless you know very well what you are doing.

This program is intended to be called from ispell dictionary package postinst, from select-default-ispell or from dictionaries-common postinst.

When called under dpkg control with the –trigger option the script is run normally, otherwise the dictionaries-common update-default-ispell trigger is enabled for later run.

With the –skip-symlinks option the symlinks setting is skipped. This is needed for update-default-ispell when called from dictionaries-common postinst, since autobuilt hashes may not yet be available.

When run normally (from the command line or with –trigger) this script rebuilds the info at /var/cache/dictionaries-common/ispell.db after files under /var/lib/dictionaries-common/ispell, reads the system default from the debconf database and unless disabled, set default symlinks in /etc/dictionaries-common pointing to the appropriate files in /usr/lib/ispell/.

For ispell this script also updates the system-wide setting /etc/dictionaries-common/ispell-default and the emacsen, jed, and SquirrelMail support after known info.

OPTIONS

–skip-symlinks Do not try to set symlinks at /etc/dictionaries-common dir. –triggered Run all the code instead of trying to enable update-default-ispell trigger

SEE ALSO

The dictionaries-common policy document

AUTHORS

Rafael Laboissiere, Agustin Martin Domingo

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

84 - Linux cli command tc-route

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-route and provides detailed information about the command tc-route, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-route.

NAME πŸ–₯️ tc-route πŸ–₯️

route traffic control filter

SYNOPSIS

tc filterroute [ from REALM | fromif TAG ] [ to REALM ] [ classid CLASSID ] [ action ACTION_SPEC ]

DESCRIPTION

Match packets based on routing table entries. This filter centers around the possibility to assign a realm to routing table entries. For any packet to be classified by this filter, a routing table lookup is performed and the returned realm is used to decide on whether the packet is a match or not.

OPTIONS

action* ACTION_SPEC*
Apply an action from the generic actions framework on matching packets.

classid* CLASSID*
Push matching packets into the class identified by CLASSID.

from* REALM*
fromif* TAG*
Perform source route lookups. TAG is the name of an interface which must be present on the system at the time of tc invocation.

to* REALM*
Match if normal (i.e., destination) routing returns the given REALM.

EXAMPLES

Consider the subnet 192.168.2.0/24 being attached to eth0:

ip route add 192.168.2.0/24 dev eth0 realm 2

The following route filter will then match packets from that subnet:

tc filter add … route from 2 classid 1:2

and pass packets on to class 1:2.

NOTES

Due to implementation details, realm values must be in a range from 0 to 255, inclusive. Alternatively, a verbose name defined in /etc/iproute2/rt_realms may be given instead.

SEE ALSO

tc(8), ip-route(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

85 - Linux cli command xtables-legacy

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xtables-legacy and provides detailed information about the command xtables-legacy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xtables-legacy.

NAME πŸ–₯️ xtables-legacy πŸ–₯️

legacy β€” iptables using old getsockopt/setsockopt-based kernel api

DESCRIPTION

xtables-legacy are the original versions of iptables that use old getsockopt/setsockopt-based kernel interface. This kernel interface has some limitations, therefore iptables can also be used with the newer nf_tables based API. See xtables-nft(8) for information about the xtables-nft variants of iptables.

USAGE

The xtables-legacy-multi binary can be linked to the traditional names:

	/sbin/iptables -> /sbin/iptables-legacy-multi
	/sbin/ip6tables -> /sbin/ip6tables-legacy-multi
	/sbin/iptables-save -> /sbin/ip6tables-legacy-multi
	/sbin/iptables-restore -> /sbin/ip6tables-legacy-multi

The iptables version string will indicate whether the legacy API (get/setsockopt) or the new nf_tables API is used:

	iptables -V
	iptables v1.7 (legacy)

LIMITATIONS

When inserting a rule using iptables -A or iptables -I, iptables first needs to retrieve the current active ruleset, change it to include the new rule, and then commit back the result. This means that if two instances of iptables are running concurrently, one of the updates might be lost. This can be worked around partially with the –wait option.

There is also no method to monitor changes to the ruleset, except periodically calling iptables-legacy-save and checking for any differences in output.

xtables-monitor(8) will need the xtables-nft(8) versions to work, it cannot display changes made using the iptables-legacy tools.

SEE ALSO

xtables-nft(8), xtables-translate(8)

AUTHORS

Rusty Russell originally wrote iptables, in early consultation with Michael Neuling.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

86 - Linux cli command systemd-timedated

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-timedated and provides detailed information about the command systemd-timedated, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-timedated.

NAME πŸ–₯️ systemd-timedated πŸ–₯️

timedated.service, systemd-timedated - Time and date bus mechanism

SYNOPSIS

systemd-timedated.service

/usr/lib/systemd/systemd-timedated

DESCRIPTION

systemd-timedated.service is a system service that may be used as a mechanism to change the system clock and timezone, as well as to enable/disable network time synchronization. systemd-timedated is automatically activated on request and terminates itself when it is unused.

The tool timedatectl(1) is a command line client to this service.

systemd-timedated currently offers access to the following four settings:

Β·

The system time

Β·

The system timezone

Β·

A boolean controlling whether the system RTC is in local or UTC timezone

Β·

Whether the time synchronization service is enabled/started or disabled/stopped, see next section.

See org.freedesktop.timedate1(5) and org.freedesktop.LogControl1(5) for information about the D-Bus API.

LIST OF NETWORK TIME SYNCHRONIZATION SERVICES

systemd-timedated will look for files with a “.list” extension in ntp-units.d/ directories. Each file is parsed as a list of unit names, one per line. Empty lines and lines with comments ("#") are ignored. Files are read from /usr/lib/systemd/ntp-units.d/ and the corresponding directories under /etc/, /run/, /usr/local/lib/. Files in /etc/ override files with the same name in /run/, /usr/local/lib/, and /usr/lib/. Files in /run/ override files with the same name under /usr/. Packages should install their configuration files in /usr/lib/ (distribution packages) or /usr/local/lib/ (local installs).

Example 1. ntp-units.d/ entry for systemd-timesyncd

/usr/lib/systemd/ntp-units.d/80-systemd-timesync.list

systemd-timesyncd.service

If the environment variable $SYSTEMD_TIMEDATED_NTP_SERVICES is set, systemd-timedated will parse the contents of that variable as a colon-separated list of unit names. When set, this variable overrides the file-based list described above.

Example 2. An override that specifies that chronyd should be used if available

SYSTEMD_TIMEDATED_NTP_SERVICES=chronyd.service:systemd-timesyncd.service

SEE ALSO

systemd(1), timedatectl(1), localtime(5), hwclock(8), systemd-timesyncd(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

87 - Linux cli command vfs_glusterfs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_glusterfs and provides detailed information about the command vfs_glusterfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_glusterfs.

NAME πŸ–₯️ vfs_glusterfs πŸ–₯️

Utilize features provided by GlusterFS

SYNOPSIS

vfs objects = glusterfs

DESCRIPTION

This VFS module is part of the samba(8) suite.

GlusterFS (http://www.gluster.org) is an Open Source clustered file system capable of scaling to several peta-bytes. With its FUSE based native client, GlusterFS is available as a POSIX compliant file system and can hence be shared by Samba without additional steps.

The vfs_glusterfs VFS module provides an alternative, and superior way to access a Gluster filesystem from Samba for sharing. It does not require a Gluster FUSE mount but directly accesses the GlusterFS daemon through its library libgfapi, thereby omitting the expensive kernel-userspace context switches and taking advantage of some of the more advanced features of GlusterFS.

This module can be combined with other modules, but it should be the last module in the vfs objects list. Modules added to this list to the right of the glusterfs entry may not have any effect at all.

CONFIGURATION

A basic configuration looks like this.

  [share]
		vfs objects = glusterfs
		path = /relative/base/path
		glusterfs:volume = gv0
		kernel share modes = no

Note that since vfs_glusterfs does not require a Gluster mount, the share path is treated differently than for other shares: It is interpreted as the base path of the share relative to the gluster volume used. Because this is usually not at the same time a system path, in a ctdb cluster setup where ctdb manages Samba, you need to set CTDB_SAMBA_SKIP_SHARE_CHECK=yes in ctdbs configuration file. Otherwise ctdb will not get healthy.

Note that currently kernel share modes have to be disabled in a share running with the glusterfs vfs module for file serving to work properly.

OPTIONS

glusterfs:logfile = path

Defines whether and where to store a vfs_glusterfs specific logfile. Client variable substitution is supported (i.e. %M, %m, %I), hence per client log file can be specified.

Example: glusterfs:logfile = /var/log/samba/glusterfs-vol2.%M.log

glusterfs:loglevel = 0-9

Defines the level of logging, with higher numbers corresponding to more verbosity. 0 - No logs; 9 - Trace log level; 7 being the info log level is preferred.

If this option is not defined with an explicit loglevel, the glusterfs default is used (currently loglevel 7).

glusterfs:volfile_server = servername

Defines which volfile server to use, defaults to localhost. It could be list of white space separated elements where each element could be

1. unix+/path/to/socket/file

2. [tcp+]IP|hostname|\IPv6\[:port]

Note the restriction on naming a IPv6 host, it follows the same restriction that is based on IPv6 naming in URL as per RFC 2732.

glusterfs:volume = volumename

Defines the glusterfs volumename to use for this share.

CAVEATS

The GlusterFS write-behind performance translator, when used with Samba, could be a source of data corruption. The translator, while processing a write call, immediately returns success but continues writing the data to the server in the background. This can cause data corruption when two clients relying on Samba to provide data consistency are operating on the same file.

The write-behind translator is enabled by default on GlusterFS. The vfs_glusterfs plugin will check for the presence of the translator and refuse to connect if detected. Please disable the write-behind translator for the GlusterFS volume to allow the plugin to connect to the volume. The write-behind translator can easily be disabled via calling

                    gluster volume set <volumename> performance.write-behind off

on the commandline.

With GlusterFS versions >= 9, we silently bypass write-behind translator during initial connect and failure is avoided.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

88 - Linux cli command yersinia

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command yersinia and provides detailed information about the command yersinia, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the yersinia.

NAME

Yersinia - A Framework for layer 2 attacks

SYNOPSIS

yersinia [-hVGIDd] [-l logfile] [-c conffile] protocol [-M] [protocol_options]

DESCRIPTION

yersinia is a framework for performing layer 2 attacks. The following protocols have been implemented in Yersinia current version: Spanning Tree Protocol (STP), VLAN Trunking Protocol (VTP), Hot Standby Router Protocol (HSRP), Dynamic Trunking Protocol (DTP), IEEE 802.1Q, IEEE 802.1X, Cisco Discovery Protocol (CDP), Dynamic Host Configuration Protocol (DHCP), Inter-Switch Link Protocol (ISL) and MultiProtocol Label Switching (MPLS).

Some of the attacks implemented will cause a DoS in a network, other will help to perform any other more advanced attack, or both. In addition, some of them will be first released to the public since there isn’t any public implementation.

Yersinia will definitely help both pen-testers and network administrators in their daily tasks.

Some of the mentioned attacks are DoS attacks, so TAKE CARE about what you’re doing because you can convert your network into an UNSTABLE one.

A lot of examples are given at this page EXAMPLES section, showing a real and useful program execution.

OPTIONS

-h, –help
Help screen.

-V, –Version
Program version.

-G
Start a graphical GTK session.

-I, –interactive
Start an interactive ncurses session.

-D, –daemon
Start the network listener for remote admin (Cisco CLI emulation).

-d
Enable debug messages.

-l logfile
Save the current session to the file logfile. If logfile exists, the data will be appended at the end.

-c conffile
Read/write configuration variables from/to conffile.

-M
Disable MAC spoofing.

PROTOCOLS

The following protocols are implemented in yersinia current version:

Spanning Tree Protocol (STP and RSTP)

Cisco Discovery Protocol (CDP)

Hot Standby Router Protocol (HSRP)

Dynamic Host Configuration Protocol (DHCP)

Dynamic Trunking Protocol (DTP)

IEEE 802.1Q

VLAN Trunking Protocol (VTP)

Inter-Switch Link Protocol (ISL)

IEEE 802.1X

MultiProtocol Label Switching (MPLS)

PROTOCOLS OPTIONS

Spanning Tree Protocol (STP): is a link management protocol that provides path redundancy while preventing undesirable loops in the network. The supported options are:
“-version
BPDU version (0 STP, 2 RSTP, 3 MSTP)

-type type
BPDU type (Configuration, TCN)

-flags flags
BPDU Flags

-id id
BPDU ID

-cost pathcost
BPDU root path cost

-rootid id
BPDU Root ID

-bridgeid id
BPDU Bridge ID

-portid id
BPDU Port ID

-message secs
BPDU Message Age

-max-age secs
BPDU Max Age (default is 20)

-hello secs
BPDU Hello Time (default is 2)

-forward secs
BPDU Forward Delay

-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

Cisco Discovery Protocol (CDP): is a Cisco propietary Protocol which main aim is to let Cisco devices to communicate to each other about their device settings and protocol configurations. The supported options are:
-source hw_addr
MAC Source Address

-dest hw_addr
MAC Destination Address

-v version
CDP Version

-ttl ttl
Time To Live

-devid id
Device ID

-address address
Device Address

-port id
Device Port

-capability cap
Device Capabilities

-version version
Device IOS Version

-duplex 0|1
Device Duplex Configuration

-platform platform
Device Platform

-ipprefix ip
Device IP Prefix

-phello hello
Device Protocol Hello

-mtu mtu
Device MTU

-vtp_mgm_dom domain
Device VTP Management Domain

-native_vlan vlan
Device Native VLAN

-voip_vlan_r req
Device VoIP VLAN Reply

-voip_vlan_q query
Device VoIP VLAN Query

-t_bitmap bitmap
Device Trust Bitmap

-untrust_cos cos
Device Untrusted CoS

-system_name name
Device System Name

-system_oid oid
Device System ObjectID

-mgm_address address
Device Management Address

-location location
Device Location

-attack attack
Attack to launch

Hot Standby Router Protocol (HSRP):
-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

Inter-Switch Link Protocol (ISL):
-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

VLAN Trunking Protocol (VTP):
-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

Dynamic Host Configuration Protocol (DHCP):
-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

IEEE 802.1Q:
-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

Dynamic Trunking Protocol (DTP):
-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

IEEE 802.1X:
-version arg
Version

-type arg
xxxx

-eapcode arg
xxxx

-eapid arg
xxxx

-eaptype arg
xxxx

-eapinfo arg
xxx

-interface arg
xxxx

-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

MultiProtocol Label Switching (MPLS):
-source hw_addr
Source MAC address

-dest hw_addr
Destination MAC address

-interface iface
Set network interface to use

-attack attack
Attack to launch

-label1 arg
Set MPLS Label

-exp1 arg
Set MPLS Experimental bits

-bottom1 arg
Set MPLS Bottom Of Stack flag

-ttl1 arg
Set MPLS Time To Live

-label2 arg
Set MPLS Label (second header)

-exp2 arg
Set MPLS Experimental bits (second header)

-bottom2 arg
Set MPLS Bottom Of Stack flag (second header)

-ttl2 arg
Set MPLS Time To Live (second header)

-ipsource ipv4
Source IP

-portsource port
Source TCP/UDP port

-ipdest ipv4
Destination IP

-portdest port
Destination TCP/UDP port

-payload ASCII
ASCII IP payload

ATTACKS

Attacks Implemented in STP:
0: NONDOS attack sending conf BPDU

1: NONDOS attack sending tcn BPDU

2: DOS attack sending conf BPDUs

3: DOS attack sending tcn BPDUs

4: NONDOS attack Claiming Root Role

5: NONDOS attack Claiming Other Role

6: DOS attack Claiming Root Role with MiTM

Attacks Implemented in CDP:
0: NONDOS attack sending CDP packet

1: DOS attack flooding CDP table

2: NONDOS attack Setting up a virtual device

Attacks Implemented in HSRP:
0: NONDOS attack sending raw HSRP packet

1: NONDOS attack becoming ACTIVE router

2: NONDOS attack becoming ACTIVE router (MITM)

Attacks Implemented in DHCP:
0: NONDOS attack sending RAW packet

1: DOS attack sending DISCOVER packet

2: NONDOS attack creating DHCP rogue server

3: DOS attack sending RELEASE packet

Attacks Implemented in DTP:
0: NONDOS attack sending DTP packet

1: NONDOS attack enabling trunking

Attacks Implemented in 802.1Q:
0: NONDOS attack sending 802.1Q packet

1: NONDOS attack sending 802.1Q double enc. packet

2: DOS attack sending 802.1Q arp poisoning

Attacks Implemented in VTP:
0: NONDOS attack sending VTP packet

1: DOS attack deleting all VTP vlans

2: DOS attack deleting one vlan

3: NONDOS attack adding one vlan

4: DOS attack crashing Catalyst

Attacks Implemented in 802.1X:
0: NONDOS attack sending 802.1X packet

1: NONDOS attack Mitm 802.1X with 2 interfaces

Attacks Implemented in MPLS:
0: NONDOS attack sending TCP MPLS packet

1: NONDOS attack sending TCP MPLS with double header

2: NONDOS attack sending UDP MPLS packet

3: NONDOS attack sending UDP MPLS with double header

4: NONDOS attack sending ICMP MPLS packet

5: NONDOS attack sending ICMP MPLS with double header

Attacks Implemented in ISL:
None at the moment

GTK GUI

The GTK GUI (-G) is a GTK graphical interface with all of the yersinia powerful features and a professional ’look and feel'.

NCURSES GUI

The ncurses GUI (-I) is a ncurses (or curses) based console where the user can take advantage of yersinia powerful features.

Press ‘h’ to display the Help Screen and enjoy your session :)

NETWORK DAEMON

The Network Daemon (-D) is a telnet based server (ala Cisco mode) that listens by default in port 12000/tcp waiting for incoming telnet connections.

It supports a CLI similar to a Cisco device where the user (once authenticated) can display different settings and can launch attacks without having yersinia running in her own machine (specially useful for Windows users).

EXAMPLES

- Send a Rapid Spanning-Tree BPDU with port role designated, port state agreement, learning and port id 0x3000 to eth1:

yersinia stp -attack 0 -version 2 -flags 5c -portid 3000 -interface eth1

- Start a Spanning-Tree nonDoS root claiming attack in the first nonloopback interface (keep in mind that this kind of attack will use the first BPDU on the network interface to fill in the BPDU fields properly):

yersinia stp -attack 4

- Start a Spanning-Tree DoS attack sending TCN BPDUs in the eth0 interface with MAC address 66:66:66:66:66:66:

yersinia stp -attack 3 -source 66:66:66:66:66:66

SEE ALSO

The README file contains more in-depth documentation about the attacks.

COPYRIGHT

Yersinia is Copyright (c)

BUGS

Lots

AUTHORS

Alfredo Andres Omella <[email protected]>
David Barroso Berrueta <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

89 - Linux cli command tc-etf

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-etf and provides detailed information about the command tc-etf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-etf.

NAME πŸ–₯️ tc-etf πŸ–₯️

Earliest TxTime First (ETF) Qdisc

SYNOPSIS

tc qdisc … dev dev parent classid [ handle major: ] etf clockid clockid [ delta delta_nsecs ] [ deadline_mode ] [ offload ]

DESCRIPTION

The ETF (Earliest TxTime First) qdisc allows applications to control the instant when a packet should be dequeued from the traffic control layer into the netdevice. If offload is configured and supported by the network interface card, the it will also control when packets leave the network controller.

ETF achieves that by buffering packets until a configurable time before their transmission time (i.e. txtime, or deadline), which can be configured through the delta option.

The qdisc uses a rb-tree internally so packets are always ‘ordered’ by their txtime and will be dequeued following the (next) earliest txtime first.

It relies on the SO_TXTIME socket option and the SCM_TXTIME CMSG in each packet field to configure the behavior of time dependent sockets: the clockid to be used as a reference, if the expected mode of txtime for that socket is deadline or strict mode, and if packet drops should be reported on the socket’s error queue. See socket(7) for more information.

The etf qdisc will drop any packets with a txtime in the past, or if a packet expires while waiting for being dequeued.

This queueing discipline is intended to be used by TSN (Time Sensitive Networking) applications, and it exposes a traffic shaping functionality that is commonly documented as “Launch Time” or “Time-Based Scheduling” by vendors and the documentation of network interface controllers.

ETF is meant to be installed under another qdisc that maps packet flows to traffic classes, one example is mqprio(8).

PARAMETERS

clockid

Specifies the clock to be used by qdisc’s internal timer for measuring time and scheduling events. The qdisc expects that packets passing through it to be using this same clockid as the reference of their txtime timestamps. It will drop packets coming from sockets that do not comply with that.

For more information about time and clocks on Linux, please refer to time(7) and clock_gettime(3).

delta

After enqueueing or dequeueing a packet, the qdisc will schedule its next wake-up time for the next txtime minus this delta value. This means delta can be used as a fudge factor for the scheduler latency of a system. This value must be specified in nanoseconds. The default value is 0 nanoseconds.

deadline_mode

When deadline_mode is set, the qdisc will handle txtime with a different semantics, changed from a ‘strict’ transmission time to a deadline. In practice, this means during the dequeue flow etf(8) will set the txtime of the packet being dequeued to ’now’. The default is for this option to be disabled.

offload

When offload is set, etf(8) will try to configure the network interface so time-based transmission arbitration is enabled in the controller. This feature is commonly referred to as “Launch Time” or “Time-Based Scheduling” by the documentation of network interface controllers. The default is for this option to be disabled.

skip_sock_check

etf(8) currently drops any packet which does not have a socket associated with it or if the socket does not have SO_TXTIME socket option set. But, this will not work if the launchtime is set by another entity inside the kernel (e.g. some other Qdisc). Setting the skip_sock_check will skip checking for a socket associated with the packet.

EXAMPLES

ETF is used to enforce a Quality of Service. It controls when each packets should be dequeued and transmitted, and can be used for limiting the data rate of a traffic class. To separate packets into traffic classes the user may choose mqprio(8), and configure it like this:

# tc qdisc add dev eth0 handle 100: parent root mqprio num_tc 3 \
	map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
	queues 1@0 1@1 2@2 \
	hw 0

To replace the current queueing discipline by ETF in traffic class number 0, issue:

# tc qdisc replace dev eth0 parent 100:1 etf \
	clockid CLOCK_TAI delta 300000 offload

With the options above, etf will be configured to use CLOCK_TAI as its clockid_t, will schedule packets for 300 us before their txtime, and will enable the functionality on that in the network interface card. Deadline mode will not be configured for this mode.

AUTHORS

Jesus Sanchez-Palencia <[email protected]>
Vinicius Costa Gomes <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

90 - Linux cli command tdbrestore

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tdbrestore and provides detailed information about the command tdbrestore, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tdbrestore.

NAME πŸ–₯️ tdbrestore πŸ–₯️

tool for creating a TDB file out of a tdbdump output

SYNOPSIS

tdbrestore {tdbfilename}

DESCRIPTION

This tool is part of the samba(1) suite.

tdbrestore is a very simple utility that restores the contents of dump file into TDB (Trivial DataBase) file. The dump file is obtained from the tdbdump command.

This tool wait on the standard input for the content of the dump and will write the tdb in the tdbfilename parameter.

This tool can be used for unpacking the content of tdb as backup mean.

VERSION

This man page is correct for version 3 of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed. This tool was initially written by Volker Lendecke based on an idea by Simon McVittie.

The tdbrestore man page was written by Matthieu Patou.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

91 - Linux cli command tc-hfsc

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-hfsc and provides detailed information about the command tc-hfsc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-hfsc.

NAME πŸ–₯️ tc-hfsc πŸ–₯️

Hierarchical Fair Service Curve’s control under linux

SYNOPSIS

tc qdisc add ... hfsc [ default CLASSID ]

tc class add ... hfsc [ [ rt SC ] [ ls SC ] | [ sc SC ] ] [ ul SC ]

rt : realtime service curve
ls : linkshare service curve
sc : rt+ls service curve
ul : upperlimit service curve

Β· at least one of rt, ls or sc must be specified
Β· ul can only be specified with ls or sc
m1 : slope of the first segment
d  : x-coordinate of intersection
m2 : slope of the second segment

umax : maximum unit of work
dmax : maximum delay
rate : rate

For description of BYTE, BPS and SEC - please see UNITS section of tc(8).

DESCRIPTION (qdisc)

HFSC qdisc has only one optional parameter - default. CLASSID specifies the minor part of the default classid, where packets not classified by other means (e.g. u32 filter, CLASSIFY target of iptables) will be enqueued. If default is not specified, unclassified packets will be dropped.

DESCRIPTION (class)

HFSC class is used to create a class hierarchy for HFSC scheduler. For explanation of the algorithm, and the meaning behind rt, ls, sc and ul service curves - please refer to tc-hfsc(7).

As you can see in SYNOPSIS, service curve (SC) can be specified in two ways. Either as maximum delay for certain amount of work, or as a bandwidth assigned for certain amount of time. Obviously, m1 is simply umax/dmax.

Both m2 and rate are mandatory. If you omit other parameters, you will specify linear service curve.

SEE ALSO

tc(8), tc-hfsc(7), tc-stab(8)

Please direct bugreports and patches to: <[email protected]>

AUTHOR

Manpage created by Michal Soltys ([email protected])

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

92 - Linux cli command systemd-pcrlock

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pcrlock and provides detailed information about the command systemd-pcrlock, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pcrlock.

NAME πŸ–₯️ systemd-pcrlock πŸ–₯️

pcrlock, systemd-pcrlock-file-system.service, systemd-pcrlock-firmware-code.service, systemd-pcrlock-firmware-config.service, systemd-pcrlock-machine-id.service, systemd-pcrlock-make-policy.service, systemd-pcrlock-secureboot-authority.service, systemd-pcrlock-secureboot-policy.service - Analyze and predict TPM2 PCR states and generate an access policy from the prediction

SYNOPSIS

/usr/lib/systemd/systemd-pcrlock [OPTIONS…]

DESCRIPTION

Note: this command is experimental for now. While it is likely to become a regular component of systemd, it might still change in behaviour and interface.

systemd-pcrlock is a tool that may be used to analyze and predict TPM2 PCR measurements, and generate TPM2 access policies from the prediction which it stores in a TPM2 NV index (i.e. in the TPM2 non-volatile memory). This may then be used to restrict access to TPM2 objects (such as disk encryption keys) to system boot-ups in which only specific, trusted components are used.

systemd-pcrlock uses as input for its analysis and prediction:

Β·

The UEFI firmware TPM2 event log (i.e. /sys/kernel/security/tpm0/binary_bios_measurements) of the current boot.

Β·

The userspace TPM2 event log (i.e. /run/log/systemd/tpm2-measure.log) of the current boot.

Β·

The current PCR state of the TPM2 chip.

Β·

Boot component definition files (*.pcrlock and *.pcrlock.d/*.pcrlock, see systemd.pcrlock(5)) that each define expected measurements for one component of the boot process, permitting alternative variants for each. (Variants may be used to bless multiple kernel versions or boot loader versions at the same time.)

It uses these inputs to generate a combined event log, validating it against the PCR states. It then attempts to recognize event log records and matches them against the defined components. For each PCR where this can be done comprehensively (i.e. where all listed records and all defined components have been matched) this may then be used to predict future PCR measurements, taking the alternative variants defined for each component into account. This prediction may then be converted into a TPM2 access policy (consisting of TPM2 PolicyPCR and PolicyOR items), which is then stored in an NV index in the TPM2. This may be used to then lock secrets (such as disk encryption keys) to these policies (via a TPM2 PolicyAuthorizeNV policy).

Use tools such as systemd-cryptenroll(1) or systemd-repart(8) to bind disk encryption to such a systemd-pcrlock TPM2 policy. Specifically, see the –tpm2-pcrlock= switches of these tools.

The access policy logic requires a TPM2 device that implements the “PolicyAuthorizeNV” command, i.e. implements TPM 2.0 version 1.38 or newer.

COMMANDS

The following commands are understood:

log

This reads the combined TPM2 event log, validates it, matches it against the current PCR values, and outputs both in tabular form. Combine with –json= to generate output in JSON format.

Added in version 255.

cel

This reads the combined TPM2 event log and writes it to STDOUT in TCG Canonical Event Log Format (CEL-JSON)[1] format.

Added in version 255.

list-components

Shows a list of component definitions and their variants, i.e. the *.pcrlock files discovered in /var/lib/pcrlock.d/, /usr/lib/pcrlock.d/, and the other supported directories. See systemd.pcrlock(5) for details on these files and the full list of directories searched.

Added in version 255.

predict

Predicts the PCR state on future boots. This will analyze the TPM2 event log as described above, recognize components, and then generate all possible resulting PCR values for all combinations of component variants. Note that no prediction is made for PCRs whose value does not match the event log records, for which unrecognized measurements are discovered or for which components are defined that cannot be found in the event log. This is a safety measure to ensure that any generated access policy can be fulfilled correctly on current and future boots.

Added in version 255.

make-policy

This predicts the PCR state for future boots, much like the predict command above. It then uses this data to generate a TPM2 access policy which it stores in a TPM2 NV index. The prediction and information about the used TPM2 and its NV index are written to /var/lib/systemd/pcrlock.json.

The NV index is allocated on first invocation, and updated on subsequent invocations.

The NV index contents may be changed (and thus the policy stored in it updated) by providing an access PIN. This PIN is normally generated automatically and stored in encrypted form (with an access policy binding it to the NV index itself) in the aforementioned JSON policy file. This PIN may be chosen by the user, via the –recovery-pin= switch. If specified it may be used as alternative path of access to update the policy.

If the new prediction matches the old this command terminates quickly and executes no further operation. (Unless –force is specified, see below.)

Starting with v256, a copy of the /var/lib/systemd/pcrlock.json policy file is encoded in a credential (see systemd-creds(1) for details) and written to the EFI System Partition or XBOOTLDR partition, in the /loader/credentials/ subdirectory. There it is picked up at boot by systemd-stub(7) and passed to the invoked initrd, where it can be used to unlock the root file system (which typically contains /var/, which is where the primary copy of the policy is located, which hence cannot be used to unlock the root file system). The credential file is named after the boot entry token of the installation (see bootctl(1)), which is configurable via the –entry-token= switch, see below.

Added in version 255.

remove-policy

Removes a previously generated policy. Deletes the /var/lib/systemd/pcrlock.json file, and deallocates the NV index.

Added in version 255.

lock-firmware-code, unlock-firmware-code

Generates/removes .pcrlock files based on the TPM2 event log of the current boot covering all records for PCRs 0 (“platform-code”) and 2 (“external-code”).

This operation allows locking the boot process to the current version of the firmware of the system and its extension cards. This operation should only be used if the system vendor does not provide suitable pcrlock data ahead of time.

Note that this data only matches the current version of the firmware. If a firmware update is applied this data will be out-of-date and any access policy generated from it will no longer pass. It is thus recommended to invoke unlock-firmware-code before doing a firmware update, followed by make-policy to refresh the policy.

systemd-pcrlock lock-firmware-code is invoked automatically at boot via the systemd-pcrlock-firmware-code.service unit, if enabled. This ensures that an access policy managed by systemd-pcrlock is automatically locked to the new firmware version whenever the policy has been relaxed temporarily, in order to cover for firmware updates, as described above.

The files are only generated from the event log if the event log matches the current TPM2 PCR state.

This writes/removes the files /var/lib/pcrlock.d/250-firmware-code-early.pcrlock.d/generated.pcrlock and /var/lib/pcrlock.d/550-firmware-code-late.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-firmware-config, unlock-firmware-config

This is similar to lock-firmware-code/unlock-firmware-code but locks down the firmware configuration, i.e. PCRs 1 (“platform-config”) and 3 (“external-config”).

This functionality should be used with care as in most scenarios a minor firmware configuration change should not invalidate access policies to TPM2 objects. Also note that some systems measure unstable and unpredictable information (e.g. current CPU voltages, temperatures, as part of SMBIOS data) to these PCRs, which means this form of lockdown cannot be used reliably on such systems. Use this functionality only if the system and hardware is well known and does not suffer by these limitations, for example in virtualized environments.

Use unlock-firmware-config before making firmware configuration changes. If the systemd-pcrlock-firmware-config.service unit is enabled it will automatically generate a pcrlock file from the new measurements.

This writes/removes the files /var/lib/pcrlock.d/250-firmware-config-early.pcrlock.d/generated.pcrlock and /var/lib/pcrlock.d/550-firmware-config-late.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-secureboot-policy, unlock-secureboot-policy

Generates/removes a .pcrlock file based on the SecureBoot policy currently enforced. This looks at the SecureBoot, PK, KEK, db, dbx, dbt, dbr EFI variables and predicts their measurements to PCR 7 (“secure-boot-policy”) on the next boot.

Use unlock-firmware-config before applying SecureBoot policy updates. If the systemd-pcrlock-secureboot-policy.service unit is enabled it will automatically generate a pcrlock file from the policy discovered.

This writes/removes the file /var/lib/pcrlock.d/230-secureboot-policy.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-secureboot-authority, unlock-secureboot-authority

Generates/removes a .pcrlock file based on the SecureBoot authorities used to validate the boot path. SecureBoot authorities are the specific SecureBoot database entries that where used to validate the UEFI PE binaries executed at boot. This looks at the event log of the current boot, and uses relevant measurements on PCR 7 (“secure-boot-policy”).

This writes/removes the file /var/lib/pcrlock.d/620-secureboot-authority.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-gpt [DEVICE], unlock-gpt

Generates/removes a .pcrlock file based on the GPT partition table of the specified disk. If no disk is specified automatically determines the block device backing the root file system. This locks the state of the disk partitioning of the booted medium, which firmware measures to PCR 5 (“boot-loader-config”).

This writes/removes the file /var/lib/pcrlock.d/600-gpt.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-pe [BINARY], unlock-pe

Generates/removes a .pcrlock file based on the specified PE binary. This is useful for predicting measurements the firmware makes to PCR 4 (“boot-loader-code”) if the specified binary is part of the UEFI boot process. Use this on boot loader binaries and suchlike. Use lock-uki (see below) for PE binaries that are unified kernel images (UKIs).

Expects a path to the PE binary as argument. If not specified, reads the binary from STDIN instead.

The pcrlock file to write must be specified via the –pcrlock= switch.

Added in version 255.

lock-uki [UKI], unlock-uki

Generates/removes a .pcrlock file based on the specified UKI PE binary. This is useful for predicting measurements the firmware makes to PCR 4 (“boot-loader-code”), and systemd-stub(7) makes to PCR 11 (“kernel-boot”), if the specified UKI is booted. This is a superset of lock-pe.

Expects a path to the UKI PE binary as argument. If not specified, reads the binary from STDIN instead.

The pcrlock file to write must be specified via the –pcrlock= switch.

Added in version 255.

lock-machine-id, unlock-machine-id

Generates/removes a .pcrlock file based on /etc/machine-id. This is useful for predicting measurements systemd-pcrmachine.service(8) makes to PCR 15 (“system-identity”).

This writes/removes the file /var/lib/pcrlock.d/820-machine-id.pcrlock.

Added in version 255.

lock-file-system [PATH], unlock-file-system [PATH]

Generates/removes a .pcrlock file based on file system identity. This is useful for predicting measurements [email protected](8) makes to PCR 15 (“system-identity”) for the root and /var/ file systems.

This writes/removes the files /var/lib/pcrlock.d/830-root-file-system.pcrlock and /var/lib/pcrlock.d/840-file-system-path.pcrlock.

Added in version 255.

lock-kernel-cmdline [FILE], unlock-kernel-cmdline

Generates/removes a .pcrlock file based on /proc/cmdline (or the specified file if given). This is useful for predicting measurements the Linux kernel makes to PCR 9 (“kernel-initrd”).

This writes/removes the file /var/lib/pcrlock.d/710-kernel-cmdline.pcrlock/generated.pcrlock.

Added in version 255.

lock-kernel-initrd FILE, unlock-kernel-initrd

Generates/removes a .pcrlock file based on a kernel initrd cpio archive. This is useful for predicting measurements the Linux kernel makes to PCR 9 (“kernel-initrd”). Do not use for systemd-stub UKIs, as the initrd is combined dynamically from various sources and hence does not take a single input, like this command.

This writes/removes the file /var/lib/pcrlock.d/720-kernel-initrd.pcrlock/generated.pcrlock.

Added in version 255.

lock-raw [FILE], unlock-raw

Generates/removes a .pcrlock file based on raw binary data. The data is either read from the specified file or from STDIN (if none is specified). This requires that –pcrs= is specified. The generated .pcrlock file is written to the file specified via –pcrlock= or to STDOUT (if none is specified).

Added in version 255.

OPTIONS

The following options are understood:

–raw-description

When displaying the TPM2 event log do not attempt to decode the records to provide a friendly event log description string. Instead, show the binary payload data in escaped form.

Added in version 255.

–pcr=

Specifies the PCR number to use. May be specified more than once to select multiple PCRs.

This is used by lock-raw and lock-pe to select the PCR to lock against.

If used with predict and make-policy this will override which PCRs to include in the prediction and policy. If unspecified this defaults to PCRs 0-5, 7, 11-15. Note that these commands will not include any PCRs in the prediction/policy (even if specified explicitly) if there are measurements in the event log that do not match the current PCR value, or there are unrecognized measurements in the event log, or components define measurements not seen in the event log.

Added in version 255.

–nv-index=

Specifies the NV index to store the policy in. Honoured by make-policy. If not specified the command will automatically pick a free NV index.

Added in version 255.

–components=

Takes a path to read *.pcrlock and *.pcrlock.d/*.pcrlock files from. May be used more than once to specify multiple such directories. If not specified defaults to /etc/pcrlock.d/, /run/pcrlock.d/, /var/lib/pcrlock.d/, /usr/local/pcrlock.d/, /usr/lib/pcrlock.d/.

Added in version 255.

–location=

Takes either a string or a colon-separated pair of strings. Configures up to which point in the sorted list of defined components to analyze/predict PCRs to. Typically, the systemd-pcrlock tool is invoked from a fully booted system after boot-up and before shutdown. This means various components that are defined for shutdown have not been measured yet, and should not be searched for. This option allows one to restrict which components are considered for analysis (taking only components before some point into account, ignoring components after them). The expected string is ordered against the filenames of the components defined. Any components with a lexicographically later name are ignored. This logic applies to the log, predict, and make-policy verbs. If a colon-separated pair of strings are specified then they select which phases of the boot to include in the prediction/policy. The first string defines where the first prediction shall be made, and the second string defines where the last prediction shall be made. All such predictions are then combined into one set.

If used with list-components the selected location range will be highlighted in the component list.

Defaults to “760-:940-”, which means the policies generated by default will basically cover the whole runtime of the OS userspace, from the initrd (as “760-” closely follows 750-enter-initrd.pcrlock) until (and including) the main runtime of the system (as “940-” is closely followed by 950-shutdown.pcrlock). See systemd.pcrlock(5) for a full list of well-known components, that illustrate where this range is placed by default.

Added in version 255.

–recovery-pin=

Takes one of “hide”, “show” or “query”. Defaults to “hide”. Honoured by make-policy. If “query”, will query the user for a PIN to unlock the TPM2 NV index with. If no policy was created before, this PIN is used to protect the newly allocated NV index. If a policy has been created before, the PIN is used to unlock write access to the NV index. If either “hide” or “show” is used, a PIN is automatically generated, and β€” only in case of “show” β€” displayed on screen. Regardless if user supplied or automatically generated, it is stored in encrypted form in the policy metadata file. The recovery PIN may be used to regain write access to an NV index in case the access policy became out of date.

Added in version 255.

–pcrlock=

Takes a file system path as argument. If specified overrides where to write the generated pcrlock data to. Honoured by the various lock-* commands. If not specified, a default path is generally used, as documented above.

Added in version 255.

–policy=

Takes a file system path as argument. If specified overrides where to write pcrlock policy metadata to. If not specified defaults to /var/lib/systemd/pcrlock.json.

Added in version 255.

–force

If specified with make-policy, the predicted policy will be written to the NV index even if it is detected to be the same as the previously stored one.

Added in version 255.

–entry-token=

Sets the boot entry token to use for the file name for the pcrlock policy credential in the EFI System Partition or XBOOTLDR partition. See the bootctl(1) option of the same regarding expected values. This switch has an effect on the make-policy command only.

Added in version 256.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd.pcrlock(5), systemd-cryptenroll(1), [email protected](8), systemd-repart(8), systemd-pcrmachine.service(8), systemd-creds(1), systemd-stub(7), bootctl(1)

NOTES

TCG Canonical Event Log Format (CEL-JSON)

https://trustedcomputinggroup.org/resource/canonical-event-log-format/

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

93 - Linux cli command update-smart-drivedb

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-smart-drivedb and provides detailed information about the command update-smart-drivedb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-smart-drivedb.

Copyright (C) 2013 Hannes von Haugwitz <[email protected]> Copyright (C) 2014-23 Christian Franke

SPDX-License-Identifier: GPL-2.0-or-later

$Id: update-smart-drivedb.8.in 5521 2023-07-24 16:44:49Z chrfranke $

NAME πŸ–₯️ update-smart-drivedb πŸ–₯️

smart-drivedb - update smartmontools drive database

SYNOPSIS

update-smart-drivedb [OPTIONS] [DESTFILE]

DESCRIPTION

[This man page is generated for the Linux version of smartmontools. It does not contain info specific to other platforms.]

update-smart-drivedb updates /var/lib/smartmontools/drivedb/drivedb.h or DESTFILE from branches/RELEASE_7_3_DRIVEDB of smartmontools SVN repository.

The tools used for downloading are either curl(1), wget(1), lynx(1), or svn(1).

The downloaded file is verified with OpenPGP/GPG key ID 721042C5. The public key block is included in the script.

The old file is kept if the downloaded file is identical (ignoring the differences in Id string) otherwise it is moved to drivedb.h.old.

[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] The old file is also kept if the downloaded file reports an older version on the same branch. This could be overridden with the –force option. If the branch version differs, the file is always updated.

OPTIONS

-s SMARTCTL, –smartctl SMARTCTL
Use the smartctl(8) executable at path SMARTCTL for drive database syntax check. The form -s - disables the syntax check. The default is /usr/sbin/smartctl.

-t [DIR/]TOOL, –tool [DIR/]TOOL
Use TOOL for download. TOOL is one of: curl wget lynx svn. The default is the first one found in PATH.
[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] A DIR could also be specified. The plain TOOL name must then begin with any of the above names.

-u LOCATION, –url-of LOCATION
Use URL of LOCATION for download. LOCATION is one of:
github (GitHub mirror of SVN repository),
sf (Sourceforge code browser),
svn (SVN repository),
svni (SVN repository via HTTP instead of HTTPS),
trac (Trac code browser).
The default is svn.

–url URL
[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Download from URL. A valid OpenPGP/GPG signature with .raw.asc extension must also exist unless –no-verify is also specified.

–file FILE
[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Copy from local FILE. A valid OpenPGP/GPG signature FILE.raw.asc must also exist unless –no-verify is also specified.

–install
[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Copy from originally installed drive database file. This is the same as:
–no-verify –file /usr/share/smartmontools/drivedb.h

–trunk
Download from SVN trunk. This requires –no-verify because the trunk versions are not signed.

–branch X.Y
Download from branches/RELEASE_X_Y_DRIVEDB. This also selects the OpenPGP/GPG key for older branches (5.40 to 6.6: Key ID DFD22559).

–cacert FILE
Use CA certificates from FILE to verify the peer.

–capath DIR
Use CA certificate files from DIR to verify the peer.

–insecure
Don’t abort download if certificate verification fails. This option is also required if a HTTP URL is selected with -u option.

–no-verify
Don’t verify signature with GnuPG.

–force
[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Allow downgrades. By default, the database is not replaced with an older version of the same branch.

–export-key
Print the OpenPGP/GPG public key block.

–dryrun
Print download commands only.

-q, –quiet
[NEW EXPERIMENTAL UPDATE-SMART-DRIVEDB 7.3 FEATURE] Suppress info messages.

-v, –verbose
Verbose output.

-h, –help
Print help text.

EXAMPLES

Regular update: 2020-01-01

Revert to previous version: # update-smart-drivedb –force \ –file /var/lib/smartmontools/drivedb/drivedb.h.old /var/lib/smartmontools/drivedb/drivedb.h 7.2/5237 downgraded to 7.2/5225

Download the database from SVN trunk to current directory: $ update-smart-drivedb –trunk –no-verify -s - -u trac drivedb-trunk.h drivedb-trunk.h 7.3/5254 newly installed (NOT VERIFIED)

EXIT STATUS

The exit status is 0 if the database has been successfully updated or is already up to date. If an error occurs the exit status is 1.

FILES

/usr/sbin/update-smart-drivedb
full path of this script.

/usr/sbin/smartctl
used to check syntax of new drive database.

/usr/share/smartmontools/drivedb.h
originally installed drive database.

/var/lib/smartmontools/drivedb/drivedb.h
current drive database.

/var/lib/smartmontools/drivedb/drivedb.h.raw
current drive database with unexpanded SVN Id string.

/var/lib/smartmontools/drivedb/drivedb.h.raw.asc
signature file.

/var/lib/smartmontools/drivedb/drivedb.h.*old*
previous files.

/var/lib/smartmontools/drivedb/drivedb.h.*error*
new files if rejected due to errors.

/var/lib/smartmontools/drivedb/drivedb.h.lastcheck
empty file created if downloaded file was identical.

AUTHORS

Christian Franke.
This manual page was originally written by Hannes von Haugwitz <[email protected]>.

REPORTING BUGS

To submit a bug report, create a ticket in smartmontools wiki:
<https://www.smartmontools.org/>.
Alternatively send the info to the smartmontools support mailing list:
<https://listi.jpberlin.de/mailman/listinfo/smartmontools-support>.

SEE ALSO

smartctl(8), smartd(8).

PACKAGE VERSION

smartmontools-7.4 2023-08-01 r5530
$Id: update-smart-drivedb.8.in 5521 2023-07-24 16:44:49Z chrfranke $

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

94 - Linux cli command vdpa-mgmtdev

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vdpa-mgmtdev and provides detailed information about the command vdpa-mgmtdev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vdpa-mgmtdev.

NAME πŸ–₯️ vdpa-mgmtdev πŸ–₯️

dev - vdpa management device view

SYNOPSIS

vdpa mgmtdev { COMMAND|* * help }

OPTIONS := { -V[ersion] }

vdpa mgmtdev show [ MGMTDEV ]

vdpa mgmtdev help

DESCRIPTION

vdpa mgmtdev show - display vdpa management device attributes

MGMTDEV - specifies the vdpa management device to show. If this argument is omitted all management devices are listed.

EXAMPLES

vdpa mgmtdev show

Shows all the vdpa management devices on the system.

vdpa mgmtdev show bar

Shows the specified vdpa management device.

SEE ALSO

vdpa(8), vdpa-dev(8),

AUTHOR

Parav Pandit <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

95 - Linux cli command tc-fq_pie

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-fq_pie and provides detailed information about the command tc-fq_pie, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-fq_pie.

NAME πŸ–₯️ tc-fq_pie πŸ–₯️

PIE - Flow Queue Proportional Integral controller Enhanced

SYNOPSIS

tc qdisc … fq_pie [ limit PACKETS ] [ flows NUMBER ]
[ target TIME ] [ tupdate TIME ]
[ alpha NUMBER ] [ beta NUMBER ]
[ quantum BYTES ] [ memory_limit BYTES ]
[ ecn_prob PERENTAGE ] [ [no]ecn ]
[ [no]bytemode ] [ [no_]dq_rate_estimator ]

DESCRIPTION

FQ-PIE (Flow Queuing with Proportional Integral controller Enhanced) is a queuing discipline that combines Flow Queuing with the PIE AQM scheme. FQ-PIE uses a Jenkins hash function to classify incoming packets into different flows and is used to provide a fair share of the bandwidth to all the flows using the qdisc. Each such flow is managed by the PIE algorithm.

ALGORITHM

The FQ-PIE algorithm consists of two logical parts: the scheduler which selects which queue to dequeue a packet from, and the PIE AQM which works on each of the queues. The major work of FQ-PIE is mostly in the scheduling part. The interaction between the scheduler and the PIE algorithm is straight forward.

During the enqueue stage, a hashing-based scheme is used, where flows are hashed into a number of buckets with each bucket having its own queue. The number of buckets is configurable, and presently defaults to 1024 in the implementation. The flow hashing is performed on the 5-tuple of source and destination IP addresses, port numbers and IP protocol number. Once the packet has been successfully classified into a queue, it is handed over to the PIE algorithm for enqueuing. It is then added to the tail of the selected queue, and the queue’s byte count is updated by the packet size. If the queue is not currently active (i.e., if it is not in either the list of new or the list of old queues) , it is added to the end of the list of new queues, and its number of credits is initiated to the configured quantum. Otherwise, the queue is left in its current queue list.

During the dequeue stage, the scheduler first looks at the list of new queues; for the queue at the head of that list, if that queue has a negative number of credits (i.e., it has already dequeued at least a quantum of bytes), it is given an additional quantum of credits, the queue is put onto the end of the list of old queues, and the routine selects the next queue and starts again. Otherwise, that queue is selected for dequeue again. If the list of new queues is empty, the scheduler proceeds down the list of old queues in the same fashion (checking the credits, and either selecting the queue for dequeuing, or adding credits and putting the queue back at the end of the list). After having selected a queue from which to dequeue a packet, the PIE algorithm is invoked on that queue.

Finally, if the PIE algorithm does not return a packet, then the queue must be empty and the scheduler does one of two things:

If the queue selected for dequeue came from the list of new queues, it is moved to the end of the list of old queues. If instead it came from the list of old queues, that queue is removed from the list, to be added back (as a new queue) the next time a packet arrives that hashes to that queue. Then (since no packet was available for dequeue), the whole dequeue process is restarted from the beginning.

If, instead, the scheduler did get a packet back from the PIE algorithm, it subtracts the size of the packet from the byte credits for the selected queue and returns the packet as the result of the dequeue operation.

PARAMETERS

limit

It is the limit on the queue size in packets. Incoming packets are dropped when the limit is reached. The default value is 10240 packets.

flows

It is the number of flows into which the incoming packets are classified. Due to the stochastic nature of hashing, multiple flows may end up being hashed into the same slot. Newer flows have priority over older ones. This parameter can be set only at load time since memory has to be allocated for the hash table. The default value is 1024.

target

It is the queue delay which the PIE algorithm tries to maintain. The default target delay is 15ms.

tupdate

It is the time interval at which the system drop probability is calculated. The default is 15ms.

alpha

beta

alpha and beta are parameters chosen to control the drop probability. These should be in the range between 0 and 32.

quantum

quantum signifies the number of bytes that may be dequeued from a queue before switching to the next queue in the deficit round robin scheme.

memory_limit

It is the maximum total memory allowed for packets of all flows. The default is 32Mb.

ecn_prob

It is the drop probability threshold below which packets will be ECN marked instead of getting dropped. The default is 10%. Setting this parameter requires ecn to be enabled.

[no]ecn

It has the same semantics as pie and can be used to mark packets instead of dropping them. If ecn has been enabled, noecn can be used to turn it off and vice-a-versa.

[no]bytemode

It is used to scale drop probability proportional to packet size bytemode to turn on bytemode, nobytemode to turn off bytemode. By default, bytemode is turned off.

[no_]dq_rate_estimator

dq_rate_estimator can be used to calculate queue delay using Little’s Law, no_dq_rate_estimator can be used to calculate queue delay using timestamp. By default, dq_rate_estimator is turned off.

EXAMPLES

# tc qdisc add dev eth0 root fq_pie
# tc -s qdisc show dev eth0
qdisc fq_pie 8001: root refcnt 2 limit 10240p flows 1024 target 15.0ms tupdate 16.0ms alpha 2 beta 20 quantum 1514b memory_limit 32Mb ecn_prob 10 Sent 159173586 bytes 105261 pkt (dropped 24, overlimits 0 requeues 0) backlog 75700b 50p requeues 0 pkts_in 105311 overlimit 0 overmemory 0 dropped 24 ecn_mark 0 new_flow_count 7332 new_flows_len 0 old_flows_len 4 memory_used 108800

# tc qdisc add dev eth0 root fq_pie dq_rate_estimator
# tc -s qdisc show dev eth0
qdisc fq_pie 8001: root refcnt 2 limit 10240p flows 1024 target 15.0ms tupdate 16.0ms alpha 2 beta 20 quantum 1514b memory_limit 32Mb ecn_prob 10 dq_rate_estimator Sent 8263620 bytes 5550 pkt (dropped 4, overlimits 0 requeues 0) backlog 805448b 532p requeues 0 pkts_in 6082 overlimit 0 overmemory 0 dropped 4 ecn_mark 0 new_flow_count 94 new_flows_len 0 old_flows_len 8 memory_used 1157632

SEE ALSO

tc(8), tc-pie(8), tc-fq_codel(8)

SOURCES

RFC 8033: https://tools.ietf.org/html/rfc8033

AUTHORS

FQ-PIE was implemented by Mohit P. Tahiliani. Please report corrections to the Linux Networking mailing list <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

96 - Linux cli command x86_64

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command x86_64 and provides detailed information about the command x86_64, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the x86_64.

NAME πŸ–₯️ x86_64 πŸ–₯️

change reported architecture in new program environment and/or set personality flags

SYNOPSIS

setarch [arch] [options] [program [argument…]]

setarch –list|-h|-V

arch [options] [program [argument…]]

DESCRIPTION

setarch modifies execution domains and process personality flags.

The execution domains currently only affects the output of uname -m. For example, on an AMD64 system, running setarch i386 program will cause program to see i686 instead of x86_64 as the machine type. It can also be used to set various personality options. The default program is /bin/sh.

Since version 2.33 the arch command line argument is optional and setarch may be used to change personality flags (ADDR_LIMIT_*, SHORT_INODE, etc) without modification of the execution domain.

OPTIONS

–list

List the architectures that setarch knows about. Whether setarch can actually set each of these architectures depends on the running kernel.

–show[=personality]

Show the currently active personality and flags. If the personality argument is provided, it is shown instead of the current one. personality is a hexadecimal number with values was described in sys/personality.h.

–uname-2.6

Causes the program to see a kernel version number beginning with 2.6. Turns on UNAME26.

-v, –verbose

Be verbose.

-3, –3gb

Specifies program should use a maximum of 3GB of address space. Supported on x86. Turns on ADDR_LIMIT_3GB.

–4gb

This option has no effect. It is retained for backward compatibility only, and may be removed in future releases.

-B, –32bit

Limit the address space to 32 bits to emulate hardware. Supported on ARM and Alpha. Turns on ADDR_LIMIT_32BIT.

-F, –fdpic-funcptrs

Treat user-space function pointers to signal handlers as pointers to address descriptors. This option has no effect on architectures that do not support FDPIC ELF binaries. In kernel v4.14 support is limited to ARM, Blackfin, Fujitsu FR-V, and SuperH CPU architectures.

-I, –short-inode

Obsolete bug emulation flag. Turns on SHORT_INODE.

-L, –addr-compat-layout

Provide legacy virtual address space layout. Use when the program binary does not have PT_GNU_STACK ELF header. Turns on ADDR_COMPAT_LAYOUT.

-R, –addr-no-randomize

Disables randomization of the virtual address space. Turns on ADDR_NO_RANDOMIZE.

-S, –whole-seconds

Obsolete bug emulation flag. Turns on WHOLE_SECONDS.

-T, –sticky-timeouts

This makes select(2), pselect(2), and ppoll(2) system calls preserve the timeout value instead of modifying it to reflect the amount of time not slept when interrupted by a signal handler. Use when program depends on this behavior. For more details see the timeout description in select(2) manual page. Turns on STICKY_TIMEOUTS.

-X, –read-implies-exec

If this is set then mmap(2) PROT_READ will also add the PROT_EXEC bit - as expected by legacy x86 binaries. Notice that the ELF loader will automatically set this bit when it encounters a legacy binary. Turns on READ_IMPLIES_EXEC.

-Z, –mmap-page-zero

SVr4 bug emulation that will set mmap(2) page zero as read-only. Use when program depends on this behavior, and the source code is not available to be fixed. Turns on MMAP_PAGE_ZERO.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXAMPLE

setarch –addr-no-randomize mytestprog setarch ppc32 rpmbuild –target=ppc –rebuild foo.src.rpm setarch ppc32 -v -vL3 rpmbuild –target=ppc –rebuild bar.src.rpm setarch ppc32 –32bit rpmbuild –target=ppc –rebuild foo.src.rpm

AUTHORS

SEE ALSO

personality(2), select(2)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The setarch command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

97 - Linux cli command update-xmlcatalog

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-xmlcatalog and provides detailed information about the command update-xmlcatalog, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-xmlcatalog.

NAME πŸ–₯️ update-xmlcatalog πŸ–₯️

xmlcatalog - maintain XML catalog files

SYNOPSIS

update-xmlcatalog –add –root –package package –type type –id id

update-xmlcatalog –del –root –package package –type type –id id

update-xmlcatalog –add –package package –local local –type type –id id

update-xmlcatalog –del –package package –local local –type type –id id

update-xmlcatalog –add –local local –file file –type type –id id

update-xmlcatalog –del –local local –file file –type type –id id

update-xmlcatalog –help

DESCRIPTION

update-xmlcatalog add entries to and removes entries from the root XML catalog file, a package XML catalog file or a local XML catalog file.

OPTIONS

–add
Adds the entry to the root XML catalog file, a package XML catalog file or a local XML catalog file. If the XML catalog file does not exist yet, it is automatically created.

–del
Deletes the entry from the root XML catalog file, the package XML catalog file or the local XML catalog file. A resulting empty XML catalog is not automatically deleted from the filesystem.

–file file
Indicates a local filename.

–id id
Indicates the XML catalog file entry identifier.

–local local
Indicates a local XML catalog file.

–package package
Indicates a package XML catalog file.

–root
Indicates the root XML catalog file.

–type type
Indicates the XML catalog file entry type (public, system, uri).

–help
Displays the usage information.

–verbose
Optional switch to make a verbose output.

–sort
Optional switch to sort the manipulated catalog content. Tip: To sort a catalog without adding or removing an item, just add an already existing item to the catalog.

NOTES

update-xmlcatalog is the de-facto standard tool to be used to maintain XML catalog files on a Debian system, similar to that update-catalog (8) is the standard tool to be used to main SGML catalog files on a Debian system. A Debian XML Policy document to this effect is currently under development.

update-xmlcatalog and xmlcatalog (1) are incompatible. The former has an internal database of all the entries in all the XML catalog files it maintains and regenerates the indicated XML catalog file completely from scratch upon an update. The latter updates the indicated XML catalog file directly. This means that any change made to an XML catalog file using xmlcatalog (1) is overwritten the next time that XML catalog file is updated using update-xmlcatalog.

SEE ALSO

/usr/share/doc/xml-core/README.Debian

AUTHOR

Ardo van Rangelrooij <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

98 - Linux cli command update-fonts-scale

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-fonts-scale and provides detailed information about the command update-fonts-scale, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-fonts-scale.

NAME πŸ–₯️ update-fonts-scale πŸ–₯️

fonts-scale - generate fonts.scale files

SYNOPSIS

update-fonts-scale [OPTION] directory …

DESCRIPTION

update-fonts-scale assembles a fonts.scale file in an X font directory using one or more scale files found in a subdirectory of /etc/X11/fonts/. It is typically invoked only from the post-installation and post-removal scripts of a package containing scalable fonts usable by the X Window System whose X LFD font names are not in the font files themselves, but may be invoked at any time to reconstruct fonts.scale files. For each directory, which is either an absolute path to an X font directory or (preferably) simply the last component of its path (such as β€˜75dpi’ or β€˜misc’), update-fonts-scale will assemble either /usr/lib/X11/fonts/directory/fonts.scale or /usr/share/fonts/X11/directory/fonts.scale from the index files found at /etc/X11/fonts/directory/package.scale, where package is the name of the package installing the fonts.

This enables multiple packages to provide names for fonts in the same directory. No font package actually provides the fonts.scale file in the X font directory itself, so there is no danger of overwriting one package’s font names with those of another.

For instance, the two packages β€˜xfonts-scalable’ (real) and β€˜xfonts-nifty’ (hypothetical) may both install fonts into the directory /usr/lib/X11/fonts/Type1. They each place their fonts.scale files in /etc/X11/fonts/Type1/xfonts-scalable.scale and /etc/X11/fonts/Type1/xfonts-nifty.scale (respectively). update-fonts-scale concatenates these two files (as well as any others that match /etc/X11/fonts/Type1/*.scale) into /usr/lib/X11/fonts/Type1/fonts.scale.

The format for fonts.scale files is given in the mkfontdir(1x) manual page.

An example of how to use update-fonts-scale in package maintainer scripts is provided in the Debian Policy Manual.

OPTIONS

-h, –help displays a brief usage message and exits.

OPERANDS

update-fonts-scale takes one or more X font directory names to operate on as operands. Only the final path component of the directory name should be specified; e.g.,

update-fonts-scale 75dpi

is correct, while β€˜update-fonts-scale /usr/X11R6/lib/X11/fonts/75dpi’ and β€˜update-fonts-scale /usr/lib/X11/fonts/75dpi’ are not.

ENVIRONMENT

COLUMNS
indicates the width of the terminal device in character cells. This value is used for formatting diagnostic messages. If not set, the terminal is queried using stty(1) to determine its width. If that fails, a value of β€˜80’ is assumed.

DEBUG
determines whether low-level diagnostic messages are issued to standard error output. A null (empty) or unset value indicates that they are not, and a non-null value indicates that they are.

DIAGNOSTICS

Errors

usage error: one or more font directories must be provided
update-fonts-scale was invoked without operands. Supply one or more X font directory names to operate on.

usage error: unrecognized option
update-fonts-scale was invoked with an unrecognized option argument. Use only the options documented in β€œOPTIONS”, above.

fatal error: path to X font directory must be used
A directory name was supplied that was not an X font directory name. Supply X font directory names only.

Warnings

warning: absolute path directory was provided
Usage of absolute paths is deprecated. Use only the final component of the X font directory name for directory.

warning: directory does not exist or is not a directory
The supplied directory was invalid. update-fonts-scale skipped it.

Notes

Notes are only displayed under special circumstances; see β€œENVIRONMENT”. above.

**note: index references nonexistent font file **filename
The index file /etc/X11/fonts/directory/package.scale, refers to a nonexistent font file, filename. This is normal when package has been removed, but not purged from the system. In other circumstances, it likely indicates an error in package.

EXIT STATUS

0
update-fonts-scale ran successfully.

1
update-fonts-scale experienced a fatal error; see the section on diagnostic messages above.

2
update-fonts-scale was invoked with invalid arguments.

BUGS

See the Debian Bug Tracking System ⟨URL: https://bugs.debian.org/xfonts-utils ⟩. If you wish to report a bug in update-fonts-scale, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.

AUTHOR

update-fonts-scale was written by Branden Robinson.

SEE ALSO

mkfontdir(1x)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

99 - Linux cli command update-inetd

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-inetd and provides detailed information about the command update-inetd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-inetd.

NAME πŸ–₯️ update-inetd πŸ–₯️

inetd - create, remove, enable or disable entry /etc/inetd.conf

SYNOPSIS

update-inetd [option…] command argument

DESCRIPTION

update-inetd can be used to add, remove, enable or disable entries in the /etc/inetd.conf file (you can specify a different file by using the –file option). After the /etc/inetd.conf file has been changed, update-inetd will send a SIGHUP signal to the inetd process to make sure that inetd will use the new /etc/inetd.conf file. For Perl scripts you can also use the Perl module DebianNet. See DebianNet (3pm) for further information. update-inetd can also be used to add entries that are commented out by default. They will be treated like normal entries. That also means that if you already have an entry that is commented out you cannot add an entry for the same service without removing the old one first.

In accordance with the Debian Policy, update-inetd treats entries that are prefixed with a single ‘#’ character as commented out by a user. This means that for a user to disable a service using update-inetd, and for the service to remain disabled after upgrades, the user must run update-inetd with –comment-chars ‘#’ (see relevant option below). Conversely, package maintainer scripts should not override the default comment chars (and when they do, they must not use ‘#’).

Also note that –enable and –remove will not be acted upon for service entries that are commented out using anything but the value specified with –comment-chars (or the default value if none is specified).

COMMANDS

–add entry-line
Add an entry to /etc/inetd.conf. A description of the entry-line format can be found in the inetd (8) or inetd.conf (5) manual pages (or just look at /etc/inetd.conf). In order to prevent the shell from changing your entry-line definition you have to quote the entry-line using single or double quotes. You can use tabs (tab character or ) and spaces to separate the fields of the entry-line. To add the entry-line to a specific section in the /etc/inetd.conf file please use the –group option. If you are trying to add an entry which already exists, update-inetd will not add the entry. For uncommented entries it will do nothing and for entries that are commented out by the comment-chars (see option –comment-chars) it will enable the existing entry. If you want to completely replace an entry just remove the entry with the –remove command first.

–remove entry-regex
Remove an entry-line matching entry-regex (e.g. “telnet”) from /etc/inetd.conf. The entry-regex will be anchored at the beginning of the entry line.

–enable service[,…]
Enable service (e.g. “ftp”) in /etc/inetd.conf. If you want to enable more than one service you can use a comma-separated list of services (no whitespace characters allowed).

–disable service[,…]
Disable service (e.g. “ftp”) in /etc/inetd.conf. If you want to disable more than one service you can use a comma-separated list of services (no whitespace characters allowed).

OPTIONS

–group groupname
Specify that the new entry should be placed in group groupname (e.g. “MAIL). If the group does not exist the entry will be placed at the end of the file. The default group is OTHER”. This option is only relevant with the –add command.

–pattern pattern
This option can be used to select a service. You only need this option if you have two (or more) services of the same name. This option is not relevant with the –add command.

–comment-chars characters
update-inetd uses “#<off># " as the default comment characters. You can use this option to specify different comment characters. This is only necessary if you have to deal with two (or more) services of the same name. If you do use this option, it is your responsibility to eventually remove the commented out entry.

–multi
If you want to disable/remove more than one entry at a time you should use this option. If you try to remove more than one entry at a time without using this option the program will show a warning and prompt the user for an explicit confirmation.

–file filename
Use filename instead of /etc/inetd.conf.

–verbose
Explain what is being done.

–debug
Enables debugging mode.

–help
Print a usage message on standard output and exit successfully.

–version
Print version information on standard output and exit successfully.

EXAMPLES

You have installed ssh (secure encrypting remote shell) and wish to disable its unencrypted cousins:

update-inetd –comment-chars # –disable login,shell,exec,telnet

Using a single ‘#’ character as a comment-char prevents update-inetd to re-enable the services on package upgrades.

You think the clock on your computer is often inaccurate and wish to make sure other computers cannot read it:

update-inetd –comment-chars # –disable time,daytime

You get the clock fixed:

update-inetd –enable time,daytime

You hear a rumor that inetd is easily crashed via a SYN attack against the time and daytime services, you want to turn off only their TCP versions, while leaving the analogous UDP services enabled:

update-inetd –comment-chars # –pattern tcp –disable time,daytime

You just finished writing a POP3 server and want to install the /etc/inetd.conf entry from the Makefile:

update-inetd –group MAIL –add \ pop-3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.pop3d

FILES

/etc/inetd.conf /run/inetd.pid

SEE ALSO

inetd (8), DebianNet (3pm).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

100 - Linux cli command systemd-random-seed

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-random-seed and provides detailed information about the command systemd-random-seed, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-random-seed.

NAME πŸ–₯️ systemd-random-seed πŸ–₯️

random-seed.service, systemd-random-seed - Load and save the OS system random seed at boot and shutdown

SYNOPSIS

systemd-random-seed.service

/usr/lib/systemd/systemd-random-seed

DESCRIPTION

systemd-random-seed.service is a service that loads an on-disk random seed into the kernel entropy pool during boot and saves it at shutdown. See random(4) for details. By default, no entropy is credited when the random seed is written into the kernel entropy pool, but this may be changed with $SYSTEMD_RANDOM_SEED_CREDIT, see below. On disk the random seed is stored in /var/lib/systemd/random-seed.

Note that this service runs relatively late during the early boot phase, i.e. generally after the initrd phase has finished and the /var/ file system has been mounted. Many system services require entropy much earlier than this β€” this service is hence of limited use for complex system. It is recommended to use a boot loader that can pass an initial random seed to the kernel to ensure that entropy is available from earliest boot on, for example systemd-boot(7), with its bootctl random-seed functionality.

When loading the random seed from disk, the file is immediately updated with a new seed retrieved from the kernel, in order to ensure no two boots operate with the same random seed. This new seed is retrieved synchronously from the kernel, which means the service will not complete start-up until the random pool is fully initialized. On entropy-starved systems this may take a while. This functionality is intended to be used as synchronization point for ordering services that require an initialized entropy pool to function securely (i.e. services that access /dev/urandom without any further precautions).

Care should be taken when creating OS images that are replicated to multiple systems: if the random seed file is included unmodified each system will initialize its entropy pool with the same data, and thus β€” if otherwise entropy-starved β€” generate the same or at least guessable random seed streams. As a safety precaution crediting entropy is thus disabled by default. It is recommended to remove the random seed from OS images intended for replication on multiple systems, in which case it is safe to enable entropy crediting, see below. Also see Safely Building Images[1].

See Random Seeds[2] for further information.

ENVIRONMENT

$SYSTEMD_RANDOM_SEED_CREDIT

By default, systemd-random-seed.service does not credit any entropy when loading the random seed. With this option this behaviour may be changed: it either takes a boolean parameter or the special string “force”. Defaults to false, in which case no entropy is credited. If true, entropy is credited if the random seed file and system state pass various superficial concisistency checks. If set to “force” entropy is credited, regardless of these checks, as long as the random seed file exists.

Added in version 243.

SEE ALSO

systemd(1), random(4), systemd-boot(7), systemd-stub(7), bootctl(4), systemd-boot-random-seed.service(8)

NOTES

Safely Building Images

https://systemd.io/BUILDING_IMAGES

Random Seeds

https://systemd.io/RANDOM_SEEDS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

101 - Linux cli command vfs_commit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_commit and provides detailed information about the command vfs_commit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_commit.

NAME πŸ–₯️ vfs_commit πŸ–₯️

flush dirty data at specified intervals

SYNOPSIS

vfs objects = commit

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_commit VFS module keeps track of the amount of data written to a file and synchronizes it to disk when a specified amount accumulates.

vfs_commit is useful in two circumstances. First, if you have very precious data, the impact of unexpected power loss can be minimized by a small commit:dthresh value. Secondly, write performance can be improved on some systems by flushing file data early and at regular intervals.

This module is stackable.

OPTIONS

commit:dthresh = BYTES

Synchronize file data each time the specified number of bytes has been written.

The following suffixes may be applied to BYTES:

Β·

K - BYTES is a number of kilobytes

Β·

M - BYTES is a number of megabytes

Β·

G - BYTES is a number of gigabytes

EXAMPLES

Synchronize the file data on the [precious] share after every 512 kilobytes (524288 bytes) of data is written:

    [precious]
	path = /data/precious
	vfs objects = commit
	commit:dthresh = 512K

CAVEATS

On some systems, the data synchronization performed by commit may reduce performance.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

102 - Linux cli command trafgen

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command trafgen and provides detailed information about the command trafgen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the trafgen.

NAME πŸ–₯️ trafgen πŸ–₯️

a fast, multithreaded network packet generator

SYNOPSIS

trafgen [options] [packet]

DESCRIPTION

trafgen is a fast, zero-copy network traffic generator for debugging, performance evaluation, and fuzz-testing. trafgen utilizes the packet(7) socket interface of Linux which postpones complete control over packet data and packet headers into the user space. It has a powerful packet configuration language, which is rather low-level and not limited to particular protocols. Thus, trafgen can be used for many purposes. Its only limitation is that it cannot mimic full streams resp. sessions. However, it is very useful for various kinds of load testing in order to analyze and subsequently improve systems behaviour under DoS attack scenarios, for instance.

trafgen is Linux specific, meaning there is no support for other operating systems, same as netsniff-ng(8), thus we can keep the code footprint quite minimal and to the point. trafgen makes use of packet(7) socket’s TX_RING interface of the Linux kernel, which is a mmap(2)’ed ring buffer shared between user and kernel space.

By default, trafgen starts as many processes as available CPUs, pins each of them to their respective CPU and sets up the ring buffer each in their own process space after having compiled a list of packets to transmit. Thus, this is likely the fastest one can get out of the box in terms of transmission performance from user space, without having to load unsupported or non-mainline third-party kernel modules. On Gigabit Ethernet, trafgen has a comparable performance to pktgen, the built-in Linux kernel traffic generator, except that trafgen is more flexible in terms of packet configuration possibilities. On 10-Gigabit-per-second Ethernet, trafgen might be slower than pktgen due to the user/kernel space overhead but still has a fairly high performance for out of the box kernels.

trafgen has the potential to do fuzz testing, meaning a packet configuration can be built with random numbers on all or certain packet offsets that are freshly generated each time a packet is sent out. With a built-in IPv4 ping, trafgen can send out an ICMP probe after each packet injection to the remote host in order to test if it is still responsive/alive. Assuming there is no answer from the remote host after a certain threshold of probes, the machine is considered dead and the last sent packet is printed together with the random seed that was used by trafgen. You might not really get lucky fuzz-testing the Linux kernel, but presumably there are buggy closed-source embedded systems or network driver’s firmware files that are prone to bugs, where trafgen could help in finding them.

trafgen’s configuration language is quite powerful, also due to the fact, that it supports C preprocessor macros. A stddef.h is being shipped with trafgen for this purpose, so that well known defines from Linux kernel or network programming can be reused. After a configuration file has passed the C preprocessor stage, it is processed by the trafgen packet compiler. The language itself supports a couple of features that are useful when assembling packets, such as built-in runtime checksum support for IP, UDP and TCP. Also it has an expression evaluator where arithmetic (basic operations, bit operations, bit shifting, …) on constant expressions is being reduced to a single constant on compile time. Other features are ‘‘fill’’ macros, where a packet can be filled with n bytes by a constant, a compile-time random number or run-time random number (as mentioned with fuzz testing). Also, netsniff-ng(8) is able to convert a pcap file into a trafgen configuration file, thus such a configuration can be further tweaked for a given scenario.

OPTIONS

-i <cfg|pcap|->, -c <cfg|->, –in <cfg|pcap|->, –conf <cfg|->
Defines the input configuration file that can either be passed as a normal plain text file or via stdin (’’-’’). Note that currently, if a configuration is passed through stdin, only 1 CPU will be used. It is also possible to specify PCAP file with .pcap extension via -i/–in option, by default packets will be sent at rate considering timestamp from PCAP file which might be reset via the -b or -t option.

-o <dev|.pcap|.cfg>, -d <dev|.pcap|.cfg>, –out <dev|.pcap|.cfg>, –dev <dev|.pcap|.cfg>
Defines the outgoing networking device such as eth0, wlan0 and others or a *.pcap or *.cfg file. Pcap and configuration files are identified by extension.

-p, –cpp
Pass the packet configuration to the C preprocessor before reading it into trafgen. This allows #define and #include directives (e.g. to include definitions from system headers) to be used in the trafgen configuration file.

-D <name>=<definition>, –define <name>=<definition>
Add macro definition for the C preprocessor to use it within trafgen file. This option is used in combination with the -p/–cpp option.

-J, –jumbo-support
By default trafgen’s ring buffer frames are of a fixed size of 2048 bytes. This means that if you’re expecting jumbo frames or even super jumbo frames to pass your line, then you will need to enable support for that with the help of this option. However, this has the disadvantage of a performance regression and a bigger memory footprint for the ring buffer.

-R, –rfraw
In case the output networking device is a wireless device, it is possible with trafgen to turn this into monitor mode and create a mon<X> device that trafgen will be transmitting on instead of wlan<X>, for instance. This enables trafgen to inject raw 802.11 frames. In case if the output is a pcap file the link type is set to 127 (ieee80211 radio tap).

-s <ipv4>, –smoke-test <ipv4>
In case this option is enabled, trafgen will perform a smoke test. In other words, it will probe the remote end, specified by an <ipv4> address, that is being ‘‘attacked’’ with trafgen network traffic, if it is still alive and responsive. That means, after each transmitted packet that has been configured, trafgen sends out ICMP echo requests and waits for an answer before it continues. In case the remote end stays unresponsive, trafgen assumes that the machine has crashed and will print out the content of the last packet as a trafgen packet configuration and the random seed that has been used in order to reproduce a possible bug. This might be useful when testing proprietary embedded devices. It is recommended to have a direct link between the host running trafgen and the host being attacked by trafgen.

-n <0|uint>, –num <0|uint>
Process a number of packets and then exit. If the number of packets is 0, then this is equivalent to infinite packets resp. processing until interrupted. Otherwise, a number given as an unsigned integer will limit processing.

-r, –rand
Randomize the packet selection of the configuration file. By default, if more than one packet is defined in a packet configuration, packets are scheduled for transmission in a round robin fashion. With this option, they are selected randomly instread.

-P <uint>, –cpus <uint>
Specify the number of processes trafgen shall fork(2) off. By default trafgen will start as many processes as CPUs that are online and pin them to each, respectively. Allowed value must be within interval [1,CPUs].

-t <time>, –gap <time>
Specify a static inter-packet timegap in seconds, milliseconds, microseconds, or nanoseconds: ‘’<num>s/ms/us/ns’’. If no postfix is given default to microseconds. If this option is given, then instead of packet(7)’s TX_RING interface, trafgen will use sendto(2) I/O for network packets, even if the <time> argument is 0. This option is useful for a couple of reasons:

1) comparison between sendto(2) and TX_RING performance, 2) low-traffic packet probing for a given interval, 3) ping-like debugging with specific payload patterns.

Furthermore, the TX_RING interface does not cope with interpacket gaps.

-b <rate>, –rate <rate>
Specify the packet send rate <num>pps/B/kB/MB/GB/kbit/Mbit/Gbit/KiB/MiB/GiB units. Like with the -t/–gap option, the packets are sent in slow mode.

-S <size>, –ring-size <size>
Manually define the TX_RING resp. TX_RING size in ‘’<num>KiB/MiB/GiB’’. By default the size is being determined based on the network connectivity rate.

-E <uint>, –seed <uint>
Manually set the seed for pseudo random number generator (PRNG) in trafgen. By default, a random seed from /dev/urandom is used to feed glibc’s PRNG. If that fails, it falls back to the unix timestamp. It can be useful to set the seed manually in order to be able to reproduce a trafgen session, e.g. after fuzz testing.

-u <uid>, –user <uid> resp. -g <gid>, –group <gid>
After ring setup, drop privileges to a non-root user/group combination.

-H, –prio-high
Set this process as a high priority process in order to achieve a higher scheduling rate resp. CPU time. This is however not the default setting, since it could lead to starvation of other processes, for example low priority kernel threads.

-A, –no-sock-mem
Do not change systems default socket memory setting during testrun. Default is to boost socket buffer memory during the test to:

/proc/sys/net/core/rmem_default:4194304 /proc/sys/net/core/wmem_default:4194304 /proc/sys/net/core/rmem_max:104857600 /proc/sys/net/core/wmem_max:104857600

-Q, –notouch-irq
Do not reassign the NIC’s IRQ CPU affinity settings.

-q, –qdisc-path
Since Linux 3.14, the kernel supports a socket option PACKET_QDISC_BYPASS, which trafgen enables by default. This options disables the qdisc bypass, and uses the normal send path through the kernel’s qdisc (traffic control) layer, which can be usefully for testing the qdisc path.

-V, –verbose
Let trafgen be more talkative and let it print the parsed configuration and some ring buffer statistics.

-e, –example
Show a built-in packet configuration example. This might be a good starting point for an initial packet configuration scenario.

-C, –no-cpu-stats
Do not print CPU time statistics on exit.

-v, –version
Show version information and exit.

-h, –help
Show user help and exit.

SYNTAX

trafgen’s packet configuration syntax is fairly simple. The very basic things one needs to know is that a configuration file is a simple plain text file where packets are defined. It can contain one or more packets. Packets are enclosed by opening ‘{’ and closing ‘}’ braces, for example:

{ /* packet 1 content goes here … */ } { /* packet 2 content goes here … */ }

Alternatively, packets can also be specified directly on the command line, using the same syntax as used in the configuration files.

When trafgen is started using multiple CPUs (default), then each of those packets will be scheduled for transmission on all CPUs by default. However, it is possible to tell trafgen to schedule a packet only on a particular CPU:

cpu(1): { /* packet 1 content goes here … */ } cpu(2-3): { /* packet 2 content goes here … */ }

Thus, in case we have a 4 core machine with CPU0-CPU3, packet 1 will be scheduled only on CPU1, packet 2 on CPU2 and CPU3. When using trafgen with –num option, then these constraints will still be valid and the packet is fairly distributed among those CPUs.

Packet content is delimited either by a comma or whitespace, or both:

{ 0xca, 0xfe, 0xba 0xbe }

Packet content can be of the following:

hex bytes: 0xca, xff decimal: 42 binary: 0b11110000, b11110000 octal: 011 character: ‘a’ string: “hello world” shellcode: “1ۍCοΏ½Ν€1οΏ½”

Thus, a quite useless packet configuration might look like this (one can verify this when running this with trafgen in combination with -V):

{ 0xca, 42, 0b11110000, 011, ‘a’, “hello world”, “1ۍCοΏ½Ν€1οΏ½” }

There are a couple of helper functions in trafgen’s language to make life easier to write configurations:

i) Fill with garbage functions:

byte fill function: fill(<content>, <times>): fill(0xca, 128) compile-time random: rnd(<times>): rnd(128), rnd() runtime random numbers: drnd(<times>): drnd(128), drnd() compile-time counter: seqinc(<start-val>, <increment>, <times>) seqdec(<start-val>, <decrement>, <times>) runtime counter (1byte): dinc(<min-val>, <max-val>, <increment>) ddec(<min-val>, <max-val>, <decrement>)

ii) Checksum helper functions (packet offsets start with 0):

IP/ICMP checksum: csumip/csumicmp(<off-from>, <off-to>) UDP checksum: csumudp(<off-iphdr>, <off-udpdr>) TCP checksum: csumtcp(<off-iphdr>, <off-tcphdr>) UDP checksum (IPv6): csumudp6(<off-ip6hdr>, <off-udpdr>) TCP checksum (IPv6): csumtcp6(<off-ip6hdr>, <off-tcphdr>)

iii) Multibyte functions, compile-time expression evaluation:

const8(<content>), c8(<content>), const16(<content>), c16(<content>), const32(<content>), c32(<content>), const64(<content>), c64(<content>)

These functions write their result in network byte order into the packet configuration, e.g. const16(0xaa) will result in ‘‘00 aa’’. Within c*() functions, it is possible to do some arithmetics: -,+,*,/,%,&,|,<<,>>,^ E.g. const16((((1<<8)+0x32)|0b110)*2) will be evaluated to ‘‘02 6c’’.

iv) Protocol header functions:

The protocol header functions allow to fill protocol header fields by using following generic syntax:

<proto>(<field>=<value>,<field2>=<value2>,…,<field3>,…)

If a field is not specified, then a default value will be used (usually 0). Protocol fields might be set in any order. However, the offset of the fields in the resulting packet is according to the respective protocol.

Each field might be set with a function which generates field value at runtime by increment or randomize it. For L3/L4 protocols the checksum is calculated automatically if the field was changed dynamically by specified function. The following field functions are supported:

dinc - increment field value at runtime. By default increment step is ‘1’. min and max parameters are used to increment field only in the specified range, by default original field value is used. If the field length is greater than 4 then last 4 bytes are incremented only (useful for MAC and IPv6 addresses):

<field> = dinc() | dinc(min, max) | dinc(min, max, step)

drnd - randomize field value at runtime. min and max parameters are used to randomize field only in the specified range:

<field> = drnd() | drnd(min, max)

Example of using dynamic functions:

{

eth(saddr=aa:bb:cc:dd:ee:ff, saddr=dinc()), ipv4(saddr=dinc()), udp(sport=dinc(1, 13, 2), dport=drnd(80, 100))

}

Fields might be further manipulated with a function at a specific offset:

<field>[<index>] | <field>[<index>:<length>]

<index> - relative field offset with range 0..<field.len> - 1

<length> - length/size of the value which will be set; either 1, 2 or 4 bytes (default: 1)

The <index> starts from the field’s first byte in network order.

The syntax is similar to the one used in pcap filters (man pcap-filter) for matching header field at a specified offset.

Examples of using field offset (showing the effect in a shortenet output from netsniff-ng):

1) trafgen -o lo –cpus 1 -n 3 ‘{ eth(da=11:22:33:44:55:66, da[0]=dinc()), tcp() }’

[ Eth MAC (00:00:00:00:00:00 => 11:22:33:44:55:66)

[ Eth MAC (00:00:00:00:00:00 => 12:22:33:44:55:66)

[ Eth MAC (00:00:00:00:00:00 => 13:22:33:44:55:66)

2) trafgen -o lo –cpus 1 -n 3 ‘{ ipv4(da=1.2.3.4, da[0]=dinc()), tcp() }’

[ IPv4 Addr (127.0.0.1 => 1.2.3.4)

[ IPv4 Addr (127.0.0.1 => 2.2.3.4)

[ IPv4 Addr (127.0.0.1 => 3.2.3.4)

All required lower layer headers will be filled automatically if they were not specified by the user. The headers will be filled in the order they were specified. Each header will be filled with some mimimum required set of fields.

Supported protocol headers:

Ethernet : eth(da=<mac>, sa=<mac>, type=<number>)

da|daddr - Destination MAC address (default: 00:00:00:00:00:00)

sa|saddr - Source MAC address (default: device MAC address)

etype|type|prot|proto - Ethernet type (default: 0)

PAUSE (IEEE 802.3X) : pause(code=<number>, time=<number>)

code - MAC Control opcode (default: 0x0001)

time - Pause time (default: 0)

By default Ethernet header is added with a fields:

Ethernet type - 0x8808

Destination MAC address - 01:80:C2:00:00:01

PFC : pfc(pri|prio(<number>)=<number>, time(<number>)=<number>)

code - MAC Control opcode (default: 0x0101)

pri|prio - Priority enable vector (default: 0)

pri|prio(<number>) - Enable/disable (0 - disable, 1 - enable) pause for priority <number> (default: 0)

time(<number>) - Set pause time for priority <number> (default: 0)

By default Ethernet header is added with a fields:

Ethernet type - 0x8808

Destination MAC address - 01:80:C2:00:00:01

VLAN : vlan(tpid=<number>, id=<number>, dei=<number>, tci=<number>, pcp=<number>, 1q, 1ad)

tpid|prot|proto - Tag Protocol Identifier (TPID) (default: 0x8100)

tci - Tag Control Information (TCI) field (VLAN Id + PCP + DEI) (default: 0)

dei|cfi - Drop Eligible Indicator (DEI), formerly Canonical Format Indicator (CFI) (default: 0)

pcp - Priority code point (PCP) (default: 0)

id - VLAN Identifier (default: 0)

1q - Set 802.1q header (TPID: 0x8100)

1ad - Set 802.1ad header (TPID: 0x88a8)

By default, if the lower level header is Ethernet, its EtherType is set to 0x8100 (802.1q).

MPLS : mpls(label=<number>, tc|exp=<number>, last=<number>, ttl=<number>)

label|lbl - MPLS label value (default: 0)

tclass|tc|exp - Traffic Class for QoS field (default: 0)

last - Bottom of stack S-flag (default: 1 for most last label)

ttl - Time To Live (TTL) (default: 0)

By default, if the lower level header is Ethernet, its EtherType is set to 0x8847 (MPLS Unicast). S-flag is set automatically to 1 for the last label and resets to 0 if the lower MPLS label was added after.

ARP : arp(htype=<number>, ptype=<number>, op=<request|reply|number>, request, reply, smac=<mac>, sip=<ip4_addr>, tmac=<mac>, tip=<ip4_addr>)

htype - ARP hardware type (default: 1 [Ethernet])

ptype - ARP protocol type (default: 0x0800 [IPv4])

op - ARP operation type (request/reply) (default: request)

req|request - ARP Request operation type

reply - ARP Reply operation type

smac|sha - Sender hardware (MAC) address (default: device MAC address)

sip|spa - Sender protocol (IPv4) address (default: device IPv4 address)

tmac|tha - Target hardware (MAC) address (default: 00:00:00:00:00:00)

tip|tpa - Target protocol (IPv4) address (default: device IPv4 address)

By default, the ARP operation field is set to request and the Ethernet destination MAC address is set to the broadcast address (ff:ff:ff:ff:ff:ff).

IPv4 : ip4|ipv4(ihl=<number>, ver=<number>, len=<number>, csum=<number>, ttl=<number>, tos=<number>, dscp=<number>, ecn=<number>,

id=<number>, flags=<number>, frag=<number>, df, mf, da=<ip4_addr>, sa=<ip4_addr>, prot[o]=<number>)

ver|version - Version field (default: 4)

ihl - Header length in number of 32-bit words (default: 5)

tos - Type of Service (ToS) field (default: 0)

dscp - Differentiated Services Code Point (DSCP, DiffServ) field (default: 0)

ecn - Explicit Congestion Notification (ECN) field (default: 0)

len|length - Total length of header and payload (calculated by default)

id - IPv4 datagram identification (default: 0)

flags - IPv4 flags value (DF, MF) (default: 0)

df - Don’t fragment (DF) flag (default: 0)

mf - More fragments (MF) flag (default: 0)

frag - Fragment offset field in number of 8 byte blocks (default: 0)

ttl - Time to live (TTL) field (default: 0)

csum - Header checksum (calculated by default)

sa|saddr - Source IPv4 address (default: device IPv4 address)

da|daddr - Destination IPv4 address (default: 0.0.0.0)

prot|proto - IPv4 protocol number (default: 0)

By default, if the lower level header is Ethernet, its EtherType field is set to 0x0800 (IPv4). If the lower level header is IPv4, its protocol field is set to 0x4 (IP-in-IP).

IPv6 : ip6|ipv6(ver=<number>, class=<number>, flow=<number> len=<number>, nexthdr=<number>, hoplimit=<number>,

da=<ip6_addr>, sa=<ip6_addr>)

ver|version - Version field (default: 6)

tc|tclass - Traffic class (default: 0)

fl|flow - Flow label (default: 0)

len|length - Payload length (calculated by default)

nh|nexthdr - Type of next header, i.e. transport layer protocol number (default: 0)

hl|hoplimit|ttl - Hop limit, i.e. time to live (default: 0)

sa|saddr - Source IPv6 address (default: device IPv6 address)

da|daddr - Destination IPv6 address (default: 0:0:0:0:0:0:0:0)

By default, if the lower level header is Ethernet, its EtherType field is set to 0x86DD (IPv6).

ICMPv4 : icmp4|icmpv4(type=<number>, code=<number>, echorequest, echoreply, csum=<number>, mtu=<number>, seq=<number>, id=<number>, addr=<ip4_addr>)

type - Message type (default: 0 - Echo reply)

code - Message code (default: 0)

echorequest - ICMPv4 echo (ping) request (type: 8, code: 0)

echoreply - ICMPv4 echo (ping) reply (type: 0, code: 0)

csum - Checksum of ICMPv4 header and payload (calculated by default)

mtu - Next-hop MTU field used in ‘Datagram is too big’ message type (default; 0)

seq - Sequence number used in Echo/Timestamp/Address mask messages (default: 0)

id - Identifier used in Echo/Timestamp/Address mask messages (default: 0)

addr - IPv4 address used in Redirect messages (default: 0.0.0.0)

Example ICMP echo request (ping):

{ icmpv4(echorequest, seq=1, id=1326) }

ICMPv6 : icmp6|icmpv6(type=<number>, echorequest, echoreply, code=<number>, csum=<number>)

type - Message type (default: 0)

code - Code (default: 0)

echorequest - ICMPv6 echo (ping) request

echoreply - ICMPv6 echo (ping) reply

csum - Message checksum (calculated by default)

By default, if the lower level header is IPv6, its Next Header field is set to 58 (ICMPv6).

UDP : udp(sp=<number>, dp=<number>, len=<number>, csum=<number>)

sp|sport - Source port (default: 0)

dp|dport - Destination port (default: 0)

len|length - Length of UDP header and data (calculated by default)

csum - Checksum field over IPv4 pseudo header (calculated by default)

By default, if the lower level header is IPv4, its protocol field is set to 0x11 (UDP).

TCP : tcp(sp=<number>, dp=<number>, seq=<number>, aseq|ackseq=<number>, doff|hlen=<number>, cwr, ece|ecn, urg, ack, psh, rst, syn, fin, win|window=<number>, csum=<number>, urgptr=<number>)

sp|sport - Source port (default: 0)

dp|dport - Destination port (default: 0)

seq - Sequence number (default: 0)

aseq|ackseq - Acknowledgement number (default: 0)

doff|hlen - Header size (data offset) in number of 32-bit words (default: 5)

cwr - Congestion Window Reduced (CWR) flag (default: 0)

ece|ecn - ECN-Echo (ECE) flag (default: 0)

urg - Urgent flag (default: 0)

ack - Acknowledgement flag (default: 0)

psh - Push flag (default: 0)

rst - Reset flag (default: 0)

syn - Synchronize flag (default: 0)

fin - Finish flag (default: 0)

win|window - Receive window size (default: 0)

csum - Checksum field over IPv4 pseudo header (calculated by default)

urgptr - Urgent pointer (default: 0)

By default, if the lower level header is IPv4, its protocol field is set to 0x6 (TCP).

Simple example of a UDP Echo packet:

{ eth(da=11:22:33:44:55:66), ipv4(daddr=1.2.3.4) udp(dp=7), “Hello world” }

Furthermore, there are two types of comments in trafgen configuration files:

1. Multi-line C-style comments: /* put comment here */ 2. Single-line Shell-style comments: # put comment here

Next to all of this, a configuration can be passed through the C preprocessor before the trafgen compiler gets to see it with option –cpp. To give you a taste of a more advanced example, run ‘’trafgen -e’’, fields are commented:

/* Note: dynamic elements make trafgen slower! */ #include <stddef.h>

{ /* MAC Destination */ fill(0xff, ETH_ALEN), /* MAC Source */ 0x00, 0x02, 0xb3, drnd(3), /* IPv4 Protocol */ c16(ETH_P_IP), /* IPv4 Version, IHL, TOS */ 0b01000101, 0, /* IPv4 Total Len */ c16(59), /* IPv4 Ident */ drnd(2), /* IPv4 Flags, Frag Off */ 0b01000000, 0, /* IPv4 TTL */ 64, /* Proto TCP */ 0x06, /* IPv4 Checksum (IP header from, to) */ csumip(14, 33), /* Source IP */ drnd(4), /* Dest IP */ drnd(4), /* TCP Source Port */ drnd(2), /* TCP Dest Port */ c16(80), /* TCP Sequence Number */ drnd(4), /* TCP Ackn. Number */ c32(0), /* TCP Header length + TCP SYN/ECN Flag */ c16((8 << 12) | TCP_FLAG_SYN | TCP_FLAG_ECE) /* Window Size */ c16(16), /* TCP Checksum (offset IP, offset TCP) */ csumtcp(14, 34), /* TCP Options */ 0x00, 0x00, 0x01, 0x01, 0x08, 0x0a, 0x06, 0x91, 0x68, 0x7d, 0x06, 0x91, 0x68, 0x6f, /* Data blob */ “gotcha!”, }

Another real-world example by Jesper Dangaard Brouer [1]:

{ # — ethernet header — 0x00, 0x1b, 0x21, 0x3c, 0x9d, 0xf8, # mac destination 0x90, 0xe2, 0xba, 0x0a, 0x56, 0xb4, # mac source const16(0x0800), # protocol # — ip header — # ipv4 version (4-bit) + ihl (4-bit), tos 0b01000101, 0, # ipv4 total len const16(40), # id (note: runtime dynamic random) drnd(2), # ipv4 3-bit flags + 13-bit fragment offset # 001 = more fragments 0b00100000, 0, 64, # ttl 17, # proto udp # dynamic ip checksum (note: offsets are zero indexed) csumip(14, 33), 192, 168, 51, 1, # source ip 192, 168, 51, 2, # dest ip # — udp header — # as this is a fragment the below stuff does not matter too much const16(48054), # src port const16(43514), # dst port const16(20), # udp length # udp checksum can be dyn calc via csumudp(offset ip, offset tcp) # which is csumudp(14, 34), but for udp its allowed to be zero const16(0), # payload ‘A’, fill(0x41, 11), }

[1] https://marc.info/?l=linux-netdev&m=135903630614184

The above example rewritten using the header generation functions:

{ # — ethernet header — eth(da=00:1b:21:3c:9d:f8, da=90:e2:ba:0a:56:b4) # — ip header — ipv4(id=drnd(), mf, ttl=64, sa=192.168.51.1, da=192.168.51.2) # — udp header — udp(sport=48054, dport=43514, csum=0) # payload ‘A’, fill(0x41, 11), }

USAGE EXAMPLE

trafgen –dev eth0 –conf trafgen.cfg
This is the most simple and, probably, the most common use of trafgen. It will generate traffic defined in the configuration file ‘’trafgen.cfg’’ and transmit this via the ‘’eth0’’ networking device. All online CPUs are used.

trafgen -e | trafgen -i - -o lo –cpp -n 1
This is an example where we send one packet of the built-in example through the loopback device. The example configuration is passed via stdin and also through the C preprocessor before trafgen’s packet compiler will see it.

trafgen –dev eth0 –conf fuzzing.cfg –smoke-test 10.0.0.1
Read the ‘‘fuzzing.cfg’’ packet configuration file (which contains drnd() calls) and send out the generated packets to the ‘’eth0’’ device. After each sent packet, ping probe the attacked host with address 10.0.0.1 to check if it’s still alive. This also means, that we utilize 1 CPU only, and do not use the TX_RING, but sendto(2) packet I/O due to ‘‘slow mode’’.

trafgen –dev wlan0 –rfraw –conf beacon-test.txf -V –cpus 2
As an output device ‘‘wlan0’’ is used and put into monitoring mode, thus we are going to transmit raw 802.11 frames through the air. Use the ‘‘beacon-test.txf’’ configuration file, set trafgen into verbose mode and use only 2 CPUs.

trafgen –dev em1 –conf frag_dos.cfg –rand –gap 1000us
Use trafgen in sendto(2) mode instead of TX_RING mode and sleep after each sent packet a static timegap for 1000us. Generate packets from ‘‘frag_dos.cfg’’ and select next packets to send randomly instead of a round-robin fashion. The output device for packets is ‘’em1’’.

trafgen –dev eth0 –conf icmp.cfg –rand –num 1400000 -k1000
Send only 1400000 packets using the ‘‘icmp.cfg’’ configuration file and then exit trafgen. Select packets randomly from that file for transmission and send them out via ‘’eth0’’. Also, trigger the kernel every 1000us for batching the ring frames from user space (default is 10us).

trafgen –dev eth0 –conf tcp_syn.cfg -u `id -u bob` -g `id -g bob`
Send out packets generated from the configuration file ‘’tcp_syn.cfg’’ via the ‘’eth0’’ networking device. After setting up the ring for transmission, drop credentials to the non-root user/group bob/bob.

trafgen –dev eth0 ‘{ fill(0xff, 6), 0x00, 0x02, 0xb3, rnd(3), c16(0x0800), fill(0xca, 64) }’ -n 1
Send out 1 invaid IPv4 packet built from command line to all hosts.

NOTE

trafgen can saturate a Gigabit Ethernet link without problems. As always, of course, this depends on your hardware as well. Not everywhere where it says Gigabit Ethernet on the box, will you reach almost physical line rate! Please also read the netsniff-ng(8) man page, section NOTE for further details about tuning your system e.g. with tuned(8).

If you intend to use trafgen on a 10-Gbit/s Ethernet NIC, make sure you are using a multiqueue tc(8) discipline, and make sure that the packets you generate with trafgen will have a good distribution among tx_hashes so that you’ll actually make use of multiqueues.

For introducing bit errors, delays with random variation and more, there is no built-in option in trafgen. Rather, one should reuse existing methods for that which integrate nicely with trafgen, such as tc(8) with its different disciplines, i.e. netem.

For more complex packet configurations, it is recommended to use high-level scripting for generating trafgen packet configurations in a more automated way, i.e. also to create different traffic distributions that are common for industrial benchmarking:

Traffic model Distribution

IMIX 64:7, 570:4, 1518:1 Tolly 64:55, 78:5, 576:17, 1518:23 Cisco 64:7, 594:4, 1518:1 RPR Trimodal 64:60, 512:20, 1518:20 RPR Quadrimodal 64:50, 512:15, 1518:15, 9218:20

The low-level nature of trafgen makes trafgen rather protocol independent and therefore useful in many scenarios when stress testing is needed, for instance. However, if a traffic generator with higher level packet descriptions is desired, netsniff-ng’s mausezahn(8) can be of good use as well.

For smoke/fuzz testing with trafgen, it is recommended to have a direct link between the host you want to analyze (‘‘victim’’ machine) and the host you run trafgen on (‘‘attacker’’ machine). If the ICMP reply from the victim fails, we assume that probably its kernel crashed, thus we print the last sent packet together with the seed and quit probing. It might be very unlikely to find such a ping-of-death on modern Linux systems. However, there might be a good chance to find it on some proprietary (e.g. embedded) systems or buggy driver firmwares that are in the wild. Also, fuzz testing can be done on raw 802.11 frames, of course. In case you find a ping-of-death, please mention that you were using trafgen in your commit message of the fix!

BUGS

For old trafgen versions only, there could occur kernel crashes: we have fixed this bug in the mainline and stable kernels under commit 7f5c3e3a8 (‘‘af_packet: remove BUG statement in tpacket_destruct_skb’’) and also in trafgen.

Probably the best is if you upgrade trafgen to the latest version.

LEGAL

trafgen is licensed under the GNU GPL version 2.0.

HISTORY

trafgen was originally written for the netsniff-ng toolkit by Daniel Borkmann. It is currently maintained by Tobias Klauser <[email protected]> and Daniel Borkmann <[email protected]>.

SEE ALSO

netsniff-ng(8), mausezahn(8), ifpps(8), bpfc(8), flowtop(8), astraceroute(8), curvetun(8)

AUTHOR

Manpage was written by Daniel Borkmann.

COLOPHON

This page is part of the Linux netsniff-ng toolkit project. A description of the project, and information about reporting bugs, can be found at http://netsniff-ng.org/.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

103 - Linux cli command vfs_recycle

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_recycle and provides detailed information about the command vfs_recycle, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_recycle.

NAME πŸ–₯️ vfs_recycle πŸ–₯️

Samba VFS recycle bin

SYNOPSIS

vfs objects = recycle

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_recycle intercepts file deletion requests and moves the affected files to a temporary repository rather than deleting them immediately. This gives the same effect as the Recycle Bin on Windows computers.

The Recycle Bin will not appear in Windows Explorer views of the network file system (share) nor on any mapped drive. Instead, a directory called .recycle will be automatically created when the first file is deleted and recycle:repository is not configured. If recycle:repository is configured, the name of the created directory depends on recycle:repository. Users can recover files from the recycle bin. If the recycle:keeptree option has been specified, deleted files will be found in a path identical with that from which the file was deleted.

This module is stackable.

OPTIONS

recycle:repository = PATH

Path of the directory where deleted files should be moved.

If this option is not set, the default path .recycle is used.

recycle:directory_mode = MODE

Set MODE to the octal mode the recycle repository should be created with. The recycle repository will be created when first file is deleted. If recycle:subdir_mode is not set, MODE also applies to subdirectories.

If this option is not set, the default mode 0700 is used.

recycle:subdir_mode = MODE

Set MODE to the octal mode with which sub directories of the recycle repository should be created.

If this option is not set, subdirectories will be created with the mode from recycle:directory_mode.

recycle:keeptree = BOOL

Specifies whether the directory structure should be preserved or whether the files in a directory that is being deleted should be kept separately in the repository.

recycle:versions = BOOL

If this option is True, two files with the same name that are deleted will both be kept in the repository. Newer deleted versions of a file will be called “Copy #x of filename”.

recycle:touch = BOOL

Specifies whether a files access date should be updated when the file is moved to the repository.

recycle:touch_mtime = BOOL

Specifies whether a files last modified date should be updated when the file is moved to the repository.

recycle:minsize = BYTES

Files that are smaller than the number of bytes specified by this parameter will not be put into the repository.

recycle:maxsize = BYTES

Files that are larger than the number of bytes specified by this parameter will not be put into the repository.

recycle:exclude = LIST

List of files that should not be put into the repository when deleted, but deleted in the normal way. Wildcards such as * and ? are supported.

recycle:exclude_dir = LIST

List of directories whose files should not be put into the repository when deleted, but deleted in the normal way. Wildcards such as * and ? are supported.

recycle:noversions = LIST

Specifies a list of paths (wildcards such as * and ? are supported) for which no versioning should be used. Only useful when recycle:versions is enabled.

EXAMPLES

Move files “deleted” on share to /data/share/.recycle instead of deleting them:

    [share]
	path = /data/share
	vfs objects = recycle
	recycle:repository = .recycle
	recycle:keeptree = yes
	recycle:versions = yes

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

104 - Linux cli command systemd-pcrphase.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pcrphase.service and provides detailed information about the command systemd-pcrphase.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pcrphase.service.

NAME πŸ–₯️ systemd-pcrphase.service πŸ–₯️

pcrphase.service, systemd-pcrphase-sysinit.service, systemd-pcrphase-initrd.service, systemd-pcrmachine.service, systemd-pcrfs-root.service, [email protected], systemd-pcrextend - Measure boot phase into TPM2 PCR 11, machine ID and file system identity into PCR 15

SYNOPSIS

systemd-pcrphase.service

systemd-pcrphase-sysinit.service

systemd-pcrphase-initrd.service

systemd-pcrmachine.service

systemd-pcrfs-root.service

[email protected]

/usr/lib/systemd/systemd-pcrextend [STRING]

DESCRIPTION

systemd-pcrphase.service, systemd-pcrphase-sysinit.service, and systemd-pcrphase-initrd.service are system services that measure specific strings into TPM2 PCR 11 during boot at various milestones of the boot process.

systemd-pcrmachine.service is a system service that measures the machine ID (see machine-id(5)) into PCR 15.

systemd-pcrfs-root.service and [email protected] are services that measure file system identity information (i.e. mount point, file system type, label and UUID, partition label and UUID) into PCR 15. systemd-pcrfs-root.service does so for the root file system, [email protected] is a template unit that measures the file system indicated by its instance identifier instead.

These services require systemd-stub(7) to be used in a unified kernel image (UKI). They execute no operation when the stub has not been used to invoke the kernel. The stub will measure the invoked kernel and associated vendor resources into PCR 11 before handing control to it; once userspace is invoked these services then will extend TPM2 PCR 11 with certain literal strings indicating phases of the boot process. During a regular boot process PCR 11 is extended with the following strings:

1.

“enter-initrd” β€” early when the initrd initializes, before activating system extension images for the initrd. It acts as a barrier between the time where the kernel initializes and where the initrd starts operating and enables system extension images, i.e. code shipped outside of the UKI. (This extension happens when the systemd-pcrphase-initrd.service(8) service is started.)

2.

“leave-initrd” β€” when the initrd is about to transition into the host file system. It acts as barrier between initrd code and host OS code. (This extension happens when the systemd-pcrphase-initrd.service service is stopped.)

3.

“sysinit” β€” when basic system initialization is complete (which includes local file systems having been mounted), and the system begins starting regular system services. (This extension happens when the systemd-pcrphase-sysinit.service(8) service is started.)

4.

“ready” β€” during later boot-up, after remote file systems have been activated (i.e. after remote-fs.target), but before users are permitted to log in (i.e. before systemd-user-sessions.service). It acts as barrier between the time where unprivileged regular users are still prohibited to log in and where they are allowed to log in. (This extension happens when the systemd-pcrphase.service service is started.)

5.

“shutdown” β€” when the system shutdown begins. It acts as barrier between the time the system is fully up and running and where it is about to shut down. (This extension happens when the systemd-pcrphase.service service is stopped.)

6.

“final” β€” at the end of system shutdown. It acts as barrier between the time the service manager still runs and when it transitions into the final shutdown phase where service management is not available anymore. (This extension happens when the systemd-pcrphase-sysinit.service(8) service is stopped.)

During a regular system lifecycle, PCR 11 is extended with the strings “enter-initrd”, “leave-initrd”, “sysinit”, “ready”, “shutdown”, and “final”.

Specific phases of the boot process may be referenced via the series of strings measured, separated by colons (the “phase path”). For example, the phase path for the regular system runtime is “enter-initrd:leave-initrd:sysinit:ready”, while the one for the initrd is just “enter-initrd”. The phase path for the boot phase before the initrd is an empty string; because thats hard to pass around a single colon (":") may be used instead. Note that the aforementioned six strings are just the default strings and individual systems might measure other strings at other times, and thus implement different and more fine-grained boot phases to bind policy to.

By binding policy of TPM2 objects to a specific phase path it is possible to restrict access to them to specific phases of the boot process, for example making it impossible to access the root file systems encryption key after the system transitioned from the initrd into the host root file system.

Use systemd-measure(1) to pre-calculate expected PCR 11 values for specific boot phases (via the –phase= switch).

systemd-pcrfs-root.service and [email protected] are automatically pulled into the initial transaction by systemd-gpt-auto-generator(8) for the root and /var/ file systems. systemd-fstab-generator(8) will do this for all mounts with the x-systemd.pcrfs mount option in /etc/fstab.

OPTIONS

The /usr/lib/systemd/system-pcrextend executable may also be invoked from the command line, where it expects the word to extend into PCR 11, as well as the following switches:

–bank=

Takes the PCR banks to extend the specified word into. If not specified the tool automatically determines all enabled PCR banks and measures the word into all of them.

Added in version 252.

–pcr=

Takes the index of the PCR to extend. If –machine-id or –file-system= are specified defaults to 15, otherwise defaults to 11.

Added in version 255.

**–tpm2-device=**PATH

Controls which TPM2 device to use. Expects a device node path referring to the TPM2 chip (e.g. /dev/tpmrm0). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a suitable TPM2 device (of which there must be exactly one). The special value “list” may be used to enumerate all suitable TPM2 devices currently discovered.

Added in version 252.

–graceful

If no TPM2 firmware, kernel subsystem, kernel driver or device support is found, exit with exit status 0 (i.e. indicate success). If this is not specified any attempt to measure without a TPM2 device will cause the invocation to fail.

Added in version 253.

–machine-id

Instead of measuring a word specified on the command line into PCR 11, measure the hosts machine ID into PCR 15.

Added in version 253.

–file-system=

Instead of measuring a word specified on the command line into PCR 11, measure identity information of the specified file system into PCR 15. The parameter must be the path to the established mount point of the file system to measure.

Added in version 253.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

FILES

/run/log/systemd/tpm2-measure.log

Measurements are logged into an event log file maintained in /run/log/systemd/tpm2-measure.log, which contains a JSON-SEQ[1] series of objects that follow the general structure of the TCG Canonical Event Log Format (CEL-JSON)[2] event objects (but lack the “recnum” field).

A LOCK_EX BSD file lock (flock(2)) on the log file is acquired while the measurement is made and the file is updated. Thus, applications that intend to acquire a consistent quote from the TPM with the associated snapshot of the event log should acquire a LOCK_SH lock while doing so.

Added in version 252.

SEE ALSO

systemd(1), systemd-stub(7), systemd-measure(1), systemd-gpt-auto-generator(8), systemd-fstab-generator(8), TPM2 PCR Measurements Made by systemd[3]

NOTES

JSON-SEQ

https://www.rfc-editor.org/rfc/rfc7464.html

TCG Canonical Event Log Format (CEL-JSON)

https://trustedcomputinggroup.org/resource/canonical-event-log-format/

TPM2 PCR Measurements Made by systemd

https://systemd.io/TPM2_PCR_MEASUREMENTS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

105 - Linux cli command systemd-user-sessions.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-user-sessions.service and provides detailed information about the command systemd-user-sessions.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-user-sessions.service.

NAME πŸ–₯️ systemd-user-sessions.service πŸ–₯️

user-sessions.service, systemd-user-sessions - Permit user logins after boot, prohibit user logins at shutdown

SYNOPSIS

systemd-user-sessions.service

/usr/lib/systemd/systemd-user-sessions

DESCRIPTION

systemd-user-sessions.service is a service that controls user logins through pam_nologin(8). After basic system initialization is complete, it removes /run/nologin, thus permitting logins. Before system shutdown, it creates /run/nologin, thus prohibiting further logins.

SEE ALSO

systemd(1), systemd-logind.service(8), pam_nologin(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

106 - Linux cli command update-exim4.conf.template

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-exim4.conf.template and provides detailed information about the command update-exim4.conf.template, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-exim4.conf.template.

NAME πŸ–₯️ update-exim4.conf.template πŸ–₯️

exim4.conf.template - Regenerate exim4 configuration file template.

SYNOPSIS

update-exim4.conf.template [-h|–help] [-n|–nobackup] [-o|–output file] [-r|–run]

OPTIONS

-h|–help
Show short help message and exit

-n|–nobackup
Overwrite existing file, instead of keeping it as /etc/exim4/exim4.conf.template.bak.random-number

-o|–output file
Write output to file instead of /etc/exim4/exim4.conf.template.

-r|–run
Actually do something. If this option is not specified update-exim4.conf.template will exit immediately. This option was introduced because update-exim4.conf.template overwrites configuration files.

DESCRIPTION

The script update-exim4.conf.template regenerates the main configuration file template /etc/exim4/exim4.conf.template from the configuration snippets in the /etc/exim4/conf.d directory tree.

This process will overwrite all local changes in /etc/exim4/exim4.conf.template and might be useful if there are local changes in the /etc/exim4/conf.d directory tree, for example by a new mail related package dropping its own configuration snippets in there.

update-exim4.conf.template ignores all files in the conf.d directory that have a filename which does not consist only of letters, numbers, underscores and hyphens ([:alnum:]_-), similar to run-parts(8). For easy interaction with packages extending Exim additionally /etc/exim4/conf.d/foo/bar.rul is used instead of /etc/exim4/conf.d/foo/bar if it exists!

ENVIRONMENT

If CONFDIR is set update-exim4.conf.template will search for the input files below $CONFDIR/conf.d instead of /etc/exim4/conf.d/ and will write the output to $CONFDIR/exim4.conf.template instead of to /etc/exim4/exim4.conf.template (unless overridden with -o or –output).

BUGS

This manual page needs a major re-work. If somebody knows better groff than us and has more experience in writing manual pages, any patches would be greatly appreciated.

SEE ALSO

exim4(8), /usr/share/doc/exim4-base/ and for general notes and details about interaction with debconf /usr/share/doc/exim4-base/README.Debian.gz

AUTHOR

Marc Haber <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

107 - Linux cli command tcpick

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpick and provides detailed information about the command tcpick, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpick.

NAME πŸ–₯️ tcpick πŸ–₯️

tcp stream sniffer and connection tracker

SYNOPSIS

tcpick [ -a ] [ -n ] [ -C ]

[ -e count ]

[ -i interface | -r file ]

[ -X timeout ]

[ -D ] [ -F1 | -F2 ]

[ -yH | -yP | -yR | -yU | -yx | -yX ]

[ -bH | -bP | -bR | -bU | -bx | -bX ]

[ -wH[ub] | -wP[ub] | -wR[ub] | -wU[ub] ]

[ -v [ verbosity ]] [ -S ] [ -h ]

[ –separator ]

[ -T | -Tf [ number ]]

[ -E | -Ef [ number ]]

[ -Pc | -Ps ]

[ “filter” ]

[ –help ] [ –version ]

DESCRIPTION

tcpick is a textmode sniffer libpcap-based that can track tcp streams and saves the data captured in different files, each for every connection, or displays them in the terminal in different formats (hexdump, printable characters, raw…) Useful for picking files in a passive way. It is useful to keep track of what users of a network are doing, and is usable with textmode tools like grep, sed, awk. Happy data hunting :-)

BASE OPTIONS

-i –interface interface
listen on selected interface, (i.e. ppp0 or eth0). If option -i is omitted, tcpick is able to select the first open interface (usually a ethernet card).

-r –readfile
reads raw packets from a file written with tcpdump -w instead of using a network device.

“filter”
This is the filter for the capturer engine. You can set it in the same way of setting the tcpdump(1) filter. Read tcpdump(1) manpage for other explanations.

-a
Displays host names instead of ip addresses. Warning: for every new ip grabbed a dns query will be generated! Use it carefully on high-traffic network devices!

-C –colors
Uses terminal colors: very nice! It should help you to read the output of tcpick

-D number –dirs number
Create directories to store sniffed sessions. When a directory contains number sessions, a new one will be created.

-e count
Exits when count packets have been sniffed

-E number
Exit when number sniffed connections are detected as “CLOSED”

-Ef number
Exit when the first number connections are detected as “CLOSED”

-F1 -F2 –filenaming 1|2
Choose the filenaming system.
-F1 : tcpick_clientip_serverip.side.dat
(side means clnt, serv or both)
-F2 : tcpick_connectionnumber_clientip_serverip.side.dat

-h
Shows source and destination ip and port; shows tcp flags as letters.

–help
Displays a short help summary

-p
Don’t put the network interface in promiscuous mode. Note that the interface might be in promiscuous mode for some other reason.

-S
Suppresses the “status of the connection” banner.

–separator
Add a separator for the payloads displayed.

-t
Adds timestamp in hour:minutes:seconds:microseconds format

-td
Like -tFP with date timestamp in day-month-year format

-T number
Track number connections. It could be very useful on a high-traffic network device. If number is not specified, it will be set to 1*.*

-Tf number
Track only the first number connections; the following will be discarded. If number is not specified, it will be set to 1*.*

-v verbosity
Quite useless, yet. Set verbosity level. Actually there are not really many extra messages to display, this means it is enabled by default (-v1*).* Set verbosity level to 0 to suppress extra messages (-v0*) except error messages.* Set verbosity level to 5 to display debug messages (-v5*).* There are not other verbosity levels.

-X timeout
Connections are considered EXPIRED when there is no traffic for at least timeout seconds. Default is 600.

–version
Displays the tcpick version

DISPLAY THE DATA IN THE TCP PACKETS

These options are prefixed by -y and are useful to display in various ways the content of the packet sniffed (the data, called payload), once it arrives at the listening interface. In that way the tcp duplicates will be not discarded and the packets will not be reordered, but displayed “as is”. If you want a fully acknowledged stream, see the -w and -b set of options.

-yH
View data in hexadecimal-spaced mode (for the hexdump see -yx and -yX options.

-yP
Shows data contained in the tcp packets. Non-printable characters are transformed in dots: “.”. Newline character is preserved. This is the best way, in my opinion to show data like HTTP requests, IRC communication, SMTP stuff and so on.

-yR
Displays all kind of characters, printable and non printable. If something binary is transmitted, the effect will probably be like watching with “cat*” at a gzipped file.*

-yx
Shows all data after the header in hexadecimal dump of 16 bytes per line.

-yX
Shows all data after the header in hexadecimal and ascii dump with 16 bytes per line.

-yU
Shows all data after the header, but Unprintable characters are displayed as hexadecimal values between a “<” and a “>” symbol.

REBUILD AND WRITE THE TCP STREAM TO FILE

The prefix for these options is -w*.* The TCP stream that has been sniffed with these options will be written to file named:
client_<ip_client>_<ip_server>_<port_server>.tcpick and
server_<ip_client>_<ip_server>_<port_server>.tcpick
With the u flag of the -w option (i.e. -wRu*)* both client and server data will be written to a unique file named in that way:
<ip_client>_<ip_server>_<port_server>.tcpick
If you use the additional flag b of the -w option (i.e. -wPub*), in the file will be written this banner:*

[client|server] offset before:offset after (length of rebuilded segment)

to distinguish between client and server data.
The flow is rebuilded, reordered and the duplicates are dropped. In that way it is possible to sniff entire files transmitted via ftp without data corruption (you can see this with md5sum). If no argument is given to -w the data will be written like -wR You can decide to write only client or server data by setting the flag C (output only client data) and S (output only server data) to the -w set.

-wR
This is the preferred option: data will be written without any changes. Useful for sniffing binary or compressed files.
(-wRC only the client, -wRS only the server)

-wP
Unprintable characters are written like dots.
(-wPC only the client, -wPS only the server)

-wU
Unprintable characters are displayed as hexadecimal values between a “<” and a “>” symbol.
(-wPC only the client, -wPS only the server)

-wH
The flow is written in hexadecimal-spaced mode.
(-wHC only the client, -wHS only the server)

DISPLAY THE REBUILDED TCP STREAM

The prefix for these options is -b*.* This set of options is very useful if you want to redirect the sniffed flow to anoter program with a pipe, and there should be no data corruption. Of course the most useful is -bR to show the data as they are (raw). A very useful feature is the flag C (output only client data) and S (output only server data). I.e.: -bRC will display only the data from the client in raw mode; in that way you can put them in a file with a pipe redirection.

The sub-options are quite the same of the -y set, so you have:

-bH hex-spaced
(-bHC only the client, -bHS only the server)

-bP unprintable displayed as dots
(-bPC only the client, -bPS only the server)

-bR raw mode
(-bRC only the client, -bRS only the server)

-bU unprintable as <hex>.
(-bUC only the client, -bUS only the server)

-bx hexdump
(-bxC only the client, -bxS only the server)

-bU hexdump + ascii
(-bXC only the client, -bXS only the server)

-PC –pipe client
This is an alias for -bRC -S -v0 -Tf1 -Ef1*.* With this option you are able to track only the first connection (-T1*)* matched by tcpick and data are displayed as raw. Only data from the client are put on stdout. All messages and banners are suppressed, except error messages (-S -v0*),* so this option is particularly useful to download an entire fully rebuilded and acknowledged connection.

-PS –pipe server
This is an alias for -bRS -S -v0 -Tf1 -Ef1*.*

EXAMPLES

how to display the connection status:
# tcpick -i eth0 -C

display the payload and packet headers:
# tcpick -i eth0 -C -yP -h -a

display client data only of the first smtp connection:
# tcpick -i eth0 -C -bCU -T1 “port 25”

download a file passively:
# tcpick -i eth0 -wR “port ftp-data”

log http data in unique files (client and server mixed together):
# tcpick -i eth0 “port 80” -wRub

redirect the first connection to a software:
# tcpick -i eth0 –pipe client “port 80” | gzip > http_response.gz
# tcpick -i eth0 –pipe server “port 25” | nc foobar.net 25

MAILING-LIST

Address: <tcpick-project[a]lists.sourceforge.net>
Archive: http://sourceforge.net/mailarchive/forum.php?forum=tcpick-project
Subscribe: http://lists.sourceforge.net/lists/listinfo/tcpick-project
If you have new ideas, patches, feature requests or simply need help, don’t wait! I will be grateful if you send a message to the mailing list (even if you want to say what you liked most on tcpick).

TCPICK WEBSITE

The tcpick website is at http://tcpick.sf.net.
You can find the project page here: http://sourceforge.net/projects/tcpick kindly hosted by the sourceforge team.

AUTHORS

Please check AUTHORS file.

BUGS

Tcpick is an experimental software, and maybe some bugs are described in the KNOWN-BUGS file.
On some versions of MacOSX Segmentation Fault happens and connections aren’t tracked properly.
If you find any other bug, please write to the tcpick mailing list.

SEE ALSO

Other nice packet/data sniffers:
tcpdump, ngrep, tcptrack, ettercap, ethereal, snort

LICENSE

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 you 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, USA.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

108 - Linux cli command vpddecode

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vpddecode and provides detailed information about the command vpddecode, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vpddecode.

NAME πŸ–₯️ vpddecode πŸ–₯️

VPD structure decoder

SYNOPSIS

vpddecode [OPTIONS]

DESCRIPTION

vpddecode prints the “vital product data” information that can be found in almost all IBM and Lenovo computers. Available items are:

  • BIOS Build ID

  • Box Serial Number

  • Motherboard Serial Number

  • Machine Type/Model

Some systems have these additional items:

  • BIOS Release Date

  • Default Flash Image File Name

Note that these additional items are not documented by IBM, so this is guess work, and as such should not be blindly trusted. Feedback about the accuracy of these labels is welcome.

OPTIONS

-d, –dev-mem FILE
Read memory from device FILE (default: /dev/mem)

-s, –string KEYWORD
Only display the value of the VPD string identified by KEYWORD. It must be a keyword from the following list:

bios-build-id, box-serial-number, motherboard-serial-number, machine-type-model, bios-release-date.

Each keyword corresponds to an offset and a length within the VPD record. Not all strings may be defined on all VPD-enabled systems. If KEYWORD is not provided or not valid, a list of all valid keywords is printed and vpddecode exits with an error. This option cannot be used more than once. Mutually exclusive with –dump.

-u, –dump
Do not decode the VPD records, dump their contents as hexadecimal instead. Note that this is still a text output, no binary data will be thrown upon you. ASCII equivalent is displayed when possible. This option is mainly useful for debugging. Mutually exclusive with –string.

-h, –help
Display usage information and exit

-V, –version
Display the version and exit

FILES

/dev/mem

AUTHOR

Jean Delvare

SEE ALSO

biosdecode(8), dmidecode(8), mem(4), ownership(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

109 - Linux cli command update-mime

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-mime and provides detailed information about the command update-mime, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-mime.

NAME πŸ–₯️ update-mime πŸ–₯️

mime - create or update MIME information

SYNOPSIS

update-mime [no parameters]

DESCRIPTION

update-mime updates the /etc/mailcap file to reflect mime information changed by a Debian package during installation or removal.

OPTIONS

–local Generate files in the current user’s home directory instead of the /etc directory. This allows users to create a custom ordering configuration and get a complete ~/.mailcap file out of it. In this local mode, the order overriding file (see below) will be looked for in the ~/.mailcap.order file.

OVERRIDING ORDER

The order of entries in the /etc/mailcap file can be altered by editing the /etc/mailcap.order file. Please see the mailcap.order(5) man page for more information.

CREATING ENTRIES

To create entries in the mailcap file, packages need to create a file in the /usr/lib/mime/packages directory. In this file goes the verbatim desired mailcap entries. In addition to the standard mailcap options (described below) is a new priority option. Specifying this will provide for simple ranking of programs within a given mime type. An animation viewer, for example, may be able to display a static picture, but probably wouldn’t be the best choice and so would give an option like “priority=2”. Priorities range from 0 to 9, with 0 being the lowest and 9 being the highest. If the priority option is omitted, a value of 5 is used.

The following are standard options that can be specified in the mailcap entry. Options are separated by semicolons (;) but must all be on the same line. Each line should look like:

mime/type; viewer; option; another=val; etc; priority=5

Mime types of the form “class/*” and even “*/*” are now acceptable (they were previously disallowed). When using “class/*”, it is probably a good idea to add a “priority=[1-4]” option so specific rules using the default priority will get chosen first. If using “*/*”, though, you probably want to add a “priority=0” option to make that rule a “last resort”.

Commands

<program-string>
Specifies the program to run to view a file of the given content-type. This option setting cannot be omitted. An implicit “view=” can be considered before it. When writing an entry that has no viewer, use a value of false in this space.

compose=<program-string>
The “compose” command may be used to specify a program that can be used to compose a new body or body part in the given format. Its intended use is to support mail composing agents that support the composition of multiple types of mail using external composing agents. The result of the composing program may be data that is not yet suitable for mail transport – that is, a Content-Transfer-Encoding may need to be applied to the data.

composetyped=<program-string>
The “composetyped” command is similar to “compose”, but is to be used when the composing program needs to specify the Content-type header field to be applied to the composed data. The “compose” option is simpler, and is preferred for use with existing (non-mail-oriented) programs for composing data in a given format. The “composetyped” option is necessary when the Content-type information must include auxiliary parameters, and the composition program must then know enough about mail formats to produce output that includes the mail type information.

edit=<program-string>
The “edit” command may be used to specify a program that can be used to edit a body or body part in the given format. In many cases, it may be identical in content to the “compose” command.

print=<program-string>
The “print” command may be used to specify a program that can be used to print a message or body part in the given format.

Modifiers

These options are modifiers to all the commands specified on the command line.

test=<conditional>
The “test” option may be used to test some external condition (e.g., the machine architecture, or the window system in use) to determine whether or not the mailcap line applies. It specifies a program to be run to test some condition. If the test fails, a subsequent mailcap entry will be sought. Multiple test options are not permitted – since a test can call a program, it can already be arbitrarily complex.

Note: When testing for X by looking at the DISPLAY environment variable, please use one of:

test=test -z “$DISPLAY” (no X) or test=test -n “$DISPLAY” (have X)

Many programs recognize these strings and optimize for them.

needsterminal
The “needsterminal” option, if given, indicates that the commands must be run on an interactive terminal. This is needed to inform window-oriented user agents that an interactive terminal is needed. (The decision is not left exclusively to the command because in some circumstances it may not be possible for such programs to tell whether or not they are on interactive terminals.) The needsterminal command applies to the view, compose and edit commands, if they exist. Note that this is NOT a test – it is a requirement for the environment in which the program will be executed, and will typically cause the creation of a terminal window when not executed on either a real terminal or a terminal window.

copiousoutput
The “copiousoutput” option, if given, indicates that the output from the view-command will be an extended stream of output and is to be interpreted as advice to the UA (User Agent mail-reading program) that the output should be either paged or made scrollable. Note that it is probably a mistake if needsterminal and copiousoutput are both specified.

Content-Type Info

These options provide additional information about the given content-type.

description=<string>
The “description” option simply provides a textual description that describes the type of data, to be used optionally by mail readers that wish to describe the data before offering to display it.

textualnewlines
The “textualnewlines” option, if given, indicates that this type of data is line-oriented and that, if encoded in a binary format, all newlines should be converted to canonical form (CRLF) before encoding, and will be in that form after decoding. In general, this is needed only if there is line-oriented data of some type other than text/* or non-line-oriented data that is a subtype of text.

x11-bitmap=<pathname>
The “x11-bitmap” option names a file, in X11 bitmap (xbm) format, which points to an appropriate icon to be used to visually denote the presence of this kind of data.

nametemplate=<string>
The “nametemplate” option gives a file name format, in which %s will be replaced by a short unique string to give the name of the temporary file to be passed to the viewing command. This is only expected to be relevant in environments where filename extensions are meaningful, e.g., one could specify that a GIF file being passed to a gif viewer should have a name ending in “.gif” by using “nametemplate=%s.gif”.

DEPENDENCIES

Packages that wish to provide MIME access to themselves should not depend on, recommend, or suggest mime-support, as the the file they create in /usr/lib/mime/packages will cause update-mime to be automatically run via a Dpkg trigger.

DESKTOP ENTRIES

In addition to the abovementioned mechanism update-mime also parses desktop entries in /usr/share/applications/ to generate mailcap entries. These entries are given a lower priority than those in /usr/lib/mime/packages.

SEE ALSO

mailcap.order(5), deb-triggers"(1),**RFC-2046,**RFC-1524

AUTHOR

update-mime was written by Brian White <[email protected]>

COPYRIGHT

update-mime is in the public domain (the only true “free”).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

110 - Linux cli command vfs_fileid

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_fileid and provides detailed information about the command vfs_fileid, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_fileid.

NAME πŸ–₯️ vfs_fileid πŸ–₯️

Generates file_id structs with unique device id values for cluster setups. It also adds ways to deliberately break lock coherency for specific inodes

SYNOPSIS

vfs objects = fileid

DESCRIPTION

This VFS module is part of the samba(7) suite.

Samba uses file_id structs to uniquely identify files for locking purpose. By default the file_id contains the device and inode number returned by the stat() system call. As the file_id is a unique identifier of a file, it must be the same on all nodes in a cluster setup. This module overloads the SMB_VFS_FILE_ID_CREATE() operation and generates the device number based on the configured algorithm (see the “fileid:algorithm” option).

When using the fsname or fsid algorithm a stat() and statfs() call is required for all mounted file systems to generate the file_id. If e.g. an NFS file system is unresponsive such a call might block and the smbd process will become unresponsive. Use the “fileid:fstype deny”, “fileid:fstype allow”, “fileid:mntdir deny”, or “fileid:mntdir allow” options to ignore potentially unresponsive file systems.

OPTIONS

fileid:algorithm = ALGORITHM

Available algorithms are fsname, fsid, next_module. The default value is fsname. As well as the following legacy algorithms: fsname_nodirs, fsname_norootdir, fsname_norootdir_ext and hostname.

The fsname algorithm generates device id by hashing the kernel device name.

The fsid algorithm generates the device id from the f_fsid returned from the statfs() syscall.

The next_module algorithm lets the next vfs module in the module chain generate the id. This is mainly used in combination with the various nolock features the fileid module provides.

The legacy hostname algorithm generates unique devid by hashing the hostname and low level device id. It also implies fileid:nolock_all_inodes=yes. This can be used to deliberately break lock coherency in a cluster and with fileid:nolock_max_slots also between local processes within a node. NOTE: Do not use this without knowing what you are doing! It breaks SMB semantics and it can lead to data corruption! This implies fileid:nolock_all_inodes=yes.

The legacy fsname_nodirs algorithm is an alias for using the fsname algorithm together with fileid:nolock_all_dirs=yes. NOTE: Do not use this without knowing what you are doing! It breaks SMB semantics! See fileid:nolock_paths for a more fine grained approach.

The legacy fsname_norootdir algorithm is an alias for using the fsname algorithm together with fileid:nolock_paths= β€œ.”. It means this can be used to deliberately break lock coherency in a cluster for the root directory of a share.

The legacy fsname_norootdir_ext algorithm is an alias for using the fsname algorithm together with fileid:nolock_paths= β€œ.” and fileid:nolock_max_slots = 18446744073709551615. It means this can be used to deliberately break lock coherency completely for the root directory of a share. Even local processes are no longer lock coherent.

fileid:mapping = ALGORITHM

This option is the legacy version of the fileid:algorithm option, which was used in earlier versions of fileid mapping feature in custom Samba 3.0 versions.

fileid:fstype deny = LIST

List of file system types to be ignored for file_id generation.

fileid:fstype allow = LIST

List of file system types to be allowed for file_id generation. If this option is set, file system types not listed here are ignored.

fileid:mntdir deny = LIST

List of file system mount points to be ignored for file_id generation.

fileid:mntdir allow = LIST

List of file system mount points to be allowed for file_id generation. If this option is set, file system mount points not listed here are ignored.

fileid:nolock_max_slots = NUMBER(1-18446744073709551615)

This option alters the behavior of the nolock algorithm in a way that it also breaks the lock coherency between individual processes on the same host. The default is to have just 1 concurrent slot available per host. By increasing the number of slots you can specify how many concurrent processes can work on a given inode without contention, the number should typically be larger than the number of logical cpus, maybe 2 times num_cpus.

fileid:nolock_all_dirs = BOOL

This option triggers the use of the fileid nolock behavior for all directory inodes, which can be used to deliberately break the lock coherency for all directories. NOTE: Do not use this without knowing what you are doing! It breaks SMB semantics! See fileid:nolock_paths for a more fine grained approach.

fileid:nolock_all_inodes = BOOL

This option triggers the use of the fileid nolock algorithm for all directoriy inode, which can be used to deliberately break the lock coherency for all directories. NOTE: Do not use this without knowing what you are doing! It breaks SMB semantics and it can lead to data corruption! See fileid:nolock_paths for a more fine grained approach.

fileid:nolock_paths = LIST

This option specifies a path list referring to files and/or directories, which should use fileid nolock algorithm in order to deliberately break the lock coherency for them. The specified paths can be relative to the share root directory or absolute. The names are case sensitive unix pathnames! Note all paths are only evaluated at tree connect time, when the share is being connected, from there on only the related device and inode numbers from the stat() syscall are compared. Non existing paths will generate a log level 0 message. NOTE: This option should be used with care as it breaks SMB semantics! But it may help in situation where a specific (commonly read-only) inode is highly contended.

fileid:nolockinode = NUMBER

This legacy option triggers use of the fileid nolock behavior for the configured inode, while ignoring and device id. This can be used to deliberately break lock coherency for the corresponding file or directory in a cluster. Using the fileid:nolock_paths option is much more flexible and simpler to use.

EXAMPLES

Usage of the fileid module with the fsid algorithm:

    [global]
	vfs objects = fileid
	fileid:algorithm = fsid

Usage of the fileid module in order avoid load on heavily contended (most likely read-only) inodes.

    [global]
	vfs objects = fileid
	fileid:algorithm = next_module
	fileid:nolock_paths = . ContendedFolder1 /path/to/contended.exe
	fileid:nolock_max_slots = 256

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

111 - Linux cli command wesside-ng

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wesside-ng and provides detailed information about the command wesside-ng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wesside-ng.

NAME πŸ–₯️ wesside-ng πŸ–₯️

ng - crack a WEP key of an open network without user intervention

SYNOPSIS

wesside-ng <options>

DESCRIPTION

wesside-ng is an auto-magic tool which incorporates a number of techniques to seamlessly obtain a WEP key in minutes. It first identifies a network, then proceeds to associate with it, obtain PRGA (pseudo random generation algorithm) xor data, determine the network IP scheme, reinject ARP requests and finally determine the WEP key. All this is done without your intervention.

OPTIONS

-h
Shows the help screen.

-i <iface>
Wireless interface name. (Mandatory)

-n <network ip>
Network IP as in ‘who has destination IP (netip) tell source IP (myip)’. Defaults to the source IP on the ARP request which is captured and decrypted. (Optional)

-m <my ip>
‘who has destination IP (netip) tell source IP (myip)’. Defaults to the network.123 on the ARP request captured (Optional).

-a <source mac>
Source MAC address (Optional)

-c
Do not crack the key. Simply capture the packets until control-C is hit to stop the program! (Optional)

-p <min PRGA>
Determines the minimum number of bytes of PRGA which is gathered. Defaults to 128 bytes. (Optional).

-v <victim MAC>
Wireless access point MAC address (Optional).

-t <threshold>
For each number of IVs specified, restart the airecrack-ng PTW engine (Optional). It will restart PTW every <threshold> IVs.

-f <channel>
Allows the highest channel for scanning to be defined. Defaults to channel 11 (Optional).

AUTHOR

This manual page was written by Thomas d’Otreppe. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

airbase-ng(8)
aireplay-ng(8)
airmon-ng(8)
airodump-ng(8)
airodump-ng-oui-update(8)
airserv-ng(8)
airtun-ng(8)
besside-ng(8)
easside-ng(8)
tkiptun-ng(8)
aircrack-ng(1)
airdecap-ng(1)
airdecloak-ng(1)
airolib-ng(1)
besside-ng-crawler(1)
buddy-ng(1)
ivstools(1)
kstats(1)
makeivs-ng(1)
packetforge-ng(1)
wpaclean(1)
airventriloquist(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

112 - Linux cli command tc-sfb

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-sfb and provides detailed information about the command tc-sfb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-sfb.

NAME πŸ–₯️ tc-sfb πŸ–₯️

Stochastic Fair Blue

SYNOPSIS

tc qdisc … blue rehash milliseconds db milliseconds limit packets max packets target packets increment float decrement float penalty_rate packets per second penalty_burst packets

DESCRIPTION

Stochastic Fair Blue is a classless qdisc to manage congestion based on packet loss and link utilization history while trying to prevent non-responsive flows (i.e. flows that do not react to congestion marking or dropped packets) from impacting performance of responsive flows. Unlike RED, where the marking probability has to be configured, BLUE tries to determine the ideal marking probability automatically.

ALGORITHM

The BLUE algorithm maintains a probability which is used to mark or drop packets that are to be queued. If the queue overflows, the mark/drop probability is increased. If the queue becomes empty, the probability is decreased. The Stochastic Fair Blue (SFB) algorithm is designed to protect TCP flows against non-responsive flows.

This SFB implementation maintains 8 levels of 16 bins each for accounting. Each flow is mapped into a bin of each level using a per-level hash value.

Every bin maintains a marking probability, which gets increased or decreased based on bin occupancy. If the number of packets exceeds the size of that bin, the marking probability is increased. If the number drops to zero, it is decreased.

The marking probability is based on the minimum value of all bins a flow is mapped into, thus, when a flow does not respond to marking or gradual packet drops, the marking probability quickly reaches one.

In this case, the flow is rate-limited to penalty_rate packets per second.

LIMITATIONS

Due to SFBs nature, it is possible for responsive flows to share all of its bins with a non-responsive flow, causing the responsive flow to be misidentified as being non-responsive.

The probability of a responsive flow to be misidentified is dependent on the number of non-responsive flows, M. It is (1 - (1 - (1 / 16.0)) ** M) **8, so for example with 10 non-responsive flows approximately 0.2% of responsive flows will be misidentified.

To mitigate this, SFB performs periodic re-hashing to avoid misclassification for prolonged periods of time.

The default hashing method will use source and destination ip addresses and port numbers if possible, and also supports tunneling protocols. Alternatively, an external classifier can be configured, too.

PARAMETERS

rehash
Time interval in milliseconds when queue perturbation occurs to avoid erroneously detecting unrelated, responsive flows as being part of a non-responsive flow for prolonged periods of time. Defaults to 10 minutes.

db
Double buffering warmup wait time, in milliseconds. To avoid destroying the probability history when rehashing is performed, this implementation maintains a second set of levels/bins as described in section 4.4 of the SFB reference. While one set is used to manage the queue, a second set is warmed up: Whenever a flow is then determined to be non-responsive, the marking probabilities in the second set are updated. When the rehashing happens, these bins will be used to manage the queue and all non-responsive flows can be rate-limited immediately. This value determines how much time has to pass before the 2nd set will start to be warmed up. Defaults to one minute, should be lower than rehash.

limit
Hard limit on the real (not average) total queue size in packets. Further packets are dropped. Defaults to the transmit queue length of the device the qdisc is attached to.

max
Maximum length of a buckets queue, in packets, before packets start being dropped. Should be slightly larger than target , but should not be set to values exceeding 1.5 times that of target . Defaults to 25.

target
The desired average bin length. If the bin queue length reaches this value, the marking probability is increased by increment. The default value depends on the max setting, with max set to 25 target will default to 20.

increment
A value used to increase the marking probability when the queue appears to be over-used. Must be between 0 and 1.0. Defaults to 0.00050.

decrement
Value used to decrease the marking probability when the queue is found to be empty. Must be between 0 and 1.0. Defaults to 0.00005.

penalty_rate
The maximum number of packets belonging to flows identified as being non-responsive that can be enqueued per second. Once this number has been reached, further packets of such non-responsive flows are dropped. Set this to a reasonable fraction of your uplink throughput; the default value of 10 packets is probably too small.

penalty_burst
The number of packets a flow is permitted to exceed the penalty rate before packets start being dropped. Defaults to 20 packets.

STATISTICS

This qdisc exposes additional statistics via ’tc -s qdisc’ output. These are:

earlydrop
The number of packets dropped before a per-flow queue was full.

ratedrop
The number of packets dropped because of rate-limiting. If this value is high, there are many non-reactive flows being sent through sfb. In such cases, it might be better to embed sfb within a classful qdisc to better control such flows using a different, shaping qdisc.

bucketdrop
The number of packets dropped because a per-flow queue was full. High bucketdrop may point to a high number of aggressive, short-lived flows.

queuedrop
The number of packets dropped due to reaching limit. This should normally be 0.

marked
The number of packets marked with ECN.

maxqlen
The length of the current longest per-flow (virtual) queue.

maxprob
The maximum per-flow drop probability. 1 means that some flows have been detected as non-reactive.

NOTES

SFB automatically enables use of Explicit Congestion Notification (ECN). Also, this SFB implementation does not queue packets itself. Rather, packets are enqueued to the inner qdisc (defaults to pfifo). Because sfb maintains virtual queue states, the inner qdisc must not drop a packet previously queued. Furthermore, if a buckets queue has a very high marking rate, this implementation will start dropping packets instead of marking them, as such a situation points to either bad congestion, or an unresponsive flow.

EXAMPLE & USAGE

To attach to interface $DEV, using default options:

# tc qdisc add dev $DEV handle 1: root sfb

Only use destination ip addresses for assigning packets to bins, perturbing hash results every 10 minutes:

# tc filter add dev $DEV parent 1: handle 1 flow hash keys dst perturb 600

SEE ALSO

tc(8), tc-red(8), tc-sfq(8)

SOURCES

o
W. Feng, D. Kandlur, D. Saha, K. Shin, BLUE: A New Class of Active Queue Management Algorithms, U. Michigan CSE-TR-387-99, April 1999.

AUTHORS

This SFB implementation was contributed by Juliusz Chroboczek and Eric Dumazet.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

113 - Linux cli command tc-gate

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-gate and provides detailed information about the command tc-gate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-gate.

NAME πŸ–₯️ tc-gate πŸ–₯️

Stream Gate Action

SYNOPSIS

tc … action gate

[ base-time BASETIME ] [ clockid CLOCKID ]

sched-entry <gate state> <interval 1> [ <internal priority> <max octets> ]

sched-entry <gate state> <interval 2> [ <internal priority> <max octets> ]

sched-entry <gate state> <interval 3> [ <internal priority> <max octets> ]

……

sched-entry <gate state> <interval N> [ <internal priority> <max octets> ]

DESCRIPTION

GATE action allows specified ingress frames can be passed at specific time slot, or be dropped at specific time slot. Tc filter filters the ingress frames, then tc gate action would specify which time slot and how many bytes these frames can be passed to device and which time slot frames would be dropped. Gate action also assign a base-time to tell when the entry list start. Then gate action would start to repeat the gate entry list cyclically at the start base-time. For the software simulation, gate action requires the user assign reference time clock type.

PARAMETERS

base-time

Specifies the instant in nanoseconds, defining the time when the schedule starts. If ‘base-time’ is a time in the past, the schedule will start at

base-time + (N * cycle-time)

where N is the smallest integer so the resulting time is greater than “now”, and “cycle-time” is the sum of all the intervals of the entries in the schedule. Without base-time specified, will default to be 0.

clockid

Specifies the clock to be used by qdisc’s internal timer for measuring time and scheduling events. Not valid if gate action is used for offloading filter. For example, tc filter command with skip_sw parameter.

sched-entry

There may multiple sched-entry parameters in a single schedule. Each one has the format:

sched-entry <gate state> <interval> [ <internal priority> <max octets> ]

<gate state> means gate states. ‘open’ keep gate open, ‘close’ keep gate close.
<interval> means how much nano seconds for this time slot.
<internal priority> means internal priority value. Present of the internal receiving queue for this stream. “-1” means wildcard. <internal priority> and <max octets> can be omit default to be “-1” which both value to be “-1” for this <sched-entry>.
<max octets> means how many octets size could pass in this time slot. Dropped if overlimited. “-1” means wildcard. <max octets> can be omit default to be “-1” which value to be “-1” for this <sched-entry>.
Note that <internal priority> and <max octets> are nothing meaning for gate state is “close” in a “sched-entry”. All frames are dropped when “sched-entry” with “close” state.

EXAMPLES

The following example shows tc filter frames source ip match to the 192.168.0.20 will keep the gate open for 200ms and limit the traffic to 8MB in this sched-entry. Then keep the traffic gate to be close for 100ms. Frames arrived at gate close state would be dropped. Then the cycle would run the gate entries periodically. The schedule will start at instant 200.0s using the reference CLOCK_TAI. The schedule is composed of two entries each of 300ms duration.

# tc qdisc add dev eth0 ingress
# tc filter add dev eth0 parent ffff: protocol ip \
           flower skip_hw src_ip 192.168.0.20 \
           action gate index 2 clockid CLOCK_TAI \
           base-time 200000000000ns \
           sched-entry open 200000000ns -1 8000000b \
           sched-entry close 100000000ns

Following commands is an example to filter a stream source mac match to the 10:00:80:00:00:00 icmp frames will be dropped at any time with cycle 200ms. With a default basetime 0 and clockid is CLOCK_TAI as default.

# tc qdisc add dev eth0 ingress
# tc filter add dev eth0 parent ffff:  protocol ip \
	flower ip_proto icmp dst_mac 10:00:80:00:00:00 \
	action gate index 12 sched-entry close 200000000ns

AUTHORS

Po Liu <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

114 - Linux cli command tc-netem

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-netem and provides detailed information about the command tc-netem, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-netem.

NAME πŸ–₯️ tc-netem πŸ–₯️

Network Emulator

SYNOPSIS

tc qdisc … dev DEVICE ] add netem OPTIONS

OPTIONS := [ LIMIT ] [ DELAY ] [ LOSS"][* CORRUPT ][* DUPLICATION ][* REORDERING ][* RATE ][* SLOT ][* SEED ]"

LIMIT := limit packets

DELAY := delay TIME [ JITTER [ CORRELATION ]]]
[ distribution { uniform | normal | pareto | paretonormal } ]

LOSS := loss { random PERCENT [ CORRELATION ] |
state p13 [ p31 [ p32 [ p23 [ p14]]]] |
gemodel p [ r [ 1-h [ 1-k ]]] } [ ecn ]

CORRUPT := corrupt PERCENT [ CORRELATION ]]

DUPLICATION := duplicate PERCENT [ CORRELATION ]]

REORDERING := reorder PERCENT [ CORRELATION ] [ gap DISTANCE ]

RATE := rate RATE [ PACKETOVERHEAD [ CELLSIZE [ CELLOVERHEAD ]]]]

SLOT := slot { MIN_DELAY [ MAX_DELAY ] |
distribution { uniform | normal | pareto | paretonormal | FILE } DELAY JITTER }
[ packets PACKETS ] [ bytes BYTES ]

SEED := seed VALUE

DESCRIPTION

The netem queue discipline provides Network Emulation functionality for testing protocols by emulating the properties of real-world networks.

The queue discipline provides one or more network impairments to packets such as: delay, loss, duplication, and packet corruption.

OPTIONS

limit* COUNT*
Limits the maximum number of packets the qdisc may hold when doing delay.

delay
TIME [ JITTER [ CORRELATION ]]]
Delays the packets before sending. The optional parameters allow introducing a delay variation and a correlation. Delay and jitter values are expressed in milliseconds; Correlation is set by specifying a percent of how much the previous delay will impact the current random value.

distribution* TYPE*
Specifies a pattern for delay distribution.

uniform
Use an equally weighted distribution of packet delays.

normal
Use a Gaussian distribution of delays. Sometimes called a Bell Curve.

pareto
Use a Pareto distribution of packet delays. This is useful to emulate long-tail distributions.

paretonormal
This is a mix of pareto and normal distribution which has properties of both Bell curve and long tail.

loss* MODEL*
Drop packets based on a loss model. MODEL can be one of

random* PERCENT*
Each packet loss is independent.

state* P13 [ P31 [ P32 [ P23 P14 ]]]*
Use a 4-state Markov chain to describe packet loss.
P13 is the packet loss. Optional parameters extend the model to 2-state P31, 3-state P23, P32 and 4-state P14.

The Markov chain states are:

1
good packet reception (no loss).

2
good reception within a burst.

3
burst losses.

4
independent losses.

gemodel* PERCENT [ R [ 1-H [ 1-K ]]]*
Use a Gilbert-Elliot (burst loss) model based on:

PERCENT
probability of starting bad (lossy) state.

R
probability of exiting bad state.

1-H
loss probability in bad state.

1-K
loss probability in good state.

ecn
Use Explicit Congestion Notification (ECN) to mark packets instead of dropping them. A loss model has to be used for this to be enabled.

corrupt* PERCENT*
modifies the contents of the packet at a random position based on PERCENT.

duplicate* PERCENT*
creates a copy of the packet before queuing.

reorder* PERCENT*
modifies the order of packet in the queue.

gap* DISTANCE*
sends some packets immediately. The first packets (DISTANCE - 1) are delayed and the next packet is sent immediately.

rate* RATE [ PACKETOVERHEAD [ CELLSIZE [ CELLOVERHEAD ]]]*
Delays packets based on packet size to emulate a fixed link speed. Optional parameters:

PACKETOVERHEAD
Specify a per packet overhead in bytes. Used to simulate additional link layer headers. A negative value can be used to simlate when the Ethernet header is stripped (e.g. -14) or header compression is used.

CELLSIZE
simulate link layer schemes like ATM.

CELLOVERHEAD
specify per cell overhead.

Rate throttling impacted by several factors including the kernel clock granularity. This will show up in an artificial packet compression (bursts).

slot* MIN_DELAY [ MAX_DELAY ]*
allows emulating slotted networks. Defer delivering accumulated packets to within a slot. Each available slot is configured with a minimum delay to acquire, and an optional maximum delay.

slot distribution
allows configuring based on distribution similar to distribution option for packet delays.

These slot options can provide a crude approximation of bursty MACs such as DOCSIS, WiFi, and LTE.

Slot emulation is limited by several factors: the kernel clock granularity, as with a rate, and attempts to deliver many packets within a slot will be smeared by the timer resolution, and by the underlying native bandwidth also.

It is possible to combine slotting with a rate, in which case complex behaviors where either the rate, or the slot limits on bytes or packets per slot, govern the actual delivered rate.

seed* VALUE*
Specifies a seed to guide and reproduce the randomly generated loss or corruption events.

LIMITATIONS

Netem is limited by the timer granularity in the kernel. Rate and delay maybe impacted by clock interrupts.

Mixing forms of reordering may lead to unexpected results. For any method of reordering to work, some delay is necessary. If the delay is less than the inter-packet arrival time then no reordering will be seen. Due to mechanisms like TSQ (TCP Small Queues), for TCP performance test results to be realistic netem must be placed on the ingress of the receiver host.

Combining netem with other qdisc is possible but may not always work because netem use skb control block to set delays.

EXAMPLES

# tc qdisc add dev eth0 root netem delay 100ms

Add fixed amount of delay to all packets going out on device eth0. Each packet will have added delay of 100ms Β± 10ms.

# tc qdisc change dev eth0 root netem delay 100ms 10ms 25%

This causes the added delay of 100ms Β± 10ms and the next packet delay value will be biased by 25% on the most recent delay. This isn’t a true statistical correlation, but an approximation.

# tc qdisc change dev eth0 root netem delay 100ms 20ms distribution normal

This delays packets according to a normal distribution (Bell curve) over a range of 100ms Β± 20ms.

# tc qdisc change dev eth0 root netem loss 0.1%

This causes 1/10th of a percent (i.e 1 out of 1000) packets to be randomly dropped.

An optional correlation may also be added. This causes the random number generator to be less random and can be used to emulate packet burst losses.

# tc qdisc change dev eth0 root netem duplicate 1%

This causes one percent of the packets sent on eth0 to be duplicated.

# tc qdisc change dev eth0 root netem loss 0.3% 25%

This will cause 0.3% of packets to be lost, and each successive probability depends is biased by 25% of the previous one.

There are two different ways to specify reordering. The gap method uses a fixed sequence and reorders every Nth packet.

# tc qdisc change dev eth0 root netem gap 5 delay 10ms

This causes every 5th (10th, 15th, …) packet to go to be sent immediately and every other packet to be delayed by 10ms. This is predictable and useful for base protocol testing like reassembly.

The reorder form uses a percentage of the packets to get misordered.

# tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%

In this example, 25% of packets (with a correlation of 50%) will get sent immediately, others will be delayed by 10ms.

Packets will also get reordered if jitter is large enough.

# tc qdisc change dev eth0 root netem delay 100ms 75ms

If the first packet gets a random delay of 100ms (100ms base - 0ms jitter) and the second packet is sent 1ms later and gets a delay of 50ms (100ms base - 50ms jitter); the second packet will be sent first. This is because the queue discipline tfifo inside netem, keeps packets in order by time to send.

If you don’t want this behavior then replace the internal queue discipline tfifo with a simple FIFO queue discipline.

# tc qdisc add dev eth0 root handle 1: netem delay 10ms 100ms
# tc qdisc add dev eth0 parent 1:1 pfifo limit 1000

Example of using rate control and cells size.

# tc qdisc add dev eth0 root netem rate 5kbit 20 100 5

Delay all outgoing packets on device eth0 with a rate of 5kbit, a per packet overhead of 20 byte, a cellsize of 100 byte and a per celloverhead of 5 bytes.

It is possible to selectively apply impairment using traffic classification.

# tc qdisc add dev eth0 root handle 1: prio
# tc qdisc add dev eth0 parent 1:3 handle 30:    tbf rate 20kbit buffer 1600 limit  3000
# tc qdisc add dev eth0 parent 30:1 handle 31:    netem delay 200ms 10ms distribution normal
# tc filter add dev eth0 protocol ip parent 1:0 prio 3 u32    match ip dst 65.172.181.4/32 flowid 1:3

This example uses a priority queueing discipline; a TBF is added to do rate control; and a simple netem delay. A filter classifies all packets going to 65.172.181.4 as being priority 3.

SOURCES

Hemminger S. , “Network Emulation with NetEm”, Open Source Development Lab, April 2005

Salsano S., Ludovici F., Ordine A., “Definition of a general and intuitive loss model for packet networks and its implementation in the Netem module in the Linux kernel”, available at

SEE ALSO

tc(8)

AUTHOR

Netem was written by Stephen Hemminger at Linux foundation and was inspired by NISTnet.

Original manpage was created by Fabio Ludovici <fabio.ludovici at yahoo dot it> and Hagen Paul Pfeifer <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

115 - Linux cli command tcpkill

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpkill and provides detailed information about the command tcpkill, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpkill.

NAME πŸ–₯️ tcpkill πŸ–₯️

kill TCP connections on a LAN

SYNOPSIS

tcpkill [-i interface] [-19] expression

DESCRIPTION

tcpkill kills specified in-progress TCP connections (useful for libnids-based applications which require a full TCP 3-whs for TCB creation).

OPTIONS

-i interface
Specify the interface to listen on.

-1…9
Specify the degree of brute force to use in killing a connection. Fast connections may require a higher number in order to land a RST in the moving receive window. Default is 3.

expression
Specify a tcpdump(8) filter expression to select the connections to kill.

SEE ALSO

dsniff(8), tcpnice(8)

AUTHOR

Dug Song <[email protected]>
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

116 - Linux cli command update-command-not-found

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-command-not-found and provides detailed information about the command update-command-not-found, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-command-not-found.

NAME πŸ–₯️ update-command-not-found πŸ–₯️

command-not-found - update the command-not-found cache

SYNOPSIS

update-command-not-found [-h|–help|-n|–no-apt-file]

DESCRIPTION

update-command-not-found updates the cache (databases) for command-not-found using the files in /var/cache/apt/apt-file, which are fetched by apt-file.

OPTIONS

-h or –help
Print the help message

-n or –no-apt-file
Do not run apt-file update before updating the cache.

AUTHOR

command-not-found was written by Zygmunt Krynicki, update-command-not-found was written by Julian Andres Klode <[email protected]>

This manual page was written by Julian Andres Klode <[email protected]> for the Debian project, but may be used by others.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

117 - Linux cli command update-fonts-dir

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-fonts-dir and provides detailed information about the command update-fonts-dir, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-fonts-dir.

NAME πŸ–₯️ update-fonts-dir πŸ–₯️

fonts-dir - compile fonts.dir files

SYNOPSIS

update-fonts-dir [OPTION] directory …

DESCRIPTION

update-fonts-dir creates a fonts.dir file in an X font directory by invoking mkfontdir(1x) with the appropriate arguments. It is typically invoked only from the post-installation and post-removal scripts of a package containing fonts for the X Window System, but may be invoked at any time to reconstruct fonts.dir files. For each directory, which is simply the last component of its path (such as β€˜75dpi’ or β€˜misc’), update-fonts-dir will generate either /usr/lib/X11/fonts/directory/fonts.dir or /usr/share/fonts/X11/directory/fonts.dir from the fonts.scale and font files found within it.

This enables multiple packages to provide names for fonts in the same directory. No font package actually provides the fonts.dir file in the X font directory itself, so there is no danger of overwriting one package’s font names with those of another.

For instance, the two packages β€˜xfonts-base’ (real) and β€˜xfonts-nifty’ (hypothetical) may both install fonts into the directory /usr/lib/X11/fonts/misc, and update-fonts-dir will ensure that the fonts.dir file in that directory contains information about the font files provided by both packages.

The format of fonts.dir files is described in the mkfontdir(1x) manual page.

An example of how to use update-fonts-dir in package maintainer scripts is provided in the Debian Policy Manual.

OPTIONS

-h, –help displays a brief usage message and exits.

-7, –x11r7-layout switches the font layout to the one introduced in X11R7: fonts in */usr/share/fonts/X11/*directory (default is: fonts in */usr/lib/X11/fonts/*directory)

OPERANDS

update-fonts-dir takes one or more X font directory names to operate on as operands. Only the final path component of the directory name should be specified; e.g.,

update-fonts-dir 75dpi

is correct, while β€˜update-fonts-dir /usr/X11R6/lib/X11/fonts/75dpi’ and β€˜update-fonts-dir /usr/lib/X11/fonts/75dpi’ are not.

ENVIRONMENT

COLUMNS
indicates the width of the terminal device in character cells. This value is used for formatting diagnostic messages. If not set, the terminal is queried using stty(1) to determine its width. If that fails, a value of β€˜80’ is assumed.

DIAGNOSTICS

Errors

usage error: one or more font directories must be provided
update-fonts-dir was invoked without operands. Supply one or more X font directory names to operate on.

usage error: unrecognized option
update-fonts-dir was invoked with an unrecognized option argument. Use only the options documented in β€œOPTIONS”, above.

fatal error: path to X font directory must be used
A directory name was supplied that was not an X font directory name. Supply X font directory names only.

Warnings

warning: absolute path directory was provided
Usage of absolute paths is deprecated. Use only the final component of the X font directory name for directory.

warning: directory does not exist or is not a directory
The supplied directory was invalid. update-fonts-dir skipped it.

EXIT STATUS

0
update-fonts-dir ran successfully.

1
update-fonts-dir experienced a fatal error; see the section on diagnostic messages above.

2
update-fonts-dir was invoked with invalid arguments.

BUGS

See the Debian Bug Tracking System ⟨URL: https://bugs.debian.org/xfonts-utils ⟩. If you wish to report a bug in update-fonts-dir, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.

AUTHOR

update-fonts-dir was written by Branden Robinson.

SEE ALSO

mkfontdir(1x)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

118 - Linux cli command vfs_extd_audit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_extd_audit and provides detailed information about the command vfs_extd_audit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_extd_audit.

NAME πŸ–₯️ vfs_extd_audit πŸ–₯️

record selected Samba VFS operations

SYNOPSIS

vfs objects = extd_audit

DESCRIPTION

This VFS module is part of the samba(7) suite.

The extd_audit VFS module records selected client operations to both the smbd(8) log and system log (using syslog(3)).

Other than logging to the smbd(8) log, vfs_extd_audit is identical to vfs_audit(8).

This module is stackable.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

119 - Linux cli command vdpa-dev

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vdpa-dev and provides detailed information about the command vdpa-dev, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vdpa-dev.

NAME πŸ–₯️ vdpa-dev πŸ–₯️

dev - vdpa device configuration

SYNOPSIS

vdpa dev [ OPTIONS ] { COMMAND|* * help }

OPTIONS := { -V[ersion] }

vdpa dev show [ DEV ]

vdpa dev help

vdpa dev add name NAME mgmtdev MGMTDEV [ device_features DEVICE_FEATURES ] [ mac MACADDR ] [ mtu MTU ] [ max_vqp MAX_VQ_PAIRS ]

vdpa dev del DEV

vdpa dev config show [ DEV ]

vdpa dev vstats show DEV qidx QUEUE_INDEX

DESCRIPTION

vdpa dev show - display vdpa device attributes

DEV - specifies the vdpa device to show. If this argument is omitted all devices are listed.

Format is:

VDPA_DEVICE_NAME

vdpa dev add - add a new vdpa device.

name* NAME*
Name of the new vdpa device to add.

mgmtdev* MGMTDEV*
Name of the management device to use for device addition.

device_features* DEVICE_FEATURES* Specifies the virtio device features bit-mask that is provisioned for the new vdpa device.

The bits can be found under include/uapi/linux/virtio*h.

see macros such as VIRTIO_F_ and VIRTIO_XXX(e.g NET)_F_ for specific bit values.

This is optional.

mac* MACADDR* - specifies the mac address for the new vdpa device. This is applicable only for the network type of vdpa device. This is optional.

mtu* MTU* - specifies the mtu for the new vdpa device. This is applicable only for the network type of vdpa device. This is optional.

vdpa dev del - Delete the vdpa device.

DEV - specifies the vdpa device to delete.

vdpa dev config show - Show configuration of specific device or all devices.

DEV - specifies the vdpa device to show its configuration. If this argument is omitted all devices configuration is listed.

Format is:

VDPA_DEVICE_NAME

vdpa dev vstats show - shows vendor specific statistics for the given device and virtqueue index. The information is presented as name-value pairs where name is the name of the field and value is a numeric value for it.

DEV
- specifies the vdpa device to query

qidx* QUEUE_INDEX*
- specifies the virtqueue index to query

EXAMPLES

vdpa dev show

Shows the all vdpa devices on the system.

vdpa dev show foo

Shows the specified vdpa device.

vdpa dev add name foo mgmtdev vdpa_sim_net

Add the vdpa device named foo on the management device vdpa_sim_net.

vdpa dev add name foo mgmtdev vdpa_sim_net device_features 0x300020000

Add the vdpa device named foo on the management device vdpa_sim_net with device_features of 0x300020000

vdpa dev add name foo mgmtdev vdpa_sim_net mac 00:11:22:33:44:55

Add the vdpa device named foo on the management device vdpa_sim_net with mac address of 00:11:22:33:44:55.

vdpa dev add name foo mgmtdev vdpa_sim_net mac 00:11:22:33:44:55 mtu 9000

Add the vdpa device named foo on the management device vdpa_sim_net with mac address of 00:11:22:33:44:55 and mtu of 9000 bytes.

vdpa dev add name foo mgmtdev auxiliary/mlx5_core.sf.1 mac 00:11:22:33:44:55 max_vqp 8

Add the vdpa device named foo on the management device auxiliary/mlx5_core.sf.1 with mac address of 00:11:22:33:44:55 and max 8 virtqueue pairs

vdpa dev del foo

Delete the vdpa device named foo which was previously created.

vdpa dev config show foo

Shows the vdpa device configuration of device named foo.

vdpa dev vstats show vdpa0 qidx 1

Shows vendor specific statistics information for vdpa device vdpa0 and virtqueue index 1

SEE ALSO

vdpa(8), vdpa-mgmtdev(8),

AUTHOR

Parav Pandit <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

120 - Linux cli command systemd-sysv-generator

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-sysv-generator and provides detailed information about the command systemd-sysv-generator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-sysv-generator.

NAME πŸ–₯️ systemd-sysv-generator πŸ–₯️

sysv-generator - Unit generator for SysV init scripts

SYNOPSIS

/usr/lib/systemd/system-generators/systemd-sysv-generator

DESCRIPTION

Note: this component is deprecated and scheduled for removal. Please replace remaining SysV init scripts with native unit files.

systemd-sysv-generator is a generator that creates wrapper .service units for System V init[1] scripts in /etc/init.d/* at boot and when configuration of the system manager is reloaded. This allows systemd(1) to support them similarly to native units.

LSB headers[2] in SysV init scripts are interpreted, and the ordering specified in the header is turned into dependencies between the generated unit and other units. The LSB facilities “$remote_fs”, “$network”, “$named”, “$portmap”, “$time” are supported and will be turned into dependencies on specific native systemd targets. See systemd.special(7) for more details.

Note that compatibility is quite comprehensive but not 100%, for more details see Compatibility with SysV[3].

SysV runlevels have corresponding systemd targets (runlevelX.target). The wrapper unit that is generated will be wanted by those targets which correspond to runlevels for which the script is enabled.

systemd does not support SysV scripts as part of early boot, so all wrapper units are ordered after basic.target.

systemd-sysv-generator implements systemd.generator(7).

SEE ALSO

systemd(1), systemd.service(5), systemd.target(5)

NOTES

System V init

https://savannah.nongnu.org/projects/sysvinit

LSB headers

http://refspecs.linuxbase.org/LSB_3.1.1/LSB-Core-generic/LSB-Core-generic/iniscrptact.html

Compatibility with SysV

https://systemd.io/INCOMPATIBILITIES

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

121 - Linux cli command xtables-translate

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xtables-translate and provides detailed information about the command xtables-translate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xtables-translate.

NAME πŸ–₯️ xtables-translate πŸ–₯️

translate β€” translation tool to migrate from iptables to nftables

ip6tables-translate β€” translation tool to migrate from ip6tables to nftables

ebtables-translate β€” translation tool to migrate from ebtables to nftables

DESCRIPTION

There is a set of tools to help the system administrator translate a given ruleset from iptables(8), ip6tables(8) and ebtables(8) to nftables(8).

The available commands are:

  • iptables-translate

  • iptables-restore-translate

  • ip6tables-translate

  • ip6tables-restore-translate

  • ebtables-translate

USAGE

They take as input the original iptables(8)/ip6tables(8)/ebtables(8) syntax and output the native nftables(8) syntax.

The iptables-restore-translate tool reads a ruleset in the syntax produced by iptables-save(8). Likewise, the ip6tables-restore-translate tool reads one produced by ip6tables-save(8). No ruleset modifications occur, these tools are text converters only.

The iptables-translate reads a command line as if it was entered to iptables(8), and ip6tables-translate reads a command like as if it was entered to ip6tables(8).

EXAMPLES

Basic operation examples.

Single command translation:

root@machine:~# iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
nft add rule ip filter INPUT tcp dport 22 ct state new counter accept

root@machine:~# ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT
nft add rule ip6 filter FORWARD iifname eth0 oifname eth3 meta l4proto udp udp dport { 111,222} counter accept

Whole ruleset translation:

root@machine:~# iptables-save > save.txt
root@machine:~# cat save.txt
# Generated by iptables-save v1.6.0 on Sat Dec 24 14:26:40 2016
*filter
:INPUT ACCEPT [5166:1752111]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [5058:628693]
-A FORWARD -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
COMMIT
# Completed on Sat Dec 24 14:26:40 2016

root@machine:~# iptables-restore-translate -f save.txt
# Translated by iptables-restore-translate v1.6.0 on Sat Dec 24 14:26:59 2016
add table ip filter
add chain ip filter INPUT { type filter hook input priority 0; }
add chain ip filter FORWARD { type filter hook forward priority 0; }
add chain ip filter OUTPUT { type filter hook output priority 0; }
add rule ip filter FORWARD tcp dport 22 ct state new counter accept

root@machine:~# iptables-restore-translate -f save.txt > ruleset.nft
root@machine:~# nft -f ruleset.nft
root@machine:~# nft list ruleset
table ip filter {
	chain INPUT {
		type filter hook input priority 0; policy accept;
	}

	chain FORWARD {
		type filter hook forward priority 0; policy accept;
		tcp dport ssh ct state new counter packets 0 bytes 0 accept
	}

	chain OUTPUT {
		type filter hook output priority 0; policy accept;
	}
}

LIMITATIONS

Some (few) extensions may be not supported (or fully-supported) for whatever reason (for example, they were considered obsolete, or we didn’t have the time to work on them).

There is no translation available for arptables(8).

To get up-to-date information about this, please head to https://wiki.nftables.org/.

SEE ALSO

nft(8), iptables(8)

AUTHORS

The nftables framework is written by the Netfilter project (https://www.netfilter.org).

This manual page was written by Arturo Borrero Gonzalez <[email protected]>.

This documentation is free/libre under the terms of the GPLv2+.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

122 - Linux cli command vfs_dirsort

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_dirsort and provides detailed information about the command vfs_dirsort, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_dirsort.

NAME πŸ–₯️ vfs_dirsort πŸ–₯️

Sort directory contents

SYNOPSIS

vfs objects = dirsort

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_dirsort module sorts directory entries alphabetically before sending them to the client.

Please be aware that adding this module might have negative performance implications for large directories.

EXAMPLES

Sort directories for all shares:

    [global]
	vfs objects = dirsort

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

123 - Linux cli command wpa_cli

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wpa_cli and provides detailed information about the command wpa_cli, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wpa_cli.

NAME πŸ–₯️ wpa_cli πŸ–₯️

WPA command line client

SYNOPSIS

wpa_cli [ -p path to ctrl sockets ] [ -g path to global ctrl_interface socket ] [ -i ifname ] [ -hvB ] [ -a action file ] [ -P pid file ] [ -G ping interval ] [ command … ]

OVERVIEW

wpa_cli is a text-based frontend program for interacting with wpa_supplicant. It is used to query current status, change configuration, trigger events, and request interactive user input.

wpa_cli can show the current authentication status, selected security mode, dot11 and dot1x MIBs, etc. In addition, it can configure some variables like EAPOL state machine parameters and trigger events like reassociation and IEEE 802.1X logoff/logon. wpa_cli provides a user interface to request authentication information, like username and password, if these are not included in the configuration. This can be used to implement, e.g., one-time-passwords or generic token card authentication where the authentication is based on a challenge-response that uses an external device for generating the response.

The control interface of wpa_supplicant can be configured to allow non-root user access (ctrl_interface GROUP= parameter in the configuration file). This makes it possible to run wpa_cli with a normal user account.

wpa_cli supports two modes: interactive and command line. Both modes share the same command set and the main difference is in interactive mode providing access to unsolicited messages (event messages, username/password requests).

Interactive mode is started when wpa_cli is executed without including the command as a command line parameter. Commands are then entered on the wpa_cli prompt. In command line mode, the same commands are entered as command line arguments for wpa_cli.

INTERACTIVE AUTHENTICATION PARAMETERS REQUEST

When wpa_supplicant need authentication parameters, like username and password, which are not present in the configuration file, it sends a request message to all attached frontend programs, e.g., wpa_cli in interactive mode. wpa_cli shows these requests with “CTRL-REQ-<type>-<id>:<text>” prefix. <type> is IDENTITY, PASSWORD, or OTP (one-time-password). <id> is a unique identifier for the current network. <text> is description of the request. In case of OTP request, it includes the challenge from the authentication server.

The reply to these requests can be given with identity, password, and otp commands. <id> needs to be copied from the matching request. password and otp commands can be used regardless of whether the request was for PASSWORD or OTP. The main difference between these two commands is that values given with password are remembered as long as wpa_supplicant is running whereas values given with otp are used only once and then forgotten, i.e., wpa_supplicant will ask frontend for a new value for every use. This can be used to implement one-time-password lists and generic token card -based authentication.

Example request for password and a matching reply:

CTRL-REQ-PASSWORD-1:Password needed for SSID foobar > password 1 mysecretpassword

Example request for generic token card challenge-response:

CTRL-REQ-OTP-2:Challenge 1235663 needed for SSID foobar > otp 2 9876

COMMAND ARGUMENTS

-p path
Change the path where control sockets should be found.

-g control socket path
Connect to the global control socket at the indicated path rather than an interface-specific control socket.

-i ifname
Specify the interface that is being configured. By default, choose the first interface found with a control socket in the socket path.

-h
Help. Show a usage message.

-v
Show version information.

-B
Run as a daemon in the background.

-a file
Run in daemon mode executing the action file based on events from wpa_supplicant. The specified file will be executed with the first argument set to interface name and second to “CONNECTED” or “DISCONNECTED” depending on the event. This can be used to execute networking tools required to configure the interface.

Additionally, three environmental variables are available to the file: WPA_CTRL_DIR, WPA_ID, and WPA_ID_STR. WPA_CTRL_DIR contains the absolute path to the ctrl_interface socket. WPA_ID contains the unique network_id identifier assigned to the active network, and WPA_ID_STR contains the content of the id_str option.

-P file
Set the location of the PID file.

-G ping interval
Set the interval (in seconds) at which wpa_cli pings the supplicant.

command
Run a command. The available commands are listed in the next section.

COMMANDS

The following commands are available:

status
get current WPA/EAPOL/EAP status

mib
get MIB variables (dot1x, dot11)

help
show this usage help

interface [ifname]
show interfaces/select interface

level <debug level>
change debug level

license
show full wpa_cli license

logoff
IEEE 802.1X EAPOL state machine logoff

logon
IEEE 802.1X EAPOL state machine logon

set
set variables (shows list of variables when run without arguments)

pmksa
show PMKSA cache

reassociate
force reassociation

reconfigure
force wpa_supplicant to re-read its configuration file

preauthenticate <BSSID>
force preauthentication

identity <network id> <identity>
configure identity for an SSID

password <network id> <password>
configure password for an SSID

pin <network id> <pin>
configure pin for an SSID

otp <network id> <password>
configure one-time-password for an SSID

bssid <network id> <BSSID>
set preferred BSSID for an SSID

list_networks
list configured networks

terminate
terminate wpa_supplicant

quit
exit wpa_cli

SEE ALSO

wpa_supplicant(8)

LEGAL

wpa_supplicant is copyright (c) 2003-2022, Jouni Malinen <[email protected]> and contributors. All Rights Reserved.

This program is licensed under the BSD license (the one with advertisement clause removed).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

124 - Linux cli command update-catalog

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-catalog and provides detailed information about the command update-catalog, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-catalog.

NAME πŸ–₯️ update-catalog πŸ–₯️

catalog - create or update entry in SGML catalog file

SYNOPSIS

update-catalog [options] –add centralized_catalog ordinary_catalog

update-catalog [options] –remove centralized_catalog ordinary_catalog

update-catalog [options] –update-super

DESCRIPTION

update-catalog inserts, updates or removes entries in the SGML centralized catalogs located in /etc/sgml. To change the SGML super catalog located in /etc/sgml/catalog modify the directory contents of /etc/sgml to contain new files or symbolic links having a .cat extension or remove (or move) existing centralized catalogs and regenerate the super catalog using the –update-super option. See section SUPER CATALOG for details on the generation process.

OPTIONS

–add
Adds an entry for the ordinary_catalog in the centralized_catalog.

–remove
Removes the entry for the ordinary_catalog from the centralized_catalog.

–update-super
Regenerates the SGML super catalog from the contents of the /etc/sgml directory. See section SUPER CATALOG for details on the super catalog generation.

–quiet
Prevents the usual diagnostic output.

–test
Prevents the update of the catalog and writes the resulting SGML catalog to standard output.

–version
Displays the version information and exits.

–help
Display the usage information and exits.

SUPER CATALOG

The super-catalog located in /etc/sgml/catalog cannot be directly modified. It is generated by the update-catalog –update-super command. The generation considers files in the /etc/sgml directory that have a .cat extension. For instance files ending in .old or .disabled are not considered. Before adding a catalog to the super catalog it is parsed and verified in order to not corrupt the super catalog. All referenced catalogs are verified to actually exist. If the check fails, a message is printed and the complete catalog is ignored. This check ensures that a catalog from a package, which is removed but not purged, is removed from the super catalog.

AUTHOR

Ardo van Rangelrooij <[email protected]>

COPYRIGHT

Copyright Β© 2001-2004 Ardo van Rangelrooij Copyright Β© 2012 Helmut Grohne

This is free software; see the GNU General Public Licence version 2 or later for copying conditions. There is no warranty.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

125 - Linux cli command systemd-rc-local-generator

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-rc-local-generator and provides detailed information about the command systemd-rc-local-generator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-rc-local-generator.

NAME πŸ–₯️ systemd-rc-local-generator πŸ–₯️

rc-local-generator, rc-local.service - Compatibility generator and service to start /etc/rc.local during boot

SYNOPSIS

/usr/lib/systemd/system-generators/systemd-rc-local-generator

rc-local.service

DESCRIPTION

systemd-rc-local-generator is a generator that checks whether /etc/rc.local exists and is executable, and if it is, pulls the rc-local.service unit into the boot process. This unit is responsible for running this script during late boot. The script is run after network.target, but in parallel with most other regular system services.

Note that rc-local.service runs with slightly different semantics than the original System V version, which was executed “last” in the boot process, which is a concept that does not translate to systemd.

Also note that rc-local.service is ordered after network.target, which does not mean that the network is functional, see systemd.special(7). If the script requires a configured network connection, it may be desirable to pull in and order it after network-online.target with a drop-in:

/etc/systemd/system/rc-local.service.d/network.conf

[Unit]
Wants=network-online.target
After=network-online.target

Support for /etc/rc.local is provided for compatibility with specific System V systems only. However, it is strongly recommended to avoid using this script today, and instead provide proper unit files with appropriate dependencies for any scripts to run during the boot process. Note that the path to the script is set at compile time and varies between distributions.

systemd-rc-local-generator implements systemd.generator(7).

NOTES

On systems with SELinux, when creating the file, make sure to set the appropriate context, e.g. with “sudo restorecon -v /etc/rc.local”.

SEE ALSO

systemd(1), systemctl(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

126 - Linux cli command systemd-soft-reboot.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-soft-reboot.service and provides detailed information about the command systemd-soft-reboot.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-soft-reboot.service.

NAME πŸ–₯️ systemd-soft-reboot.service πŸ–₯️

soft-reboot.service - Userspace reboot operation

SYNOPSIS

systemd-soft-reboot.service

DESCRIPTION

systemd-soft-reboot.service is a system service that is pulled in by soft-reboot.target and is responsible for performing a userspace-only reboot operation. When invoked, it will send the SIGTERM signal to any processes left running (but does not wait for the processes to exit), and follow up with SIGKILL. If the /run/nextroot/ directory exists (which may be a regular directory, a directory mount point or a symlink to either) then it will switch the file system root to it. It then reexecutes the service manager off the (possibly now new) root file system, which will enqueue a new boot transaction as in a normal reboot.

Such a userspace-only reboot operation permits updating or resetting the entirety of userspace with minimal downtime, as the reboot operation does not transition through:

Β·

The second phase of regular shutdown, as implemented by systemd-shutdown(8).

Β·

The third phase of regular shutdown, i.e. the return to the initrd context.

Β·

The hardware reboot operation.

Β·

The firmware initialization.

Β·

The boot loader initialization.

Β·

The kernel initialization.

Β·

The initrd initialization.

However this form of reboot comes with drawbacks as well:

Β·

The OS update remains incomplete, as the kernel is not reset and continues running.

Β·

Kernel settings (such as /proc/sys/ settings, a.k.a. “sysctl”, or /sys/ settings) are not reset.

These limitations may be addressed by various means, which are outside of the scope of this documentation, such as kernel live-patching and sufficiently comprehensive /etc/sysctl.d/ files.

RESOURCE PASS-THROUGH

Various runtime OS resources can passed from a system runtime to the next, through the userspace reboot operation. Specifically:

Β·

File descriptors placed in the file descriptor store of services that remain active until the very end are passed to the next boot, where they are placed in the file descriptor store of the same unit. For this to work, units must declare DefaultDependencies=no (and avoid a manual Conflicts=shutdown.target or similar) to ensure they are not terminated as usual during the system shutdown operation. Alternatively, use FileDescriptorStorePreserve= to allow the file descriptor store to remain pinned even when the unit is down. See systemd.service(5) for details about the file descriptor store.

Β·

Similar to this, file descriptors associated with .socket units remain open (and connectible) if the units are not stopped during the transition. (Achieved by DefaultDependencies=no.)

Β·

The /run/ file system remains mounted and populated and may be used to pass state information between such userspace reboot cycles.

Β·

Service processes may continue to run over the transition, past soft-reboot and into the next session, if they are placed in services that remain active until the very end of shutdown (which again is achieved via DefaultDependencies=no). They must also be set up to avoid being killed by the aforementioned SIGTERM and SIGKILL via SurviveFinalKillSignal=yes, and also be configured to avoid being stopped on isolate via IgnoreOnIsolate=yes. They also have to be configured to be stopped on normal shutdown, reboot and maintenance mode. Finally, they have to be ordered after basic.target to ensure correct ordering on boot. Note that in case any new or custom units are used to isolate to, or that implement an equivalent shutdown functionality, they will also have to be configured manually for correct ordering and conflicting. For example:

[Unit] Description=My Surviving Service SurviveFinalKillSignal=yes IgnoreOnIsolate=yes DefaultDependencies=no After=basic.target Conflicts=reboot.target kexec.target poweroff.target halt.target rescue.target emergency.target Before=shutdown.target rescue.target emergency.target

[Service]
Type=oneshot
ExecStart=sleep infinity

Β·

On top of the above, templated units also need a configuration file for their slice, as they by default use a slice named after the non-templated part of the unit. For example, for a [email protected] instance, a system-foo.slice unit may be added with the following content:

[Unit] SurviveFinalKillSignal=yes IgnoreOnIsolate=yes DefaultDependencies=no

Β·

File system mounts may remain mounted during the transition, and complex storage attached, if configured to remain until the very end of the shutdown process. (Also achieved via DefaultDependencies=no, and by avoiding Conflicts=umount.target)

Β·

If the unit publishes a service over D-Bus, the connection needs to be re-established after soft-reboot as the D-Bus broker will be stopped and then started again. When using the sd-bus library this can be achieved by adapting the following example.

/* SPDX-License-Identifier: MIT-0 */

/* A D-Bus service that automatically reconnects when the system bus is
 * restarted.
 *
 * Compile with cc sd_bus_service_reconnect.c $(pkg-config --libs --cflags libsystemd)
 *
 * To allow the program to take ownership of the name org.freedesktop.ReconnectExample,
 * add the following as /etc/dbus-1/system.d/org.freedesktop.ReconnectExample.conf
 * and then reload the broker with systemctl reload dbus:

<?xml version="1.0"?> <!--*-nxml-*-->
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
  "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
  <policy user="root">
    <allow own="org.freedesktop.ReconnectExample"/>
    <allow send_destination="org.freedesktop.ReconnectExample"/>
    <allow receive_sender="org.freedesktop.ReconnectExample"/>
  </policy>

  <policy context="default">
    <allow send_destination="org.freedesktop.ReconnectExample"/>
    <allow receive_sender="org.freedesktop.ReconnectExample"/>
  </policy>
</busconfig>

 *
 * To get the property via busctl:
 *
 * $ busctl --user get-property org.freedesktop.ReconnectExample \
 *                              /org/freedesktop/ReconnectExample \
 *                              org.freedesktop.ReconnectExample \
 *                              Example
 * s "example"
 */

#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <systemd/sd-bus.h>

#define _cleanup_(f) __attribute__((cleanup(f)))

static int log_error(int r, const char *str) {
  fprintf(stderr, "%s failed: %s

“, str, strerror(-r));

  return r;
}

typedef struct object {
  const char *example;
  sd_bus **bus;
  sd_event **event;
} object;

static int property_get(
                sd_bus *bus,
                const char *path,
                const char *interface,
                const char *property,
                sd_bus_message *reply,
                void *userdata,
                sd_bus_error *error) {

  object *o = userdata;

  if (strcmp(property, "Example") == 0)
    return sd_bus_message_append(reply, "s", o->example);

  return sd_bus_error_setf(error,
                           SD_BUS_ERROR_UNKNOWN_PROPERTY,
                           "Unknown property %s",
                           property);
}

/* https://www.freedesktop.org/software/systemd/man/sd_bus_add_object.html */
static const sd_bus_vtable vtable[] = {
  SD_BUS_VTABLE_START(0),
  SD_BUS_PROPERTY(
    "Example", "s",
    property_get,
    0,
    SD_BUS_VTABLE_PROPERTY_CONST),
  SD_BUS_VTABLE_END
};

static int setup(object *o);

static int on_disconnect(sd_bus_message *message, void *userdata, sd_bus_error *ret_error) {
  int r;

  r = setup((object *)userdata);
  if (r < 0) {
    object *o = userdata;
    r = sd_event_exit(*o->event, r);
    if (r < 0)
      return log_error(r, "sd_event_exit()");
  }

  return 1;
}

/* Ensure the event loop exits with a clear error if acquiring the well-known
 * service name fails */
static int request_name_callback(sd_bus_message *m, void *userdata, sd_bus_error *ret_error) {
  int r;

  if (!sd_bus_message_is_method_error(m, NULL))
    return 1;

  const sd_bus_error *error = sd_bus_message_get_error(m);

  if (sd_bus_error_has_names(error, SD_BUS_ERROR_TIMEOUT, SD_BUS_ERROR_NO_REPLY))
    return 1; /* The bus is not available, try again later */

  fprintf(stderr, "Failed to request name: %s

“, error->message);

  object *o = userdata;
  r = sd_event_exit(*o->event, -sd_bus_error_get_errno(error));
  if (r < 0)
    return log_error(r, "sd_event_exit()");

  return 1;
}

static int setup(object *o) {
  int r;

  /* If we are reconnecting, then the bus object needs to be closed, detached
   * from the event loop and recreated.
   * https://www.freedesktop.org/software/systemd/man/sd_bus_detach_event.html
   * https://www.freedesktop.org/software/systemd/man/sd_bus_close_unref.html
   */
  if (*o->bus) {
    r = sd_bus_detach_event(*o->bus);
    if (r < 0)
      return log_error(r, "sd_bus_detach_event()");
    *o->bus = sd_bus_close_unref(*o->bus);
  }

  /* Set up a new bus object for the system bus, configure it to wait for D-Bus
   * to be available instead of failing if it is not, and start it. All the
   * following operations are asynchronous and will not block waiting for D-Bus
   * to be available.
   * https://www.freedesktop.org/software/systemd/man/sd_bus_new.html
   * https://www.freedesktop.org/software/systemd/man/sd_bus_set_address.html
   * https://www.freedesktop.org/software/systemd/man/sd_bus_set_bus_client.html
   * https://www.freedesktop.org/software/systemd/man/sd_bus_negotiate_creds.html
   * https://www.freedesktop.org/software/systemd/man/sd_bus_set_watch_bind.html
   * https://www.freedesktop.org/software/systemd/man/sd_bus_set_connected_signal.html
   * https://www.freedesktop.org/software/systemd/man/sd_bus_start.html
   */
  r = sd_bus_new(o->bus);
  if (r < 0)
    return log_error(r, "sd_bus_new()");
  r = sd_bus_set_address(*o->bus, "unix:path=/run/dbus/system_bus_socket");
  if (r < 0)
    return log_error(r, "sd_bus_set_address()");
  r = sd_bus_set_bus_client(*o->bus, 1);
  if (r < 0)
    return log_error(r, "sd_bus_set_bus_client()");
  r = sd_bus_negotiate_creds(*o->bus, 1, SD_BUS_CREDS_UID|SD_BUS_CREDS_EUID|SD_BUS_CREDS_EFFECTIVE_CAPS);
  if (r < 0)
    return log_error(r, "sd_bus_negotiate_creds()");
  r = sd_bus_set_watch_bind(*o->bus, 1);
  if (r < 0)
    return log_error(r, "sd_bus_set_watch_bind()");
  r = sd_bus_start(*o->bus);
  if (r < 0)
    return log_error(r, "sd_bus_start()");

  /* Publish an interface on the bus, specifying our well-known object access
   * path and public interface name.
   * https://www.freedesktop.org/software/systemd/man/sd_bus_add_object.html
   * https://dbus.freedesktop.org/doc/dbus-tutorial.html
   */
  r = sd_bus_add_object_vtable(*o->bus,
                               NULL,
                               "/org/freedesktop/ReconnectExample",
                               "org.freedesktop.ReconnectExample",
                               vtable,
                               o);
  if (r < 0)
    return log_error(r, "sd_bus_add_object_vtable()");
  /* By default the service is only assigned an ephemeral name. Also add a
   * well-known one, so that clients know whom to call. This needs to be
   * asynchronous, as D-Bus might not be yet available. The callback will check
   * whether the error is expected or not, in case it fails.
   * https://www.freedesktop.org/software/systemd/man/sd_bus_request_name.html
   */
  r = sd_bus_request_name_async(*o->bus,
                                NULL,
                                "org.freedesktop.ReconnectExample",
                                0,
                                request_name_callback,
                                o);
  if (r < 0)
    return log_error(r, "sd_bus_request_name_async()");
  /* When D-Bus is disconnected this callback will be invoked, which will set up
   * the connection again. This needs to be asynchronous, as D-Bus might not yet
   * be available.
   * https://www.freedesktop.org/software/systemd/man/sd_bus_match_signal_async.html
   */
  r = sd_bus_match_signal_async(*o->bus,
                                NULL,
                                "org.freedesktop.DBus.Local",
                                NULL,
                                "org.freedesktop.DBus.Local",
                                "Disconnected",
                                on_disconnect,
                                NULL,
                                o);
  if (r < 0)
    return log_error(r, "sd_bus_match_signal_async()");
  /* Attach the bus object to the event loop so that calls and signals are
   * processed.
   * https://www.freedesktop.org/software/systemd/man/sd_bus_attach_event.html
   */
  r = sd_bus_attach_event(*o->bus, *o->event, 0);
  if (r < 0)
    return log_error(r, "sd_bus_attach_event()");

  return 0;
}

int main(int argc, char **argv) {
  /* The bus should be relinquished before the program terminates. The cleanup
   * attribute allows us to do it nicely and cleanly whenever we exit the block.
   */
  _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
  _cleanup_(sd_event_unrefp) sd_event *event = NULL;
  object o = {
    .example = "example",
    .bus = &bus,
    .event = &event,
  };
  int r;

  /* Create an event loop data structure, with default parameters.
   * https://www.freedesktop.org/software/systemd/man/sd_event_default.html
   */
  r = sd_event_default(&event);
  if (r < 0)
    return log_error(r, "sd_event_default()");

  /* By default the event loop will terminate when all sources have disappeared,
   * so we have to keep it occupied. Register signal handling to do so.
   * https://www.freedesktop.org/software/systemd/man/sd_event_add_signal.html
   */
  r = sd_event_add_signal(event, NULL, SIGINT|SD_EVENT_SIGNAL_PROCMASK, NULL, NULL);
  if (r < 0)
    return log_error(r, "sd_event_add_signal(SIGINT)");

  r = sd_event_add_signal(event, NULL, SIGTERM|SD_EVENT_SIGNAL_PROCMASK, NULL, NULL);
  if (r < 0)
    return log_error(r, "sd_event_add_signal(SIGTERM)");

  r = setup(&o);
  if (r < 0)
    return EXIT_FAILURE;

  /* Enter the main loop, it will exit only on sigint/sigterm.
   * https://www.freedesktop.org/software/systemd/man/sd_event_loop.html
   */
  r = sd_event_loop(event);
  if (r < 0)
    return log_error(r, "sd_event_loop()");

  /* https://www.freedesktop.org/software/systemd/man/sd_bus_release_name.html */
  r = sd_bus_release_name(bus, "org.freedesktop.ReconnectExample");
  if (r < 0)
    return log_error(r, "sd_bus_release_name()");

  return 0;
}

Even though passing resources from one soft reboot cycle to the next is possible this way, we strongly suggest to use this functionality sparingly only, as it creates a more fragile system as resources from different versions of the OS and applications might be mixed with unforeseen consequences. In particular its recommended to avoid allowing processes to survive the soft reboot operation, as this means code updates will necessarily be incomplete, and processes typically pin various other resources (such as the file system they are backed by), thus increasing memory usage (as two versions of the OS/application/file system might be kept in memory). Leaving processes running during a soft-reboot operation requires disconnecting the service comprehensively from the rest of the OS, i.e. minimizing IPC and reducing sharing of resources with the rest of the OS. A possible mechanism to achieve this is the concept of Portable Services[1], but make sure no resource from the hosts OS filesystems is pinned via BindPaths= or similar unit settings, otherwise the old, originating filesystem will remain mounted as long as the unit is running.

NOTES

Note that because systemd-shutdown(8) is not executed, the executables in /usr/lib/systemd/system-shutdown/ are not executed either.

Note that systemd-soft-reboot.service (and related units) should never be executed directly. Instead, trigger system shutdown with a command such as “systemctl soft-reboot”.

Note that if a new root file system has been set up on “/run/nextroot/”, a soft-reboot will be performed when the reboot command is invoked.

SEE ALSO

systemd(1), systemctl(1), systemd.special(7), systemd-poweroff.service(8), systemd-suspend.service(8), bootup(7)

NOTES

Portable Services

https://systemd.io/PORTABLE_SERVICES

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

127 - Linux cli command tcpnice

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpnice and provides detailed information about the command tcpnice, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpnice.

NAME πŸ–₯️ tcpnice πŸ–₯️

slow down TCP connections on a LAN

SYNOPSIS

tcpnice [-A] [-I] [-M] [-i interface] expression

DESCRIPTION

tcpnice slows down specified TCP connections on a LAN via “active” traffic shaping.

OPTIONS

-A
Inject TCP tiny window advertisements.

-I
Inject ICMP source quench replies.

-M
Inject ICMP fragmentation-needed replies with tiny next-hop MTUs.

-i interface
Specify the interface to listen on.

expression
Specify a tcpdump(8) filter expression to select the connections to slow down.

If no attack type is given, all attacks will be enabled.

SEE ALSO

dsniff(8), tcpkill(8)

AUTHOR

Dug Song <[email protected]>
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

128 - Linux cli command vfs_worm

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_worm and provides detailed information about the command vfs_worm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_worm.

NAME πŸ–₯️ vfs_worm πŸ–₯️

disallows writes for older file

SYNOPSIS

vfs objects = worm

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_worm module controls the writability of files and folders depending on their change time and a adjustable grace period.

If the change time of a file or directory is older than the specified grace period, the write access will be denied, independent of further access controls (e.g. by the filesystem).

In the case that the grace period is not exceed, the worm module will not impact any access controls.

OPTIONS

worm:grace_period = SECONDS

Period in seconds which defines the time how long the write access should be handled by the normal access controls. After this grace period the file or directory becomes read only.

EXAMPLES

Deny the write access to files and folders, which are older than five minutes (300 seconds):

[wormshare] vfs objects = worm worm:grace_period = 300

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

129 - Linux cli command tc-flow

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-flow and provides detailed information about the command tc-flow, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-flow.

NAME πŸ–₯️ tc-flow πŸ–₯️

flow based traffic control filter

SYNOPSIS

Mapping mode:

tc filter … **flow map key ** KEY [ OPS ] [ OPTIONS ]

Hashing mode:

tc filter … **flow hash keys ** KEY_LIST [ perturb secs ] [ OPTIONS ]

OPS := [ OPS ] OP

OPTIONS := [ divisor NUM ] [ baseclass ID ] [ match EMATCH_TREE ] [ action ACTION_SPEC ]

KEY_LIST := [ KEY_LIST ] KEY

OP := { or | and | xor | rshift | addend } NUM

ID := X:Y

KEY := { src | dst | proto | proto-src | proto-dst | iif | priority | mark | nfct | nfct-src | nfct-dst | nfct-proto-src | nfct-proto-dst | rt-classid | sk-uid | sk-gid | vlan-tag | rxhash }

DESCRIPTION

The flow classifier is meant to extend the SFQ hashing capabilities without hard-coding new hash functions. It also allows deterministic mappings of keys to classes.

OPTIONS

action* ACTION_SPEC*
Apply an action from the generic actions framework on matching packets.

baseclass* ID*
An offset for the resulting class ID. ID may be root, none or a hexadecimal class ID in the form [X**:**]Y. X must match qdisc’s/class’s major handle (if omitted, the correct value is chosen automatically). If the whole baseclass is omitted, Y defaults to 1.

divisor* NUM*
Number of buckets to use for sorting into. Keys are calculated modulo NUM.

**hash keys **KEY-LIST
Perform a jhash2 operation over the keys in KEY-LIST, the result (modulo the divisor if given) is taken as class ID, optionally offset by the value of baseclass. It is possible to specify an interval (in seconds) after which jhash2’s entropy source is recreated using the perturb parameter.

**map key **KEY
Packet data identified by KEY is translated into class IDs to push the packet into. The value may be mangled by OPS before using it for the mapping. They are applied in the order listed here:

and* NUM*
Perform bitwise AND operation with numeric value NUM.

or* NUM*
Perform bitwise OR operation with numeric value NUM.

xor* NUM*
Perform bitwise XOR operation with numeric value NUM.

rshift* NUM*
Shift the value of KEY to the right by NUM bits.

addend* NUM*
Add NUM to the value of KEY.

For the or, and, xor and rshift operations, NUM is assumed to be an unsigned, 32bit integer value. For the addend operation, NUM may be much more complex: It may be prefixed by a minus (’-’) sign to cause subtraction instead of addition and for keys of src, dst, nfct-src and nfct-dst it may be given in IP address notation. See below for an illustrating example.

match* EMATCH_TREE*
Match packets using the extended match infrastructure. See tc-ematch(8) for a detailed description of the allowed syntax in EMATCH_TREE.

KEYS

In mapping mode, a single key is used (after optional permutation) to build a class ID. The resulting ID is deducible in most cases. In hashing more, a number of keys may be specified which are then hashed and the output used as class ID. This ID is not deducible in beforehand, and may even change over time for a given flow if a perturb interval has been given.

The range of class IDs can be limited by the divisor option, which is used for a modulus.

src, dst
Use source or destination address as key. In case of IPv4 and TIPC, this is the actual address value. For IPv6, the 128bit address is folded into a 32bit value by XOR’ing the four 32bit words. In all other cases, the kernel-internal socket address is used (after folding into 32bits on 64bit systems).

proto
Use the layer four protocol number as key.

proto-src
Use the layer four source port as key. If not available, the kernel-internal socket address is used instead.

proto-dst
Use the layer four destination port as key. If not available, the associated kernel-internal dst_entry address is used after XOR’ing with the packet’s layer three protocol number.

iif
Use the incoming interface index as key.

priority
Use the packet’s priority as key. Usually this is the IP header’s DSCP/ECN value.

mark
Use the netfilter fwmark as key.

nfct
Use the associated conntrack entry address as key.

nfct-src, nfct-dst, nfct-proto-src, nfct-proto-dst
These are conntrack-aware variants of src, dst, proto-src and proto-dst. In case of NAT, these are basically the packet header’s values before NAT was applied.

rt-classid
Use the packet’s destination routing table entry’s realm as key.

sk-uid
sk-gid
For locally generated packets, use the user or group ID the originating socket belongs to as key.

vlan-tag
Use the packet’s vlan ID as key.

rxhash
Use the flow hash as key.

EXAMPLES

Classic SFQ hash:
tc filter add … flow hash
keys src,dst,proto,proto-src,proto-dst divisor 1024

Classic SFQ hash, but using information from conntrack to work properly in combination with NAT:
tc filter add … flow hash
keys nfct-src,nfct-dst,proto,nfct-proto-src,nfct-proto-dst
divisor 1024

Map destination IPs of 192.168.0.0/24 to classids 1-256:
tc filter add … flow map
key dst addend -192.168.0.0 divisor 256

Alternative to the above:
tc filter add … flow map
key dst and 0xff

The same, but in reverse order:
tc filter add … flow map
key dst and 0xff xor 0xff

SEE ALSO

tc(8), tc-ematch(8), tc-sfq(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

130 - Linux cli command tc-pie

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-pie and provides detailed information about the command tc-pie, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-pie.

NAME πŸ–₯️ tc-pie πŸ–₯️

Proportional Integral controller-Enhanced AQM algorithm

SYNOPSIS

tc qdisc … pie [ limit PACKETS ] [ target TIME ] [ tupdate TIME ] [ alpha int ] [ beta int ] [ ecn | noecn ] [ bytemode | nobytemode ] [ dq_rate_estimator | no_dq_rate_estimator ]

DESCRIPTION

Proportional Integral controller-Enhanced (PIE) is a control theoretic active queue management scheme. It is based on the proportional integral controller but aims to control delay. The main design goals are o Low latency control o High link utilization o Simple implementation o Guaranteed stability and fast responsiveness

ALGORITHM

PIE is designed to control delay effectively. First, an average dequeue rate is estimated based on the standing queue. The rate is used to calculate the current delay. Then, on a periodic basis, the delay is used to calculate the dropping probability. Finally, on arrival, a packet is dropped (or marked) based on this probability.

PIE makes adjustments to the probability based on the trend of the delay i.e. whether it is going up or down.The delay converges quickly to the target value specified.

alpha and beta are statically chosen parameters chosen to control the drop probability growth and are determined through control theoretic approaches. alpha determines how the deviation between the current and target latency changes probability. beta exerts additional adjustments depending on the latency trend.

The drop probability is used to mark packets in ecn mode. However, as in RED, beyond 10% packets are dropped based on this probability. The bytemode is used to drop packets proportional to the packet size.

Additional details can be found in the paper cited below.

PARAMETERS

limit

limit on the queue size in packets. Incoming packets are dropped when this limit is reached. Default is 1000 packets.

target

is the expected queue delay. The default target delay is 15ms.

tupdate

is the frequency at which the system drop probability is calculated. The default is 15ms.

alpha

beta

alpha and beta are parameters chosen to control the drop probability. These should be in the range between 0 and 32.

ecn | noecn

is used to mark packets instead of dropping. ecn to turn on ecn mode, noecn to turn off ecn mode. By default, ecn is turned off.

bytemode | nobytemode

is used to scale drop probability proportional to packet size. bytemode to turn on bytemode, nobytemode to turn off bytemode. By default, bytemode is turned off.

dq_rate_estimator | no_dq_rate_estimator

is used to calculate delay using Little’s law. dq_rate_estimator to turn on dq_rate_estimator, no_dq_rate_estimator to turn off no_dq_rate_estimator. By default, dq_rate_estimator is turned off.

EXAMPLES

# tc qdisc add dev eth0 root pie # tc -s qdisc show qdisc pie 8036: dev eth0 root refcnt 2 limit 1000p target 15.0ms tupdate 16.0ms alpha 2 beta 20 Sent 31216108 bytes 20800 pkt (dropped 80, overlimits 0 requeues 0) backlog 16654b 11p requeues 0 prob 0.006161 delay 15666us pkts_in 20811 overlimit 0 dropped 80 maxq 50 ecn_mark 0

# tc qdisc add dev eth0 root pie dq_rate_estimator # tc -s qdisc show qdisc pie 8036: dev eth0 root refcnt 2 limit 1000p target 15.0ms tupdate 16.0ms alpha 2 beta 20 Sent 63947420 bytes 42414 pkt (dropped 41, overlimits 0 requeues 0) backlog 271006b 179p requeues 0 prob 0.000092 delay 22200us avg_dq_rate 12145996 pkts_in 41 overlimit 343 dropped 0 maxq 50 ecn_mark 0

# tc qdisc add dev eth0 root pie limit 100 target 20ms tupdate 30ms ecn # tc -s qdisc show qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 20.0ms tupdate 32.0ms alpha 2 beta 20 ecn Sent 6591724 bytes 4442 pkt (dropped 27, overlimits 0 requeues 0) backlog 18168b 12p requeues 0 prob 0.008845 delay 11348us pkts_in 4454 overlimit 0 dropped 27 maxq 65 ecn_mark 0

# tc qdisc add dev eth0 root pie limit 100 target 50ms tupdate 30ms bytemode # tc -s qdisc show qdisc pie 8036: dev eth0 root refcnt 2 limit 100p target 50.0ms tupdate 32.0ms alpha 2 beta 20 bytemode Sent 1616274 bytes 1137 pkt (dropped 0, overlimits 0 requeues 0) backlog 13626b 9p requeues 0 prob 0.000000 delay 0us pkts_in 1146 overlimit 0 dropped 0 maxq 23 ecn_mark 0

SEE ALSO

tc(8), tc-codel(8) tc-red(8)

SOURCES

o RFC 8033: https://tools.ietf.org/html/rfc8033

AUTHORS

PIE was implemented by Vijay Subramanian and Mythili Prabhu, also the authors of this man page. Please report bugs and corrections to the Linux networking development mailing list at <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

131 - Linux cli command tasksel

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tasksel and provides detailed information about the command tasksel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tasksel.

NAME πŸ–₯️ tasksel πŸ–₯️

a user interface for installing tasks

SYNOPSIS

tasksel install <task>

tasksel remove <task>

tasksel [options]

DESCRIPTION

tasksel shows all available tasks and allows selecting ones to install

OPTIONS

-t, –test
test mode; don’t actually install or remove packages

–new-install
automatically select some tasks without even displaying them to the user; default other tasks to on; used during new Debian installs.

–list-tasks
list on stdout the tasks that would be displayed in the tasksel interface

–task-packages task
lists on stdout the packages that are available and part of the given task Note that this option may be given more than once.

–task-desc task
outputs the extended description of the given task

–debconf-apt-progress options
Pass the specified options to the debconf-apt-progress command that tasksel runs.

SEE ALSO

dpkg (8), apt-get (8)

FILES

/usr/share/tasksel/descs/*.desc and /usr/local/share/tasksel/descs/*.desc are used to define tasks.

AUTHOR

tasksel was written by Randolph Chung <[email protected]> and Joey Hess <[email protected]>

HISTORY

This document first appeared with tasksel-1.0

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

132 - Linux cli command vfs_unityed_media

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_unityed_media and provides detailed information about the command vfs_unityed_media, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_unityed_media.

NAME πŸ–₯️ vfs_unityed_media πŸ–₯️

Allow multiple Avid clients to share a network drive.

SYNOPSIS

vfs objects = unityed_media

DESCRIPTION

This VFS module is part of the samba(7) suite.

Unityed Media is related with Media Harmony VFS, the main difference between Unityed Media and Media Harmony is that Unityed Media doesnt need manual refreshing of media directories. Unityed Media handles your media files in a similar way to the way Unity, ISIS, EditShare or another dedicated solution does. Without client-side application and on hardware of your choice.

This module is stackable.

CONFIGURATION

If Mac and Windows Avid clients will be accessing the same folder, they should be given separate share definitions, with hidden Mac files vetoed on the Windows share. See EXAMPLES.

OPTIONS

unityed_media:clientid = user | hostname | ip

Controls what client related identifier is appended to user specific paths:

Β·

user (default) - use the username.

Β·

hostname - use the hostname. Note this will not work with OS X clients as these always send a generic string (“workstation”) to the server..

Β·

ip - use the clients IP address. NOTE: this is untested and may not work at all.

EXAMPLES

Enable unityed_media for Mac and Windows clients:

    [avid_mac]
	path = /avid
	vfs objects = unityed_media
        [avid_win]
	path = /avid
	vfs objects = unityed_media
	veto files = /.DS_Store/._@/.Trash@/.Spotlight@/.hidden/.hotfiles@/.vol/
	delete veto files = yes

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

133 - Linux cli command tc-taprio

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-taprio and provides detailed information about the command tc-taprio, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-taprio.

NAME πŸ–₯️ tc-taprio πŸ–₯️

Time Aware Priority Shaper

SYNOPSIS

tc qdisc … dev dev parent classid [ handle major: ] taprio num_tc tcs

map P0 P1 P2 … queues count1@offset1 count2@offset2 …

base-time base-time clockid clockid

sched-entry <command 1> <gate mask 1> <interval 1>

sched-entry <command 2> <gate mask 2> <interval 2>

sched-entry <command 3> <gate mask 3> <interval 3>

sched-entry <command N> <gate mask N> <interval N>

[ max-sdu <queueMaxSDU[TC 0]> <queueMaxSDU[TC 1]> <queueMaxSDU[TC N]> ]

[ fp <adminStatus[TC 0]> <adminStatus[TC 1]> <adminStatus[TC N]> ]

DESCRIPTION

The TAPRIO qdisc implements a simplified version of the scheduling state machine defined by IEEE 802.1Q-2018 Section 8.6.9, which allows configuration of a sequence of gate states, where each gate state allows outgoing traffic for a subset (potentially empty) of traffic classes.

How traffic is mapped to different hardware queues is similar to mqprio(8) and so the map and queues parameters have the same meaning.

The other parameters specify the schedule, and at what point in time it should start (it can behave as the schedule started in the past).

PARAMETERS

num_tc
Number of traffic classes to use. Up to 16 classes supported.

map

The priority to traffic class map. Maps priorities 0..15 to a specified traffic class. See mqprio(8) for more details.

queues

Provide count and offset of queue range for each traffic class. In the format, count@offset. Queue ranges for each traffic classes cannot overlap and must be a contiguous range of queues.

base-time

Specifies the instant in nanoseconds, using the reference of clockid, defining the time when the schedule starts. If ‘base-time’ is a time in the past, the schedule will start at

base-time + (N * cycle-time)

where N is the smallest integer so the resulting time is greater than “now”, and “cycle-time” is the sum of all the intervals of the entries in the schedule;

clockid

Specifies the clock to be used by qdisc’s internal timer for measuring time and scheduling events. This argument must be omitted when using the full-offload feature (flags 0x2), since in that case, the clockid is implicitly /dev/ptpN (where N is given by ethtool -T eth0 | grep ‘PTP Hardware Clock’ ), and therefore not necessarily synchronized with the system’s CLOCK_TAI.

sched-entry

There may multiple sched-entry parameters in a single schedule. Each one has the

sched-entry <command> <gatemask> <interval>

format. The only supported <command> is “S”, which means “SetGateStates”, following the IEEE 802.1Q-2018 definition (Table 8-7). <gate mask> is a bitmask where each bit is a associated with a traffic class, so bit 0 (the least significant bit) being “on” means that traffic class 0 is “active” for that schedule entry. <interval> is a time duration, in nanoseconds, that specifies for how long that state defined by <command> and <gate mask> should be held before moving to the next entry.

flags

This is a bit mask which specifies different modes for taprio.

0x1
Enables the txtime-assist feature. In this mode, taprio will set the transmit timestamp depending on the interval in which the packet needs to be transmitted. It will then utililize the etf(8) qdisc to sort and transmit the packets at the right time. The second example can be used as a reference to configure this mode.

0x2
Enables the full-offload feature. In this mode, taprio will pass the gate control list to the NIC which will execute it cyclically in hardware. When using full-offload, there is no need to specify the clockid argument.

The txtime-assist and full-offload features are mutually exclusive, i.e. setting flags to 0x3 is invalid.

txtime-delay

This parameter is specific to the txtime offload mode. It specifies the maximum time a packet might take to reach the network card from the taprio qdisc. The value should always be greater than the delta specified in the etf(8) qdisc.

max-sdu

Specifies an array containing at most 16 elements, one per traffic class, which corresponds to the queueMaxSDU table from IEEE 802.1Q-2018. Each array element represents the maximum L2 payload size that can egress that traffic class. Elements that are not filled in default to 0. The value 0 means that the traffic class can send packets up to the port’s maximum MTU in size.

fp

Selects whether traffic classes are express or preemptible. See tc-mqprio(8) for details.

EXAMPLES

The following example shows how an traffic schedule with three traffic classes (“num_tc 3”), which are separated different traffic classes, we are going to call these TC 0, TC 1 and TC 2. We could read the “map” parameter below as: traffic with priority 3 is classified as TC 0, priority 2 is classified as TC 1 and the rest is classified as TC 2.

The schedule will start at instant 1528743495910289987 using the reference CLOCK_TAI. The schedule is composed of three entries each of 300us duration.

# tc qdisc replace dev eth0 parent root handle 100 stab overhead 24 taprio \
              num_tc 3 \
              map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
              queues 1@0 1@1 2@2 \
              base-time 1528743495910289987 \
              sched-entry S 01 300000 \
              sched-entry S 02 300000 \
              sched-entry S 04 300000 \
              clockid CLOCK_TAI

Following is an example to enable the txtime offload mode in taprio. See etf(8) for more information about configuring the ETF qdisc.

# tc qdisc replace dev eth0 parent root handle 100 stab overhead 24 taprio \
              num_tc 3 \
              map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
              queues 1@0 1@0 1@0 \
              base-time 1528743495910289987 \
              sched-entry S 01 300000 \
              sched-entry S 02 300000 \
              sched-entry S 04 400000 \
              flags 0x1 \
              txtime-delay 200000 \
              clockid CLOCK_TAI

# tc qdisc replace dev $IFACE parent 100:1 etf skip_skb_check \
              offload delta 200000 clockid CLOCK_TAI

The following is a schedule in full offload mode. The base-time is 200 ns and the cycle-time is implicitly calculated as the sum of all sched-entry durations (i.e. 20 us + 20 us + 60 us = 100 us). Although the base-time is in the past, the hardware will start executing the schedule at a PTP time equal to the smallest integer multiple of 100 us, plus 200 ns, that is larger than the NIC’s current PTP time. In addition, the MTU for traffic class 5 is limited to 200 octets, so that the interference this creates upon traffic class 7 during the time window when their gates are both open is bounded. The interference is determined by the transmit time of the max SDU, plus the L2 header length, plus the L1 overhead (determined from the size table specified using tc-stab(8)).

# tc qdisc add dev eth0 parent root stab overhead 24 taprio \
              num_tc 8 \
              map 0 1 2 3 4 5 6 7 \
              queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 \
              max-sdu 0 0 0 0 0 200 0 0 \
              base-time 200 \
              sched-entry S 80 20000 \
              sched-entry S a0 20000 \
              sched-entry S 5f 60000 \
              flags 0x2

SEE ALSO

tc-stab(8)

AUTHORS

Vinicius Costa Gomes <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

134 - Linux cli command umount.nfs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command umount.nfs and provides detailed information about the command umount.nfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the umount.nfs.

NAME πŸ–₯️ umount.nfs πŸ–₯️

unmount a Network File System

SYNOPSIS

umount.nfs* dir*** [-fvnrlh ]**

DESCRIPTION

umount.nfs and umount.nfs4 are a part of nfs(5) utilities package, which provides NFS client functionality.

umount.nfs4 and umount.nfs are meant to be used by the umount(8) command for unmounting NFS shares. This subcommand, however, can also be used as a standalone command with limited functionality.

dir is the directory on which the file system is mounted.

OPTIONS

-f
Force unmount the file system in case of unreachable NFS system.

-v
Be verbose.

-n
Do not update /etc/mtab. By default, an entry is created in /etc/mtab for every mounted file system. Use this option to skip deleting an entry.

-r
In case unmounting fails, try to mount read-only.

-l
Lazy unmount. Detach the file system from the file system hierarchy now, and cleanup all references to the file system as soon as it is not busy anymore.

-h
Print help message.

NOTE

For further information please refer nfs(5) and umount(8) manual pages.

FILES

/etc/fstab
file system table

/etc/mtab
table of mounted file systems

SEE ALSO

nfs(5), umount(8),

AUTHOR

Amit Gud <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

135 - Linux cli command systemd-pcrphase-sysinit.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pcrphase-sysinit.service and provides detailed information about the command systemd-pcrphase-sysinit.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pcrphase-sysinit.service.

NAME πŸ–₯️ systemd-pcrphase-sysinit.service πŸ–₯️

pcrphase.service, systemd-pcrphase-sysinit.service, systemd-pcrphase-initrd.service, systemd-pcrmachine.service, systemd-pcrfs-root.service, [email protected], systemd-pcrextend - Measure boot phase into TPM2 PCR 11, machine ID and file system identity into PCR 15

SYNOPSIS

systemd-pcrphase.service

systemd-pcrphase-sysinit.service

systemd-pcrphase-initrd.service

systemd-pcrmachine.service

systemd-pcrfs-root.service

[email protected]

/usr/lib/systemd/systemd-pcrextend [STRING]

DESCRIPTION

systemd-pcrphase.service, systemd-pcrphase-sysinit.service, and systemd-pcrphase-initrd.service are system services that measure specific strings into TPM2 PCR 11 during boot at various milestones of the boot process.

systemd-pcrmachine.service is a system service that measures the machine ID (see machine-id(5)) into PCR 15.

systemd-pcrfs-root.service and [email protected] are services that measure file system identity information (i.e. mount point, file system type, label and UUID, partition label and UUID) into PCR 15. systemd-pcrfs-root.service does so for the root file system, [email protected] is a template unit that measures the file system indicated by its instance identifier instead.

These services require systemd-stub(7) to be used in a unified kernel image (UKI). They execute no operation when the stub has not been used to invoke the kernel. The stub will measure the invoked kernel and associated vendor resources into PCR 11 before handing control to it; once userspace is invoked these services then will extend TPM2 PCR 11 with certain literal strings indicating phases of the boot process. During a regular boot process PCR 11 is extended with the following strings:

1.

“enter-initrd” β€” early when the initrd initializes, before activating system extension images for the initrd. It acts as a barrier between the time where the kernel initializes and where the initrd starts operating and enables system extension images, i.e. code shipped outside of the UKI. (This extension happens when the systemd-pcrphase-initrd.service(8) service is started.)

2.

“leave-initrd” β€” when the initrd is about to transition into the host file system. It acts as barrier between initrd code and host OS code. (This extension happens when the systemd-pcrphase-initrd.service service is stopped.)

3.

“sysinit” β€” when basic system initialization is complete (which includes local file systems having been mounted), and the system begins starting regular system services. (This extension happens when the systemd-pcrphase-sysinit.service(8) service is started.)

4.

“ready” β€” during later boot-up, after remote file systems have been activated (i.e. after remote-fs.target), but before users are permitted to log in (i.e. before systemd-user-sessions.service). It acts as barrier between the time where unprivileged regular users are still prohibited to log in and where they are allowed to log in. (This extension happens when the systemd-pcrphase.service service is started.)

5.

“shutdown” β€” when the system shutdown begins. It acts as barrier between the time the system is fully up and running and where it is about to shut down. (This extension happens when the systemd-pcrphase.service service is stopped.)

6.

“final” β€” at the end of system shutdown. It acts as barrier between the time the service manager still runs and when it transitions into the final shutdown phase where service management is not available anymore. (This extension happens when the systemd-pcrphase-sysinit.service(8) service is stopped.)

During a regular system lifecycle, PCR 11 is extended with the strings “enter-initrd”, “leave-initrd”, “sysinit”, “ready”, “shutdown”, and “final”.

Specific phases of the boot process may be referenced via the series of strings measured, separated by colons (the “phase path”). For example, the phase path for the regular system runtime is “enter-initrd:leave-initrd:sysinit:ready”, while the one for the initrd is just “enter-initrd”. The phase path for the boot phase before the initrd is an empty string; because thats hard to pass around a single colon (":") may be used instead. Note that the aforementioned six strings are just the default strings and individual systems might measure other strings at other times, and thus implement different and more fine-grained boot phases to bind policy to.

By binding policy of TPM2 objects to a specific phase path it is possible to restrict access to them to specific phases of the boot process, for example making it impossible to access the root file systems encryption key after the system transitioned from the initrd into the host root file system.

Use systemd-measure(1) to pre-calculate expected PCR 11 values for specific boot phases (via the –phase= switch).

systemd-pcrfs-root.service and [email protected] are automatically pulled into the initial transaction by systemd-gpt-auto-generator(8) for the root and /var/ file systems. systemd-fstab-generator(8) will do this for all mounts with the x-systemd.pcrfs mount option in /etc/fstab.

OPTIONS

The /usr/lib/systemd/system-pcrextend executable may also be invoked from the command line, where it expects the word to extend into PCR 11, as well as the following switches:

–bank=

Takes the PCR banks to extend the specified word into. If not specified the tool automatically determines all enabled PCR banks and measures the word into all of them.

Added in version 252.

–pcr=

Takes the index of the PCR to extend. If –machine-id or –file-system= are specified defaults to 15, otherwise defaults to 11.

Added in version 255.

**–tpm2-device=**PATH

Controls which TPM2 device to use. Expects a device node path referring to the TPM2 chip (e.g. /dev/tpmrm0). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a suitable TPM2 device (of which there must be exactly one). The special value “list” may be used to enumerate all suitable TPM2 devices currently discovered.

Added in version 252.

–graceful

If no TPM2 firmware, kernel subsystem, kernel driver or device support is found, exit with exit status 0 (i.e. indicate success). If this is not specified any attempt to measure without a TPM2 device will cause the invocation to fail.

Added in version 253.

–machine-id

Instead of measuring a word specified on the command line into PCR 11, measure the hosts machine ID into PCR 15.

Added in version 253.

–file-system=

Instead of measuring a word specified on the command line into PCR 11, measure identity information of the specified file system into PCR 15. The parameter must be the path to the established mount point of the file system to measure.

Added in version 253.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

FILES

/run/log/systemd/tpm2-measure.log

Measurements are logged into an event log file maintained in /run/log/systemd/tpm2-measure.log, which contains a JSON-SEQ[1] series of objects that follow the general structure of the TCG Canonical Event Log Format (CEL-JSON)[2] event objects (but lack the “recnum” field).

A LOCK_EX BSD file lock (flock(2)) on the log file is acquired while the measurement is made and the file is updated. Thus, applications that intend to acquire a consistent quote from the TPM with the associated snapshot of the event log should acquire a LOCK_SH lock while doing so.

Added in version 252.

SEE ALSO

systemd(1), systemd-stub(7), systemd-measure(1), systemd-gpt-auto-generator(8), systemd-fstab-generator(8), TPM2 PCR Measurements Made by systemd[3]

NOTES

JSON-SEQ

https://www.rfc-editor.org/rfc/rfc7464.html

TCG Canonical Event Log Format (CEL-JSON)

https://trustedcomputinggroup.org/resource/canonical-event-log-format/

TPM2 PCR Measurements Made by systemd

https://systemd.io/TPM2_PCR_MEASUREMENTS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

136 - Linux cli command usbmuxd

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command usbmuxd and provides detailed information about the command usbmuxd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the usbmuxd.

NAME πŸ–₯️ usbmuxd πŸ–₯️

Expose a socket to multiplex connections from and to iOS devices.

SYNOPSIS

usbmuxd [OPTIONS]

DESCRIPTION

usbmuxd stands for “USB multiplexing daemon”. This daemon is in charge of multiplexing connections over USB to an iOS device. To users, it means you can sync your music, contacts, photos, etc. over USB. To developers, it means you can connect to any listening localhost socket on the device. usbmuxd is not used for tethering data transfer which uses a dedicated USB interface as a virtual network device.Β Multiple connections to different TCP ports can happen in parallel. The higher-level layers are handled by libimobiledevice.

When usbmuxd is running (normally started, or stopped as a result of “udev” auto-insertion messages or by systemd) it provides a socket interface in “/var/run/usbmuxd” that is designed to be compatible with the socket interface that is provided on Mac OS X.

You should also create a “usbmux” user that has access to USB devices on your system. Alternatively, you can pass a different username using the -U argument.

Due to iOS 7 the daemon now also manages pairing records with iOS devices and the host in “/var/lib/lockdown” (Linux) or “/var/db/lockdown”Β (Mac OS X). Ensure proper permissions are setup for the daemon to access the directory.

OPTIONS

-U, –user USER
Change to this user after startup (needs USB privileges).

-f, –foreground
Do not daemonize (implies one -v).

-n, –disable-hotplug
Disables automatic discovery of devices on hotplug. Starting another instance will trigger discovery instead.

-z, –enable-exit
Enable “–exit” request from other instances and exit automatically if no device is attached.

-u, –udev
Run in udev operation mode (implies -n and -z).

-s, –systemd
Run in systemd operation mode (implies -z and -f).

-x, –exit
Notify a running instance to exit if there are no devices connected (sends SIGUSR1 to running instance) and exit.

-X, –force-exit
Notify a running instance to exit even if there are still devices connected (always works) and exit.

-v, –verbose
be verbose (use twice or more to increase verbose level).

-V, –version
print version information and exit.

-h, –help
prints usage information.

AUTHOR

The first usbmuxd daemon implementation was authored by Hector Martin.

Now mainly developed by Nikias Bassen, Martin Szulecki and contributors (see AUTHORS file).

SEE ALSO

idevice_id(1), iproxy(1).

ON THE WEB

https://libimobiledevice.org

https://github.com/libimobiledevice/usbmuxd

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

137 - Linux cli command vfs_time_audit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_time_audit and provides detailed information about the command vfs_time_audit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_time_audit.

NAME πŸ–₯️ vfs_time_audit πŸ–₯️

samba vfs module to log slow VFS operations

SYNOPSIS

vfs objects = time_audit

DESCRIPTION

This VFS module is part of the samba(7) suite.

The time_audit VFS module logs system calls that take longer than the number of milliseconds defined by the variable time_audit:timeout. It will log the calls and the time spent in it.

Its kind of comparable with strace -T and is helpful to reveal performance problems with the underlying file and storage subsystems.

This module is stackable.

OPTIONS

time_audit:timeout = number of milliseconds

VFS calls that take longer than the defined number of milliseconds that should be logged. The default is 10000 (10s).

EXAMPLES

This would log VFS calls that take longer than 3 seconds:

    [sample_share]
	path = /test/sample_share
	vfs objects = time_audit
	time_audit:timeout = 3000

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The time_audit VFS module was created with contributions from Abhidnya Chirmule.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

138 - Linux cli command systemd-suspend.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-suspend.service and provides detailed information about the command systemd-suspend.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-suspend.service.

NAME πŸ–₯️ systemd-suspend.service πŸ–₯️

suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, systemd-suspend-then-hibernate.service, systemd-sleep - System sleep state logic

SYNOPSIS

systemd-suspend.service

systemd-hibernate.service

systemd-hybrid-sleep.service

systemd-suspend-then-hibernate.service

/usr/lib/systemd/system-sleep

DESCRIPTION

systemd-suspend.service is a system service that is pulled in by suspend.target and is responsible for the actual system suspend. Similarly, systemd-hibernate.service is pulled in by hibernate.target to execute the actual hibernation. Finally, systemd-hybrid-sleep.service is pulled in by hybrid-sleep.target to execute hybrid hibernation with system suspend and pulled in by suspend-then-hibernate.target to execute system suspend with a timeout that will activate hibernate later.

Immediately before entering system suspend and/or hibernation systemd-suspend.service (and the other mentioned units, respectively) will run all executables in /usr/lib/systemd/system-sleep/ and pass two arguments to them. The first argument will be “pre”, the second either “suspend”, “hibernate”, “hybrid-sleep”, or “suspend-then-hibernate” depending on the chosen action. An environment variable called “SYSTEMD_SLEEP_ACTION” will be set and contain the sleep action that is processing. This is primarily helpful for “suspend-then-hibernate” where the value of the variable will be “suspend”, “hibernate”, or “suspend-after-failed-hibernate” in cases where hibernation has failed. Immediately after leaving system suspend and/or hibernation the same executables are run, but the first argument is now “post”. All executables in this directory are executed in parallel, and execution of the action is not continued until all executables have finished. Note that user.slice will be frozen while the executables are running, so they should not attempt to communicate with any user services expecting a reply.

Note that scripts or binaries dropped in /usr/lib/systemd/system-sleep/ are intended for local use only and should be considered hacks. If applications want to react to system suspend/hibernation and resume, they should rather use the Inhibitor Locks[1].

Note that systemd-suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, and systemd-suspend-then-hibernate.service should never be executed directly. Instead, trigger system sleep with a command such as systemctl suspend or systemctl hibernate.

Internally, this service will echo a string like “mem” into /sys/power/state, to trigger the actual system suspend. What exactly is written where can be configured in the [Sleep] section of /etc/systemd/sleep.conf or a sleep.conf.d file. See systemd-sleep.conf(5).

Note that by default these services freeze user.slice while they run. This prevents the execution of any process in any of the user sessions while the system is entering into and resuming from sleep. Thus, this prevents the hooks in /usr/lib/systemd/system-sleep/, or any other process for that matter, from communicating with any user session process during sleep.

OPTIONS

systemd-sleep understands the following commands:

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

suspend, hibernate, suspend-then-hibernate, hybrid-sleep

Suspend, hibernate, suspend then hibernate, or put the system to hybrid sleep.

Added in version 203.

SEE ALSO

systemd-sleep.conf(5), systemd(1), systemctl(1), systemd.special(7), systemd-halt.service(8)

NOTES

Inhibitor Locks

https://systemd.io/INHIBITOR_LOCKS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

139 - Linux cli command systemd-udev-settle.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-udev-settle.service and provides detailed information about the command systemd-udev-settle.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-udev-settle.service.

NAME πŸ–₯️ systemd-udev-settle.service πŸ–₯️

udev-settle.service - Wait for all pending udev events to be handled

SYNOPSIS

systemd-udev-settle.service

DESCRIPTION

This service calls udevadm settle to wait until all events that have been queued by udev(7) have been processed. It is a crude way to wait until “all” hardware has been discovered. Services may pull in this service and order themselves after it to wait for the udev queue to be empty.

Using this service is not recommended. There can be no guarantee that hardware is fully discovered at any specific time, because the kernel does hardware detection asynchronously, and certain buses and devices take a very long time to become ready, and also additional hardware may be plugged in at any time. Instead, services should subscribe to udev events and react to any new hardware as it is discovered. Services that, based on configuration, expect certain devices to appear, may warn or report failure after a timeout. This timeout should be tailored to the hardware type. Waiting for systemd-udev-settle.service usually slows boot significantly, because it means waiting for all unrelated events too.

SEE ALSO

udev(7), udevadm(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

140 - Linux cli command vpnc-disconnect

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vpnc-disconnect and provides detailed information about the command vpnc-disconnect, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vpnc-disconnect.

NAME πŸ–₯️ vpnc-disconnect πŸ–₯️

client for Cisco VPN3000 Concentrator, IOS and PIX

SYNOPSIS

vpnc [–version] [–print-config] [–help] [–long-help] [options] [config files]

DESCRIPTION

This manual page documents briefly the vpnc and vpnc-disconnect commands.

vpnc is a VPN client for the Cisco 3000 VPN Concentrator, creating a IPSec-like connection as a tunneling network device for the local system. It uses the TUN/TAP driver in Linux kernel 2.4 and above and device tun(4) on BSD. The created connection is presented as a tunneling network device to the local system.

OBLIGATORY WARNING: the most used configuration (XAUTH authentication with pre-shared keys and password authentication) is insecure by design, be aware of this fact when you use vpnc to exchange sensitive data like passwords!

The vpnc daemon by itself does not set any routes, but it calls vpnc-script to do this job. vpnc-script displays a connect banner. If the concentrator supplies a network list for split-tunneling these networks are added to the routing table. Otherwise the default-route will be modified to point to the tunnel. Further a host route to the concentrator is added in the later case. If the client host needs DHCP, care must be taken to add another host route to the DHCP-Server around the tunnel.

The vpnc-disconnect command is used to terminate the connection previously created by vpnc and restore the previous routing configuration.

CONFIGURATION

The daemon reads configuration data from the following places:

  • command line options

  • config file(s) specified on the command line

  • /etc/vpnc/default.conf

  • /etc/vpnc.conf

  • prompting the user if not found above

vpnc can parse options and configuration files in any order. However the first place to set an option wins. configuration filenames which do not contain a / will be searched at /etc/vpnc/<filename> and /etc/vpnc/<filename>.conf. Otherwise <filename> and <filename>.conf will be used. If no configuration file is specified on the command-line at all, both /etc/vpnc/default.conf and /etc/vpnc.conf will be loaded.

Additionally, if the configuration file “-” is specified on the command-line vpnc will read configuration from stdin. The configuration is parsed and the connection proceeds when stdin is closed or the special character CEOT (CTRL-D) is read.

OPTIONS

The program options can be either given as arguments (but not all of them for security reasons) or be stored in a configuration file.

–gateway* <ip/hostname>*
IP/name of your IPSec gateway

conf-variable: IPSec gateway* <ip/hostname>*

–id* <ASCII string>*
your group name

conf-variable: IPSec ID* <ASCII string>*

–secret* <ASCII string>*
your group password (cleartext)

conf-variable: IPSec secret* <ASCII string>*

(configfile only option)
your group password (obfuscated)

conf-variable: IPSec obfuscated secret* <hex string>*

–username* <ASCII string>*
your username

conf-variable: Xauth username* <ASCII string>*

–password* <ASCII string>*
your password (cleartext)

conf-variable: Xauth password* <ASCII string>*

(configfile only option)
your password (obfuscated)

conf-variable: Xauth obfuscated password* <hex string>*

–domain* <ASCII string>*
(NT-) Domain name for authentication

conf-variable: Domain* <ASCII string>*

–xauth-inter
enable interactive extended authentication (for challenge response auth)

conf-variable: Xauth interactive

–vendor* <cisco/netscreen/fortigate>*
vendor of your IPSec gateway

Default: cisco

conf-variable: Vendor* <cisco/netscreen/fortigate>*

–natt-mode* <natt/none/force-natt/cisco-udp>*
Which NAT-Traversal Method to use:

  • natt – NAT-T as defined in RFC3947

  • none – disable use of any NAT-T method

  • force-natt – always use NAT-T encapsulation even without presence of a NAT device (useful if the OS captures all ESP traffic)

  • cisco-udp – Cisco proprietary UDP encapsulation, commonly over Port 10000

Note: cisco-tcp encapsulation is not yet supported

Default: natt

conf-variable: NAT Traversal Mode* <natt/none/force-natt/cisco-udp>*

–script* <command>*
command is executed using system() to configure the interface, routing and so on. Device name, IP, etc. are passed using environment variables, see README. This script is executed right after ISAKMP is done, but before tunneling is enabled. It is called when vpnc terminates, too

Default: /usr/share/vpnc-scripts/vpnc-script

conf-variable: Script* <command>*

–dh* <dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18>*
name of the IKE DH Group

Default: dh2

conf-variable: IKE DH Group* <dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18>*

–pfs* <nopfs/dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18/server>*
Diffie-Hellman group to use for PFS

Default: server

conf-variable: Perfect Forward Secrecy* <nopfs/dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18/server>*

–enable-1des
Deprecated: Please use –enable-weak-encryption instead.

conf-variable: Enable Single DES

–enable-weak-encryption
enables weak encryption methods (such as DES, 3DES)

conf-variable: Enable weak encryption

–enable-no-encryption
enables using no encryption for data traffic (key exchanged must be encrypted)

conf-variable: Enable no encryption

–enable-weak-authentication
enables weak authentication methods (such as MD5)

conf-variable: Enable weak authentication

–application-version* <ASCII string>*
Application Version to report. Note: Default string is generated at runtime.

Default: Cisco Systems VPN Client 0.5.3+git20240226-2:Linux

conf-variable: Application version* <ASCII string>*

–ifname* <ASCII string>*
visible name of the TUN/TAP interface

conf-variable: Interface name* <ASCII string>*

–ifmode* <tun/tap>*
mode of TUN/TAP interface:

  • tun: virtual point to point interface (default)

  • tap: virtual ethernet interface

Default: tun

conf-variable: Interface mode* <tun/tap>*

–ifmtu* <0-65535>*

Set MTU for TUN/TAP interface (default 0 == automatic detect)

conf-variable: Interface MTU* <0-65535>*

–debug* <0/1/2/3/99>*
Show verbose debug messages

  • 0: Do not print debug information.

  • 1: Print minimal debug information.

  • 2: Show statemachine and packet/payload type information.

  • 3: Dump everything excluding authentication data.

  • 99: Dump everything INCLUDING AUTHENTICATION data (e.g. PASSWORDS).

conf-variable: Debug* <0/1/2/3/99>*

–no-detach

Don’t detach from the console after login

conf-variable: No Detach

–pid-file* <filename>*
store the pid of background process in <filename>

Default: /run/vpnc.pid

conf-variable: Pidfile* <filename>*

–local-addr* <ip/hostname>*
local IP to use for ISAKMP / ESP / … (0.0.0.0 == automatically assign)

Default: 0.0.0.0

conf-variable: Local Addr* <ip/hostname>*

–local-port* <0-65535>*
local ISAKMP port number to use (0 == use random port)

Default: 500

conf-variable: Local Port* <0-65535>*

–udp-port* <0-65535>*
Local UDP port number to use (0 == use random port). This is only relevant if cisco-udp nat-traversal is used. This is the _local_ port, the remote udp port is discovered automatically. It is especially not the cisco-tcp port.

Default: 10000

conf-variable: Cisco UDP Encapsulation Port* <0-65535>*

–dpd-idle* <0,10-86400>*
Send DPD packet after not receiving anything for <idle> seconds. Use 0 to disable DPD completely (both ways).

Default: 300

conf-variable: DPD idle timeout (our side)* <0,10-86400>*

–non-inter
Don’t ask anything, exit on missing options

conf-variable: Noninteractive

–auth-mode* <psk/cert/hybrid>*
Authentication mode:

  • psk: pre-shared key (default)

  • cert: server + client certificate (not implemented yet)

  • hybrid: server certificate + xauth (if built with openssl support)

Default: psk

conf-variable: IKE Authmode* <psk/cert/hybrid>*

–ca-file* <filename>*

filename and path to the CA-PEM-File

conf-variable: CA-File* <filename>*

–ca-dir* <directory>*
path of the trusted CA-Directory

Default: /etc/ssl/certs

conf-variable: CA-Dir* <directory>*

–target-network* <target network/netmask>*
Target network in dotted decimal or CIDR notation

Default: 0.0.0.0/0.0.0.0

conf-variable: IPSEC target network* <target network/netmask>*

–password-helper* <executable>*
path to password program or helper name

conf-variable: Password helper* <executable>*

–print-config

Prints your configuration; output can be used as vpnc.conf

FILES

/etc/vpnc.conf /etc/vpnc/default.conf

The default configuration file. You can specify the same config directives as with command line options and additionally IPSec secret and Xauth password both supplying a cleartext password. Scrambled passwords from the Cisco configuration profiles can be used with IPSec obfuscated secret and Xauth obfuscated password.

See EXAMPLES for further details.

/etc/vpnc/*.conf

vpnc will read configuration files in this directory when the config filename (with or without .conf) is specified on the command line.

EXAMPLES

This is an example vpnc.conf with pre-shared keys:

IPSec gateway vpn.example.com

IPSec ID ExampleVpnPSK

IKE Authmode psk

IPSec secret PskS3cret!

Xauth username [email protected]

Xauth password USecr3t

And another one with hybrid authentication (requires that vpnc was built with openssl support):

IPSec gateway vpn.example.com

IPSec ID ExampleVpnHybrid

IKE Authmode hybrid

CA-Dir /etc/vpnc

or

CA-File /etc/vpnc/vpn-example-com.pem

IPSec secret HybS3cret?

Xauth username [email protected]

Xauth password 123456

The lines begin with a keyword (no leading spaces!). The values start exactly one space after the keywords, and run to the end of line. This lets you put any kind of weird character (except CR, LF and NUL) in your strings, but it does mean you can’t add comments after a string, or spaces before them.

In case the the CA-Dir option is used, your certificate needs to be named something like 722d15bd.X, where X is a manually assigned number to make sure that files with colliding hashes have different names. The number can be derived from the certificate file itself:

openssl x509 -subject_hash -noout -in /etc/vpnc/vpn-example-com.pem

See also the –print-config option to generate a config file, and the example file in the package documentation directory where more advanced usage is demonstrated.

Advanced features like manual setting of multiple target routes and disabling /etc/resolv.conf rewriting is documented in the README of the vpnc package.

AUTHOR

This man-page has been written by Eduard Bloch <blade(at)debian.org> and Christian Lackas <delta(at)lackas.net>, based on vpnc README by Maurice Massar <vpnc(at)unix-ag.uni-kl.de>. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

pcf2vpnc(1), cisco-decrypt(1), ip(8), ifconfig(8), route(1), http://www.unix-ag.uni-kl.de/~massar/vpnc/

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

141 - Linux cli command vfs_offline

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_offline and provides detailed information about the command vfs_offline, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_offline.

NAME πŸ–₯️ vfs_offline πŸ–₯️

Mark all files as offline

SYNOPSIS

vfs objects = offline

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_offline module marks all files in the share as having the offline DOS attribute.

Files with the offline DOS attribute are handled differently by the Windows SMB client, as well as by Windows Explorer. In particular, Windows Explorer does not read those files for the sole purpose of drawing a thumbnail, as it normally does. This can improve user experience with some remote file systems.

EXAMPLES

Mark all files in a share as offline:

    [remote]
	vfs objects = offline

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

142 - Linux cli command tc-cake

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-cake and provides detailed information about the command tc-cake, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-cake.

NAME πŸ–₯️ tc-cake πŸ–₯️

Common Applications Kept Enhanced (CAKE)

SYNOPSIS

tc qdisc … cake
[ bandwidth RATE | unlimited* | autorate-ingress ]
[ rtt TIME | datacentre | lan | metro | regional | internet* | oceanic | satellite | interplanetary ]
[ besteffort | diffserv8 | diffserv4 | diffserv3* ]
[ flowblind | srchost | dsthost | hosts | flows | dual-srchost | dual-dsthost | triple-isolate* ]
[ nat | nonat* ]
[ wash | nowash* ]
[ split-gso* | no-split-gso ]
[ ack-filter | ack-filter-aggressive | no-ack-filter* ]
[ memlimit LIMIT ]
[ fwmark MASK ]
[ ptm | atm | noatm* ]
[ overhead N | conservative | raw* ]
[ mpu N ]
[ ingress | egress* ]
(* marks defaults)

DESCRIPTION

CAKE (Common Applications Kept Enhanced) is a shaping-capable queue discipline which uses both AQM and FQ. It combines COBALT, which is an AQM algorithm combining Codel and BLUE, a shaper which operates in deficit mode, and a variant of DRR++ for flow isolation. 8-way set-associative hashing is used to virtually eliminate hash collisions. Priority queuing is available through a simplified diffserv implementation. Overhead compensation for various encapsulation schemes is tightly integrated.

All settings are optional; the default settings are chosen to be sensible in most common deployments. Most people will only need to set the bandwidth parameter to get useful results, but reading the Overhead Compensation and Round Trip Time sections is strongly encouraged.

SHAPER PARAMETERS

CAKE uses a deficit-mode shaper, which does not exhibit the initial burst typical of token-bucket shapers. It will automatically burst precisely as much as required to maintain the configured throughput. As such, it is very straightforward to configure.

unlimited (default)
No limit on the bandwidth.

bandwidth RATE
Set the shaper bandwidth. See tc(8) or examples below for details of the RATE value.

autorate-ingress
Automatic capacity estimation based on traffic arriving at this qdisc. This is most likely to be useful with cellular links, which tend to change quality randomly. A bandwidth parameter can be used in conjunction to specify an initial estimate. The shaper will periodically be set to a bandwidth slightly below the estimated rate. This estimator cannot estimate the bandwidth of links downstream of itself.

OVERHEAD COMPENSATION PARAMETERS

The size of each packet on the wire may differ from that seen by Linux. The following parameters allow CAKE to compensate for this difference by internally considering each packet to be bigger than Linux informs it. To assist users who are not expert network engineers, keywords have been provided to represent a number of common link technologies.

Manual Overhead Specification

overhead BYTES
Adds BYTES to the size of each packet. BYTES may be negative; values between -64 and 256 (inclusive) are accepted.

mpu BYTES
Rounds each packet (including overhead) up to a minimum length BYTES. BYTES may not be negative; values between 0 and 256 (inclusive) are accepted.

atm
Compensates for ATM cell framing, which is normally found on ADSL links. This is performed after the overhead parameter above. ATM uses fixed 53-byte cells, each of which can carry 48 bytes payload.

ptm
Compensates for PTM encoding, which is normally found on VDSL2 links and uses a 64b/65b encoding scheme. It is even more efficient to simply derate the specified shaper bandwidth by a factor of 64/65 or 0.984. See ITU G.992.3 Annex N and IEEE 802.3 Section 61.3 for details.

noatm
Disables ATM and PTM compensation.

Failsafe Overhead Keywords

These two keywords are provided for quick-and-dirty setup. Use them if you can’t be bothered to read the rest of this section.

raw (default)
Turns off all overhead compensation in CAKE. The packet size reported by Linux will be used directly.

Other overhead keywords may be added after “raw”. The effect of this is to make the overhead compensation operate relative to the reported packet size, not the underlying IP packet size.

conservative
Compensates for more overhead than is likely to occur on any widely-deployed link technology.
Equivalent to overhead 48 atm.

ADSL Overhead Keywords

Most ADSL modems have a way to check which framing scheme is in use. Often this is also specified in the settings document provided by the ISP. The keywords in this section are intended to correspond with these sources of information. All of them implicitly set the atm flag.

pppoa-vcmux
Equivalent to overhead 10 atm

pppoa-llc
Equivalent to overhead 14 atm

pppoe-vcmux
Equivalent to overhead 32 atm

pppoe-llcsnap
Equivalent to overhead 40 atm

bridged-vcmux
Equivalent to overhead 24 atm

bridged-llcsnap
Equivalent to overhead 32 atm

ipoa-vcmux
Equivalent to overhead 8 atm

ipoa-llcsnap
Equivalent to overhead 16 atm

See also the Ethernet Correction Factors section below.

VDSL2 Overhead Keywords

ATM was dropped from VDSL2 in favour of PTM, which is a much more straightforward framing scheme. Some ISPs retained PPPoE for compatibility with their existing back-end systems.

pppoe-ptm
Equivalent to overhead 30 ptm

PPPoE: 2B PPP + 6B PPPoE +
ETHERNET: 6B dest MAC + 6B src MAC + 2B ethertype + 4B Frame Check Sequence +
PTM: 1B Start of Frame (S) + 1B End of Frame (Ck) + 2B TC-CRC (PTM-FCS)

bridged-ptm
Equivalent to overhead 22 ptm
ETHERNET: 6B dest MAC + 6B src MAC + 2B ethertype + 4B Frame Check Sequence +
PTM: 1B Start of Frame (S) + 1B End of Frame (Ck) + 2B TC-CRC (PTM-FCS)

See also the Ethernet Correction Factors section below.

DOCSIS Cable Overhead Keyword

DOCSIS is the universal standard for providing Internet service over cable-TV infrastructure.

In this case, the actual on-wire overhead is less important than the packet size the head-end equipment uses for shaping and metering. This is specified to be an Ethernet frame including the CRC (aka FCS).

docsis
Equivalent to overhead 18 mpu 64 noatm

Ethernet Overhead Keywords

ethernet
Accounts for Ethernet’s preamble, inter-frame gap, and Frame Check Sequence. Use this keyword when the bottleneck being shaped for is an actual Ethernet cable.
Equivalent to overhead 38 mpu 84 noatm

ether-vlan
Adds 4 bytes to the overhead compensation, accounting for an IEEE 802.1Q VLAN header appended to the Ethernet frame header. NB: Some ISPs use one or even two of these within PPPoE; this keyword may be repeated as necessary to express this.

ROUND TRIP TIME PARAMETERS

Active Queue Management (AQM) consists of embedding congestion signals in the packet flow, which receivers use to instruct senders to slow down when the queue is persistently occupied. CAKE uses ECN signalling when available, and packet drops otherwise, according to a combination of the Codel and BLUE AQM algorithms called COBALT.

Very short latencies require a very rapid AQM response to adequately control latency. However, such a rapid response tends to impair throughput when the actual RTT is relatively long. CAKE allows specifying the RTT it assumes for tuning various parameters. Actual RTTs within an order of magnitude of this will generally work well for both throughput and latency management.

At the ’lan’ setting and below, the time constants are similar in magnitude to the jitter in the Linux kernel itself, so congestion might be signalled prematurely. The flows will then become sparse and total throughput reduced, leaving little or no back-pressure for the fairness logic to work against. Use the “metro” setting for local lans unless you have a custom kernel.

rtt TIME
Manually specify an RTT.

datacentre
For extremely high-performance 10GigE+ networks only. Equivalent to rtt 100us.

lan
For pure Ethernet (not Wi-Fi) networks, at home or in the office. Don’t use this when shaping for an Internet access link. Equivalent to rtt 1ms.

metro
For traffic mostly within a single city. Equivalent to rtt 10ms.

regional
For traffic mostly within a European-sized country. Equivalent to rtt 30ms.

internet (default)
This is suitable for most Internet traffic. Equivalent to rtt 100ms.

oceanic
For Internet traffic with generally above-average latency, such as that suffered by Australasian residents. Equivalent to rtt 300ms.

satellite
For traffic via geostationary satellites. Equivalent to rtt 1000ms.

interplanetary
So named because Jupiter is about 1 light-hour from Earth. Use this to (almost) completely disable AQM actions. Equivalent to rtt 3600s.

FLOW ISOLATION PARAMETERS

With flow isolation enabled, CAKE places packets from different flows into different queues, each of which carries its own AQM state. Packets from each queue are then delivered fairly, according to a DRR++ algorithm which minimizes latency for “sparse” flows. CAKE uses a set-associative hashing algorithm to minimize flow collisions.

These keywords specify whether fairness based on source address, destination address, individual flows, or any combination of those is desired.

flowblind
Disables flow isolation; all traffic passes through a single queue for each tin.

srchost
Flows are defined only by source address. Could be useful on the egress path of an ISP backhaul.

dsthost
Flows are defined only by destination address. Could be useful on the ingress path of an ISP backhaul.

hosts
Flows are defined by source-destination host pairs. This is host isolation, rather than flow isolation.

flows
Flows are defined by the entire 5-tuple of source address, destination address, transport protocol, source port and destination port. This is the type of flow isolation performed by SFQ and fq_codel.

dual-srchost
Flows are defined by the 5-tuple, and fairness is applied first over source addresses, then over individual flows. Good for use on egress traffic from a LAN to the internet, where it’ll prevent any one LAN host from monopolising the uplink, regardless of the number of flows they use.

dual-dsthost
Flows are defined by the 5-tuple, and fairness is applied first over destination addresses, then over individual flows. Good for use on ingress traffic to a LAN from the internet, where it’ll prevent any one LAN host from monopolising the downlink, regardless of the number of flows they use.

triple-isolate (default)
Flows are defined by the 5-tuple, and fairness is applied over source *and* destination addresses intelligently (ie. not merely by host-pairs), and also over individual flows. Use this if you’re not certain whether to use dual-srchost or dual-dsthost; it’ll do both jobs at once, preventing any one host on *either* side of the link from monopolising it with a large number of flows.

nat
Instructs Cake to perform a NAT lookup before applying flow-isolation rules, to determine the true addresses and port numbers of the packet, to improve fairness between hosts “inside” the NAT. This has no practical effect in “flowblind” or “flows” modes, or if NAT is performed on a different host.

nonat (default)
Cake will not perform a NAT lookup. Flow isolation will be performed using the addresses and port numbers directly visible to the interface Cake is attached to.

PRIORITY QUEUE PARAMETERS

CAKE can divide traffic into “tins” based on the Diffserv field. Each tin has its own independent set of flow-isolation queues, and is serviced based on a WRR algorithm. To avoid perverse Diffserv marking incentives, tin weights have a “priority sharing” value when bandwidth used by that tin is below a threshold, and a lower “bandwidth sharing” value when above. Bandwidth is compared against the threshold using the same algorithm as the deficit-mode shaper.

Detailed customisation of tin parameters is not provided. The following presets perform all necessary tuning, relative to the current shaper bandwidth and RTT settings.

besteffort
Disables priority queuing by placing all traffic in one tin.

precedence
Enables legacy interpretation of TOS “Precedence” field. Use of this preset on the modern Internet is firmly discouraged.

diffserv4
Provides a general-purpose Diffserv implementation with four tins:
Bulk (CS1, LE in kernel v5.9+), 6.25% threshold, generally low priority.
Best Effort (general), 100% threshold.
Video (AF4x, AF3x, CS3, AF2x, CS2, TOS4, TOS1), 50% threshold.
Voice (CS7, CS6, EF, VA, CS5, CS4), 25% threshold.

diffserv3 (default)
Provides a simple, general-purpose Diffserv implementation with three tins:
Bulk (CS1, LE in kernel v5.9+), 6.25% threshold, generally low priority.
Best Effort (general), 100% threshold.
Voice (CS7, CS6, EF, VA, TOS4), 25% threshold, reduced Codel interval.

fwmark MASK
This options turns on fwmark-based overriding of CAKE’s tin selection. If set, the option specifies a bitmask that will be applied to the fwmark associated with each packet. If the result of this masking is non-zero, the result will be right-shifted by the number of least-significant unset bits in the mask value, and the result will be used as a the tin number for that packet. This can be used to set policies in a firewall script that will override CAKE’s built-in tin selection.

OTHER PARAMETERS

memlimit LIMIT
Limit the memory consumed by Cake to LIMIT bytes. Note that this does not translate directly to queue size (so do not size this based on bandwidth delay product considerations, but rather on worst case acceptable memory consumption), as there is some overhead in the data structures containing the packets, especially for small packets.

By default, the limit is calculated based on the bandwidth and RTT settings.

wash

Traffic entering your diffserv domain is frequently mis-marked in transit from the perspective of your network, and traffic exiting yours may be mis-marked from the perspective of the transiting provider.

Apply the wash option to clear all extra diffserv (but not ECN bits), after priority queuing has taken place.

If you are shaping inbound, and cannot trust the diffserv markings (as is the case for Comcast Cable, among others), it is best to use a single queue “besteffort” mode with wash.

split-gso

This option controls whether CAKE will split General Segmentation Offload (GSO) super-packets into their on-the-wire components and dequeue them individually.

Super-packets are created by the networking stack to improve efficiency. However, because they are larger they take longer to dequeue, which translates to higher latency for competing flows, especially at lower bandwidths. CAKE defaults to splitting GSO packets to achieve the lowest possible latency. At link speeds higher than 10 Gbps, setting the no-split-gso parameter can increase the maximum achievable throughput by retaining the full GSO packets.

OVERRIDING CLASSIFICATION WITH TC FILTERS

CAKE supports overriding of its internal classification of packets through the tc filter mechanism. Packets can be assigned to different priority tins by setting the priority field on the skb, and the flow hashing can be overridden by setting the classid parameter.

Tin override

To assign a priority tin, the major number of the priority field needs to match the qdisc handle of the cake instance; if it does, the minor number will be interpreted as the tin index. For example, to classify all ICMP packets as ‘bulk’, the following filter can be used:

# tc qdisc replace dev eth0 handle 1: root cake diffserv3 # tc filter add dev eth0 parent 1: protocol ip prio 1 \ u32 match icmp type 0 0 action skbedit priority 1:1

Flow hash override

To override flow hashing, the classid can be set. CAKE will interpret the major number of the classid as the host hash used in host isolation mode, and the minor number as the flow hash used for flow-based queueing. One or both of those can be set, and will be used if the relevant flow isolation parameter is set (i.e., the major number will be ignored if CAKE is not configured in hosts mode, and the minor number will be ignored if CAKE is not configured in flows mode).

This example will assign all ICMP packets to the first queue:

# tc qdisc replace dev eth0 handle 1: root cake # tc filter add dev eth0 parent 1: protocol ip prio 1 \ u32 match icmp type 0 0 classid 0:1

If only one of the host and flow overrides is set, CAKE will compute the other hash from the packet as normal. Note, however, that the host isolation mode works by assigning a host ID to the flow queue; so if overriding both host and flow, the same flow cannot have more than one host assigned. In addition, it is not possible to assign different source and destination host IDs through the override mechanism; if a host ID is assigned, it will be used as both source and destination host.

EXAMPLES

# tc qdisc delete root dev eth0
# tc qdisc add root dev eth0 cake bandwidth 100Mbit ethernet
# tc -s qdisc show dev eth0
qdisc cake 1: root refcnt 2 bandwidth 100Mbit diffserv3 triple-isolate rtt 100.0ms noatm overhead 38 mpu 84 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 memory used: 0b of 5000000b capacity estimate: 100Mbit min/max network layer size: 65535 / 0 min/max overhead-adjusted size: 65535 / 0 average network hdr offset: 0

Bulk Best Effort Voice thresh 6250Kbit 100Mbit 25Mbit target 5.0ms 5.0ms 5.0ms interval 100.0ms 100.0ms 100.0ms pk_delay 0us 0us 0us av_delay 0us 0us 0us sp_delay 0us 0us 0us pkts 0 0 0 bytes 0 0 0 way_inds 0 0 0 way_miss 0 0 0 way_cols 0 0 0 drops 0 0 0 marks 0 0 0 ack_drop 0 0 0 sp_flows 0 0 0 bk_flows 0 0 0 un_flows 0 0 0 max_len 0 0 0 quantum 300 1514 762

After some use:
# tc -s qdisc show dev eth0

qdisc cake 1: root refcnt 2 bandwidth 100Mbit diffserv3 triple-isolate rtt 100.0ms noatm overhead 38 mpu 84 Sent 44709231 bytes 31931 pkt (dropped 45, overlimits 93782 requeues 0) backlog 33308b 22p requeues 0 memory used: 292352b of 5000000b capacity estimate: 100Mbit min/max network layer size: 28 / 1500 min/max overhead-adjusted size: 84 / 1538 average network hdr offset: 14

Bulk Best Effort Voice thresh 6250Kbit 100Mbit 25Mbit target 5.0ms 5.0ms 5.0ms interval 100.0ms 100.0ms 100.0ms pk_delay 8.7ms 6.9ms 5.0ms av_delay 4.9ms 5.3ms 3.8ms sp_delay 727us 1.4ms 511us pkts 2590 21271 8137 bytes 3081804 30302659 11426206 way_inds 0 46 0 way_miss 3 17 4 way_cols 0 0 0 drops 20 15 10 marks 0 0 0 ack_drop 0 0 0 sp_flows 2 4 1 bk_flows 1 2 1 un_flows 0 0 0 max_len 1514 1514 1514 quantum 300 1514 762

SEE ALSO

tc(8), tc-codel(8), tc-fq_codel(8), tc-htb(8)

AUTHORS

Cake’s principal author is Jonathan Morton, with contributions from Tony Ambardar, Kevin Darbyshire-Bryant, Toke HΓΈiland-JΓΈrgensen, Sebastian Moeller, Ryan Mounce, Dean Scarff, Nils Andreas Svee, and Dave TΓ€ht.

This manual page was written by Loganaden Velvindron. Please report corrections to the Linux Networking mailing list <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

143 - Linux cli command systemd-udevd-kernel.socket

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-udevd-kernel.socket and provides detailed information about the command systemd-udevd-kernel.socket, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-udevd-kernel.socket.

NAME πŸ–₯️ systemd-udevd-kernel.socket πŸ–₯️

udevd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-udevd - Device event managing daemon

SYNOPSIS

systemd-udevd.service

systemd-udevd-control.socket

systemd-udevd-kernel.socket

/usr/lib/systemd/systemd-udevd [–daemon] [–debug] [–children-max=] [–exec-delay=] [–event-timeout=] [–resolve-names=early|late|never] [–version] [–help]

DESCRIPTION

systemd-udevd listens to kernel uevents. For every event, systemd-udevd executes matching instructions specified in udev rules. See udev(7).

The behavior of the daemon can be configured using udev.conf(5), its command line options, environment variables, and on the kernel command line, or changed dynamically with udevadm control.

OPTIONS

-d, –daemon

Detach and run in the background.

Added in version 186.

-D, –debug

Print debug messages to standard error.

Added in version 186.

-c, –children-max=

Limit the number of events executed in parallel.

Added in version 186.

-e, –exec-delay=

Delay the execution of each RUN{program} parameter by the given number of seconds. This option might be useful when debugging system crashes during coldplug caused by loading non-working kernel modules.

Added in version 186.

-t, –event-timeout=

Set the number of seconds to wait for events to finish. After this time, the event will be terminated. The default is 180 seconds.

Added in version 216.

-s, –timeout-signal=

Set the signal which systemd-udevd will send to forked off processes after reaching event timeout. The setting can be overridden at boot time with the kernel command line option udev.timeout_signal=. Setting to SIGABRT may be helpful in order to debug worker timeouts. Defaults to SIGKILL. Note that setting the option on the command line overrides the setting from the configuration file.

Added in version 246.

-N, –resolve-names=

Specify when systemd-udevd should resolve names of users and groups. When set to early (the default), names will be resolved when the rules are parsed. When set to late, names will be resolved for every event. When set to never, names will never be resolved and all devices will be owned by root.

Added in version 186.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

KERNEL COMMAND LINE

Parameters prefixed with “rd.” will be read when systemd-udevd is used in an initrd, those without will be processed both in the initrd and on the host.

udev.log_level=, rd.udev.log_level=

Set the log level.

Added in version 247.

udev.children_max=, rd.udev.children_max=

Limit the number of events executed in parallel.

Added in version 186.

udev.exec_delay=, rd.udev.exec_delay=

Delay the execution of each RUN{program} parameter by the given number of seconds. This option might be useful when debugging system crashes during coldplug caused by loading non-working kernel modules.

Added in version 186.

udev.event_timeout=, rd.udev.event_timeout=

Wait for events to finish up to the given number of seconds. This option might be useful if events are terminated due to kernel drivers taking too long to initialize.

Added in version 216.

udev.timeout_signal=, rd.udev.timeout_signal=

Specifies a signal that systemd-udevd will send to workers on timeout. Note that kernel command line option overrides both the setting in the configuration file and the one on the program command line.

Added in version 246.

udev.blockdev_read_only, rd.udev.blockdev_read_only

If specified, mark all physical block devices read-only as they appear. Synthetic block devices (such as loopback block devices or device mapper devices) are left as they are. This is useful to guarantee that the contents of physical block devices remains unmodified during runtime, for example to implement fully stateless systems, for testing or for recovery situations where corrupted file systems shall not be corrupted further through accidental modification.

A block device may be marked writable again by issuing the blockdev –setrw command, see blockdev(8) for details.

Added in version 246.

net.ifnames=

Network interfaces are renamed to give them predictable names when possible. It is enabled by default; specifying 0 disables it.

Added in version 199.

net.naming_scheme=

Network interfaces are renamed to give them predictable names when possible (unless net.ifnames=0 is specified, see above). With this kernel command line option it is possible to pick a specific version of this algorithm and override the default chosen at compilation time. Expects one of the naming scheme identifiers listed in systemd.net-naming-scheme(7), or “latest” to select the latest scheme known (to this particular version of systemd-udevd.service).

Note that selecting a specific scheme is not sufficient to fully stabilize interface naming: the naming is generally derived from driver attributes exposed by the kernel. As the kernel is updated, previously missing attributes systemd-udevd.service is checking might appear, which affects older name derivation algorithms, too.

Added in version 240.

net.ifname_policy=policy1[,policy2,…][,MAC]

Specifies naming policies applied when renaming network interfaces. Takes a list of policies and an optional MAC address separated with comma. Each policy value must be one of the policies understood by the NamePolicy= setting in .link files, e.g. “onboard” or “path”. See systemd.link(5) for more details. When the MAC address is specified, the policies are applied to the interface which has the address. When no MAC address is specified, the policies are applied to all interfaces. This kernel command line argument can be specified multiple times.

This argument is not directly read by systemd-udevd, but is instead converted to a .link file by systemd-network-generator.service(8). For this argument to take effect, systemd-network-generator.service must be enabled.

Example:

net.ifname_policy=keep,kernel,path,slot,onboard,01:23:45:67:89:ab net.ifname_policy=keep,kernel,path,slot,onboard,mac

This is mostly equivalent to creating the following .link files:

91-name-policy-with-mac.link

[Match]
MACAddress=01:23:45:67:89:ab

[Link]
NamePolicy=keep kernel path slot onboard
AlternativeNamePolicy=path slot onboard

and

92-name-policy-for-all.link

[Match]
OriginalName=*

[Link]
NamePolicy=keep kernel path slot onboard mac
AlternativeNamePolicy=path slot onboard mac

Added in version 250.

SEE ALSO

udev.conf(5), udev(7), udevadm(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

144 - Linux cli command tc-ctinfo

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-ctinfo and provides detailed information about the command tc-ctinfo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-ctinfo.

NAME πŸ–₯️ tc-ctinfo πŸ–₯️

tc connmark processing action

SYNOPSIS

tc … action ctinfo [ dscp MASK [STATEMASK] ] [ cpmark [MASK] ] [ zone ZONE ] [ CONTROL ] [ index <INDEX> ]

DESCRIPTION

CTINFO (Conntrack Information) is a tc action for retrieving data from conntrack marks into various fields. At present it has two independent processing modes which may be viewed as sub-functions.

DSCP mode copies a DSCP stored in conntrack’s connmark into the IPv4/v6 diffserv field. The copying may conditionally occur based on a flag also stored in the connmark. DSCP mode was designed to assist in restoring packet classifications on ingress, classifications which may then be used by qdiscs such as CAKE. It may be used in any circumstance where ingress classification needs to be maintained across links that otherwise bleach or remap according to their own policies.

CPMARK (copymark) mode copies the conntrack connmark into the packet’s mark field. Without additional parameters it is functionally completely equivalent to the existing connmark action. An optional mask may be specified to mask which bits of the connmark are restored. This may be useful when DSCP and CPMARK modes are combined.

Simple statistics (tc -s) on DSCP restores and CPMARK copies are maintained where values for set indicate a count of packets altered for that mode. DSCP includes an error count where the destination packet’s diffserv field was unwriteable.

PARAMETERS

DSCP mode parameters:

mask
A mask of 6 contiguous bits indicating where the DSCP value is located in the 32 bit conntrack mark field. A mask must be provided for this mode. mask is a 32 bit unsigned value.

statemask
A mask of at least 1 bit indicating where a conditional restore flag is located in the 32 bit conntrack mark field. The statemask bit/s must NOT overlap the mask bits. The DSCP will be restored if the conntrack mark logically ANDed with the statemask yields a non-zero result. statemask is an optional unsigned 32 bit value.

CPMARK mode parameters:

mask
Store the logically ANDed result of conntrack mark and mask into the packet’s mark field. Default is 0xffffffff i.e. the whole mark field. mask is an optional unsigned 32 bit value

Overall action parameters:

zone
Specify the conntrack zone when doing conntrack lookups for packets. zone is a 16bit unsigned decimal value. Default is 0.

CONTROL
The following keywords allow one to control how the tree of qdisc, classes, filters and actions is further traversed after this action.

reclassify
Restart with the first filter in the current list.

pipe
Continue with the next action attached to the same filter.

drop
Drop the packet.

shot
synonym for drop

continue
Continue classification with the next filter in line.

pass
Finish classification process and return to calling qdisc for further packet processing. This is the default.

index
Specify an index for this action in order to being able to identify it in later commands. index is a 32bit unsigned decimal value.

EXAMPLES

Example showing conditional restoration of DSCP on ingress via an IFB

#Set up the IFB interface


tc qdisc add dev ifb4eth0 handle ffff: ingress

#Put CAKE qdisc on it


tc qdisc add dev ifb4eth0 root cake bandwidth 40mbit

#Set interface UP


ip link set dev ifb4eth0 up

#Add 2 actions, ctinfo to restore dscp & mirred to redirect the packets to IFB


tc filter add dev eth0 parent ffff: protocol all prio 10 u32 \
    match u32 0 0 flowid 1:1 action    \
    ctinfo dscp 0xfc000000 0x01000000  \
    mirred egress redirect dev ifb4eth0

tc -s qdisc show dev eth0 ingress

 filter parent ffff: protocol all pref 10 u32 chain 0
 filter parent ffff: protocol all pref 10 u32 chain 0 fh 800: ht divisor 1
 filter parent ffff: protocol all pref 10 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1 not_in_hw
  match 00000000/00000000 at 0
    action order 1: ctinfo zone 0 pipe
    index 2 ref 1 bind 1 dscp 0xfc000000 0x01000000 installed 72 sec used 0 sec DSCP set 1333 error 0 CPMARK set 0
    Action statistics:
    Sent 658484 bytes 1833 pkt (dropped 0, overlimits 0 requeues 0)
    backlog 0b 0p requeues 0

    action order 2: mirred (Egress Redirect to device ifb4eth0) stolen
    index 1 ref 1 bind 1 installed 72 sec used 0 sec
    Action statistics:
    Sent 658484 bytes 1833 pkt (dropped 0, overlimits 0 requeues 0)
    backlog 0b 0p requeues 0

Example showing conditional restoration of DSCP on egress

This may appear nonsensical since iptables marking of egress packets is easy to achieve, however the iptables flow classification rules may be extensive and so some sort of set once and forget may be useful especially on cpu constrained devices.

# Send unmarked connections to a marking chain which needs to store a DSCP
and set statemask bit in the connmark


iptables -t mangle -A POSTROUTING -o eth0 -m connmark \
    --mark 0x00000000/0x01000000 -g CLASS_MARKING_CHAIN

# Apply marked DSCP to the packets


tc filter add dev eth0 protocol all prio 10 u32 \
    match u32 0 0 flowid 1:1 action \
    ctinfo dscp 0xfc000000 0x01000000

tc -s filter show dev eth0
 filter parent 800e: protocol all pref 10 u32 chain 0
 filter parent 800e: protocol all pref 10 u32 chain 0 fh 800: ht divisor 1
 filter parent 800e: protocol all pref 10 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1 not_in_hw
  match 00000000/00000000 at 0
    action order 1: ctinfo zone 0 pipe
    index 1 ref 1 bind 1 dscp 0xfc000000 0x01000000 installed 7414 sec used 0 sec DSCP set 53404 error 0 CPMARK set 0
    Action statistics:
    Sent 32890260 bytes 120441 pkt (dropped 0, overlimits 0 requeues 0)
    backlog 0b 0p requeues 0

SEE ALSO

tc(8), tc-cake(8) tc-connmark(8) tc-mirred(8)

AUTHORS

ctinfo was written by Kevin Darbyshire-Bryant.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

145 - Linux cli command tc-flower

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-flower and provides detailed information about the command tc-flower, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-flower.

NAME πŸ–₯️ tc-flower πŸ–₯️

flow based traffic control filter

SYNOPSIS

tc filterflower [ MATCH_LIST ] [ action ACTION_SPEC ] [ classid CLASSID ] [ hw_tc TCID ]

MATCH_LIST := [ MATCH_LIST ] MATCH

MATCH := { indev ifname | verbose | skip_sw | skip_hw | { dst_mac | src_mac } MASKED_LLADDR | vlan_id VID | vlan_prio PRIORITY | vlan_ethtype { ipv4 | ipv6 | ETH_TYPE } | cvlan_id VID | cvlan_prio PRIORITY | cvlan_ethtype { ipv4 | ipv6 | ETH_TYPE } | pppoe_sid PSID | ppp_proto { ip | ipv6 | mpls_uc | mpls_mc | PPP_PROTO } | mpls LSE_LIST | mpls_label LABEL | mpls_tc TC | mpls_bos BOS | mpls_ttl TTL | l2tpv3_sid LSID | ip_proto { tcp | udp | sctp | icmp | icmpv6 | l2tp | IP_PROTO } | ip_tos MASKED_IP_TOS | ip_ttl MASKED_IP_TTL | { dst_ip | src_ip } PREFIX | { dst_port | src_port } { MASKED_NUMBER | min_port_number-max_port_number } | tcp_flags MASKED_TCP_FLAGS | type MASKED_TYPE | code MASKED_CODE | { arp_tip | arp_sip } IPV4_PREFIX | arp_op { request | reply | OP } | { arp_tha | arp_sha } MASKED_LLADDR | enc_key_id KEY-ID | { enc_dst_ip | enc_src_ip } { ipv4_address | ipv6_address } | enc_dst_port port_number | enc_tos TOS | enc_ttl TTL | { geneve_opts | vxlan_opts | erspan_opts | gtp_opts | pfcp_opts } OPTIONS | ip_flags IP_FLAGS | l2_miss L2_MISS | cfm CFM_OPTIONS }

LSE_LIST := [ LSE_LIST ] LSE

LSE := lse depth DEPTH { label LABEL | tc TC | bos BOS | ttl TTL }

CFM := cfm mdl LEVEL | op OPCODE"

DESCRIPTION

The flower filter matches flows to the set of keys specified and assigns an arbitrarily chosen class ID to packets belonging to them. Additionally (or alternatively) an action from the generic action framework may be called.

OPTIONS

action* ACTION_SPEC*
Apply an action from the generic actions framework on matching packets.

classid* CLASSID*
Specify a class to pass matching packets on to. CLASSID is in the form X:Y, while X and Y are interpreted as numbers in hexadecimal format.

hw_tc* TCID*
Specify a hardware traffic class to pass matching packets on to. TCID is in the range 0 through 15.

indev* ifname*
Match on incoming interface name. Obviously this makes sense only for forwarded flows. ifname is the name of an interface which must exist at the time of tc invocation.

verbose
Enable verbose logging, including offloading errors when not using skip_sw flag.

skip_sw
Do not process filter by software. If hardware has no offload support for this filter, or TC offload is not enabled for the interface, operation will fail.

skip_hw
Do not process filter by hardware.

dst_mac* MASKED_LLADDR*
src_mac* MASKED_LLADDR*
Match on source or destination MAC address. A mask may be optionally provided to limit the bits of the address which are matched. A mask is provided by following the address with a slash and then the mask. It may be provided in LLADDR format, in which case it is a bitwise mask, or as a number of high bits to match. If the mask is missing then a match on all bits is assumed.

num_of_vlans* NUM*
Match on the number of vlan tags in the packet. NUM can be 0 or small positive integer. Typically in 0-4 range.

vlan_id* VID*
Match on vlan tag id. VID is an unsigned 12bit value in decimal format.

vlan_prio* PRIORITY*
Match on vlan tag priority. PRIORITY is an unsigned 3bit value in decimal format.

vlan_ethtype* VLAN_ETH_TYPE*
Match on layer three protocol. VLAN_ETH_TYPE may be either ipv4, ipv6 or an unsigned 16bit value in hexadecimal format. To match on QinQ packet, it must be 802.1Q or 802.1AD.

cvlan_id* VID*
Match on QinQ inner vlan tag id. VID is an unsigned 12bit value in decimal format.

cvlan_prio* PRIORITY*
Match on QinQ inner vlan tag priority. PRIORITY is an unsigned 3bit value in decimal format.

cvlan_ethtype* VLAN_ETH_TYPE*
Match on QinQ layer three protocol. VLAN_ETH_TYPE may be either ipv4, ipv6 or an unsigned 16bit value in hexadecimal format.

pppoe_sid* PSID*
Match on PPPoE session id. PSID is an unsigned 16bit value in decimal format.

ppp_proto* PPP_PROTO*
Match on PPP layer three protocol. PPP_PROTO may be either ip, ipv6, mpls_uc, mpls_mc or an unsigned 16bit value in hexadecimal format.

mpls* LSE_LIST*
Match on the MPLS label stack. LSE_LIST is a list of Label Stack Entries, each introduced by the lse keyword. This option can’t be used together with the standalone mpls_label, mpls_tc, mpls_bos and mpls_ttl options.

lse* LSE_OPTIONS*
Match on an MPLS Label Stack Entry. LSE_OPTIONS is a list of options that describe the properties of the LSE to match.

depth* DEPTH*
The depth of the Label Stack Entry to consider. Depth starts at 1 (the outermost Label Stack Entry). The maximum usable depth may be limited by the kernel. This option is mandatory. DEPTH is an unsigned 8 bit value in decimal format.

label* LABEL*
Match on the MPLS Label field at the specified depth. LABEL is an unsigned 20 bit value in decimal format.

tc* TC*
Match on the MPLS Traffic Class field at the specified depth. TC is an unsigned 3 bit value in decimal format.

bos* BOS*
Match on the MPLS Bottom Of Stack field at the specified depth. BOS is a 1 bit value in decimal format.

ttl* TTL*
Match on the MPLS Time To Live field at the specified depth. TTL is an unsigned 8 bit value in decimal format.

mpls_label* LABEL*
Match the label id in the outermost MPLS label stack entry. LABEL is an unsigned 20 bit value in decimal format.

mpls_tc* TC*
Match on the MPLS TC field, which is typically used for packet priority, in the outermost MPLS label stack entry. TC is an unsigned 3 bit value in decimal format.

mpls_bos* BOS*
Match on the MPLS Bottom Of Stack field in the outermost MPLS label stack entry. BOS is a 1 bit value in decimal format.

mpls_ttl* TTL*
Match on the MPLS Time To Live field in the outermost MPLS label stack entry. TTL is an unsigned 8 bit value in decimal format.

l2tpv3_sid* LSID*
Match on L2TPv3 session id field transported over IPv4 or IPv6. LSID is an unsigned 32 bit value in decimal format.

ip_proto* IP_PROTO*
Match on layer four protocol. IP_PROTO may be tcp, udp, sctp, icmp, icmpv6, l2tp or an unsigned 8bit value in hexadecimal format.

ip_tos* MASKED_IP_TOS*
Match on ipv4 TOS or ipv6 traffic-class - eight bits in hexadecimal format. A mask may be optionally provided to limit the bits which are matched. A mask is provided by following the value with a slash and then the mask. If the mask is missing then a match on all bits is assumed.

ip_ttl* MASKED_IP_TTL*
Match on ipv4 TTL or ipv6 hop-limit - eight bits value in decimal or hexadecimal format. A mask may be optionally provided to limit the bits which are matched. Same logic is used for the mask as with matching on ip_tos.

dst_ip* PREFIX*
src_ip* PREFIX*
Match on source or destination IP address. PREFIX must be a valid IPv4 or IPv6 address, depending on the protocol option to tc filter, optionally followed by a slash and the prefix length. If the prefix is missing, tc assumes a full-length host match.

dst_port { MASKED_NUMBER | * MIN_VALUE-MAX_VALUE *}
src_port { MASKED_NUMBER | * MIN_VALUE-MAX_VALUE *}
Match on layer 4 protocol source or destination port number, with an optional mask. Alternatively, the minimum and maximum values can be specified to match on a range of layer 4 protocol source or destination port numbers. Only available for ip_proto values udp, tcp and sctp which have to be specified in beforehand.

tcp_flags* MASKED_TCP_FLAGS*
Match on TCP flags represented as 12bit bitfield in in hexadecimal format. A mask may be optionally provided to limit the bits which are matched. A mask is provided by following the value with a slash and then the mask. If the mask is missing then a match on all bits is assumed.

type* MASKED_TYPE*
code* MASKED_CODE*
Match on ICMP type or code. A mask may be optionally provided to limit the bits of the address which are matched. A mask is provided by following the address with a slash and then the mask. The mask must be as a number which represents a bitwise mask If the mask is missing then a match on all bits is assumed. Only available for ip_proto values icmp and icmpv6 which have to be specified in beforehand.

arp_tip* IPV4_PREFIX*
arp_sip* IPV4_PREFIX*
Match on ARP or RARP sender or target IP address. IPV4_PREFIX must be a valid IPv4 address optionally followed by a slash and the prefix length. If the prefix is missing, tc assumes a full-length host match.

arp_op* ARP_OP*
Match on ARP or RARP operation. ARP_OP may be request, reply or an integer value 0, 1 or 2. A mask may be optionally provided to limit the bits of the operation which are matched. A mask is provided by following the address with a slash and then the mask. It may be provided as an unsigned 8 bit value representing a bitwise mask. If the mask is missing then a match on all bits is assumed.

arp_sha* MASKED_LLADDR*
arp_tha* MASKED_LLADDR*
Match on ARP or RARP sender or target MAC address. A mask may be optionally provided to limit the bits of the address which are matched. A mask is provided by following the address with a slash and then the mask. It may be provided in LLADDR format, in which case it is a bitwise mask, or as a number of high bits to match. If the mask is missing then a match on all bits is assumed.

enc_key_id* NUMBER*
enc_dst_ip* PREFIX*
enc_src_ip* PREFIX*
enc_dst_port* NUMBER*
enc_tos* NUMBER*
enc_ttl* NUMBER*
ct_state* CT_STATE*
ct_zone* CT_MASKED_ZONE*
ct_mark* CT_MASKED_MARK*
ct_label* CT_MASKED_LABEL*
Matches on connection tracking info

CT_STATE
Match the connection state, and can be combination of [{+|-}flag] flags, where flag can be one of

trk - Tracked connection.
new - New connection.
est - Established connection.
rpl - The packet is in the reply direction, meaning that it is in the opposite direction from the packet that initiated the connection.
inv - The state is invalid. The packet couldn’t be associated to a connection.
rel - The packet is related to an existing connection.
Example: +trk+est

CT_MASKED_ZONE
Match the connection zone, and can be masked.

CT_MASKED_MARK
32bit match on the connection mark, and can be masked.

CT_MASKED_LABEL
128bit match on the connection label, and can be masked.

geneve_opts* OPTIONS*
vxlan_opts* OPTIONS*
erspan_opts* OPTIONS*
gtp_opts* OPTIONS*
pfcp_opts* OPTIONS*
Match on IP tunnel metadata. Key id NUMBER is a 32 bit tunnel key id (e.g. VNI for VXLAN tunnel). PREFIX must be a valid IPv4 or IPv6 address optionally followed by a slash and the prefix length. If the prefix is missing, tc assumes a full-length host match. Dst port NUMBER is a 16 bit UDP dst port. Tos NUMBER is an 8 bit tos (dscp+ecn) value, ttl NUMBER is an 8 bit time-to-live value. geneve_opts OPTIONS must be a valid list of comma-separated geneve options where each option consists of a key optionally followed by a slash and corresponding mask. If the masks is missing, tc assumes a full-length match. The options can be described in the form CLASS:TYPE:DATA/CLASS_MASK:TYPE_MASK:DATA_MASK, where CLASS is represented as a 16bit hexadecimal value, TYPE as an 8bit hexadecimal value and DATA as a variable length hexadecimal value. vxlan_opts OPTIONS doesn’t support multiple options, and it consists of a key followed by a slash and corresponding mask. If the mask is missing, tc assumes a full-length match. The option can be described in the form GBP/GBP_MASK, where GBP is represented as a 32bit number. erspan_opts OPTIONS doesn’t support multiple options, and it consists of a key followed by a slash and corresponding mask. If the mask is missing, tc assumes a full-length match. The option can be described in the form VERSION:INDEX:DIR:HWID/VERSION:INDEX_MASK:DIR_MASK:HWID_MASK, where VERSION is represented as a 8bit number, INDEX as an 32bit number, DIR and HWID as a 8bit number. Multiple options is not supported. Note INDEX/INDEX_MASK is used when VERSION is 1, and DIR/DIR_MASK and HWID/HWID_MASK are used when VERSION is 2. gtp_opts OPTIONS doesn’t support multiple options, and it consists of a key followed by a slash and corresponding mask. If the mask is missing, tc assumes a full-length match. The option can be described in the form PDU_TYPE:QFI/PDU_TYPE_MASK:QFI_MASK where both PDU_TYPE and QFI are represented as a 8bit hexadecimal values. pfcp_opts OPTIONS does not support multiple options. It consists of a key followed by a slash and corresponding mask. If the mask is missing, tc assumes a full-length match. The option can be described in the form TYPE:SEID/TYPE_MASK:SEID_MASK where TYPE is represented as a 8bit number, SEID is represented by 64bit. Both TYPE and SEID are provided in hex.

ip_flags* IP_FLAGS*
IP_FLAGS may be either frag, nofrag, firstfrag or nofirstfrag where frag and nofrag could be used to match on fragmented packets or not, respectively. firstfrag and nofirstfrag can be used to further distinguish fragmented packet. firstfrag can be used to indicate the first fragmented packet. nofirstfrag can be used to indicates subsequent fragmented packets or non-fragmented packets.

l2_miss* L2_MISS*
Match on layer 2 miss in the bridge driver’s FDB / MDB. L2_MISS may be 0 or 1. When 1, match on packets that encountered a layer 2 miss. When 0, match on packets that were forwarded using an FDB / MDB entry. Note that broadcast packets do not encounter a miss since a lookup is not performed for them.

cfm* CFM_OPTIONS*
Match on Connectivity Fault Management (CFM) fields. CFM_OPTIONS is a list of options that describe the properties of the CFM information fields to match.

mdl* LEVEL *
Match on the Maintenance Domain (MD) level field. LEVEL is an unsigned 3 bit value in decimal format.

op* OPCODE *
Match on the CFM opcode field. OPCODE is an unsigned 8 bit value in decimal format.

NOTES

As stated above where applicable, matches of a certain layer implicitly depend on the matches of the next lower layer. Precisely, layer one and two matches (indev, dst_mac and src_mac) have no dependency, MPLS and layer three matches (mpls, mpls_label, mpls_tc, mpls_bos, mpls_ttl, ip_proto, dst_ip, src_ip, arp_tip, arp_sip, arp_op, arp_tha, arp_sha and ip_flags) depend on the protocol option of tc filter, layer four port matches (dst_port and src_port) depend on ip_proto being set to tcp, udp or sctp, and finally ICMP matches (code and type) depend on ip_proto being set to icmp or icmpv6.

There can be only used one mask per one prio. If user needs to specify different mask, he has to use different prio.

SEE ALSO

tc(8), tc-flow(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

146 - Linux cli command usermod

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command usermod and provides detailed information about the command usermod, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the usermod.

NAME πŸ–₯️ usermod πŸ–₯️

modify a user account

SYNOPSIS

usermod [options] LOGIN

DESCRIPTION

The usermod command modifies the system account files.

OPTIONS

The options which apply to the usermod command are:

-a, –append

Add the user to the supplementary group(s). Use only with the -G option.

-b, –badname

Allow names that do not conform to standards.

-c, –comment COMMENT

update the comment field of the user in /etc/passwd, which is normally modified using the chfn(1) utility.

-d, –home HOME_DIR

The users new login directory.

If the -m option is given, the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist. If the current home directory does not exist the new home directory will not be created.

-e, –expiredate EXPIRE_DATE

The date on which the user account will be disabled. The date is specified in the format YYYY-MM-DD. Integers as input are interpreted as days after 1970-01-01.

An input of -1 or an empty string will blank the account expiration field in the shadow password file. The account will remain available with no date limit.

This option requires a /etc/shadow file. A /etc/shadow entry will be created if there were none.

-f, –inactive INACTIVE

defines the number of days after the password exceeded its maximum age during which the user may still login by immediately replacing the password. This grace period before the account becomes inactive is stored in the shadow password file. An input of 0 will disable an expired password with no delay. An input of -1 will blank the respective field in the shadow password file. See shadow(5) for more information.

This option requires a /etc/shadow file. A /etc/shadow entry will be created if there were none.

-g, –gid GROUP

The name or numerical ID of the users new primary group. The group must exist.

Any file from the users home directory owned by the previous primary group of the user will be owned by this new group.

The group ownership of files outside of the users home directory must be fixed manually.

The change of the group ownership of files inside of the users home directory is also not done if the home dir owner uid is different from the current or new user id. This is a safety measure for special home directories such as /.

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]

A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups must exist.

If the user is currently a member of a group which is not listed, the user will be removed from the group. This behaviour can be changed via the -a option, which appends the user to the current supplementary group list.

-l, –login NEW_LOGIN

The name of the user will be changed from LOGIN to NEW_LOGIN. Nothing else is changed. In particular, the users home directory or mail spool should probably be renamed manually to reflect the new login name.

-L, –lock

Lock a users password. This puts a ! in front of the encrypted password, effectively disabling the password. You cant use this option with -p or -U.

Note: if you wish to lock the account (not only access with a password), you should also set the EXPIRE_DATE to 1.

-m, –move-home

moves the content of the users home directory to the new location. If the current home directory does not exist the new home directory will not be created.

This option is only valid in combination with the -d (or –home) option.

usermod will try to adapt the ownership of the files and to copy the modes, ACL and extended attributes, but manual changes might be needed afterwards.

-o, –non-unique

allows to change the user ID to a non-unique value.

This option is only valid in combination with the -u option. As a user identity serves as key to map between users on one hand and permissions, file ownerships and other aspects that determine the systems behavior on the other hand, more than one login name will access the account of the given UID.

-p, –password PASSWORD

defines a new password for the user. PASSWORD is expected to be encrypted, as returned by crypt (3).

Note: Avoid this option on the command line because the password (or encrypted password) will be visible by users listing the processes.

The password will be written in the local /etc/passwd or /etc/shadow file. This might differ from the password database configured in your PAM configuration.

You should make sure the password respects the systems password policy.

-r, –remove

Remove the user from named supplementary group(s). Use only with the -G option.

-R, –root CHROOT_DIR

Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. Only absolute paths are supported.

-P, –prefix PREFIX_DIR

Apply changes within the directory tree starting with PREFIX_DIR and use as well the configuration files located there. This option does not chroot and is intended for preparing a cross-compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support.

-s, –shell SHELL

changes the users login shell. An empty string for SHELL blanks the field in /etc/passwd and logs the user into the systems default shell.

-u, –uid UID

The new value of the users ID.

This value must be unique, unless the -o option is used. The value must be non-negative.

The users mailbox, and any files which the user owns and which are located in the users home directory will have the file user ID changed automatically.

The ownership of files outside of the users home directory must be fixed manually.

The change of the user ownership of files inside of the users home directory is also not done if the home dir owner uid is different from the current or new user id. This is a safety measure for special home directories such as /.

No checks will be performed with regard to the UID_MIN, UID_MAX, SYS_UID_MIN, or SYS_UID_MAX from /etc/login.defs.

-U, –unlock

Unlock a users password. This removes the ! in front of the encrypted password. You cant use this option with -p or -L.

Note: if you wish to unlock the account (not only access with a password), you should also set the EXPIRE_DATE (for example to 99999, or to the EXPIRE value from /etc/default/useradd).

-v, –add-subuids FIRST-LAST

Add a range of subordinate uids to the users account.

This option may be specified multiple times to add multiple ranges to a users account.

No checks will be performed with regard to SUB_UID_MIN, SUB_UID_MAX, or SUB_UID_COUNT from /etc/login.defs.

-V, –del-subuids FIRST-LAST

Remove a range of subordinate uids from the users account.

This option may be specified multiple times to remove multiple ranges to a users account. When both –del-subuids and –add-subuids are specified, the removal of all subordinate uid ranges happens before any subordinate uid range is added.

No checks will be performed with regard to SUB_UID_MIN, SUB_UID_MAX, or SUB_UID_COUNT from /etc/login.defs.

-w, –add-subgids FIRST-LAST

Add a range of subordinate gids to the users account.

This option may be specified multiple times to add multiple ranges to a users account.

No checks will be performed with regard to SUB_GID_MIN, SUB_GID_MAX, or SUB_GID_COUNT from /etc/login.defs.

-W, –del-subgids FIRST-LAST

Remove a range of subordinate gids from the users account.

This option may be specified multiple times to remove multiple ranges to a users account. When both –del-subgids and –add-subgids are specified, the removal of all subordinate gid ranges happens before any subordinate gid range is added.

No checks will be performed with regard to SUB_GID_MIN, SUB_GID_MAX, or SUB_GID_COUNT from /etc/login.defs.

-Z, –selinux-user SEUSER

defines the SELinux user to be mapped with LOGIN. An empty string ("") will remove the respective entry (if any). Note that the shadow system doesnt store the selinux-user, it uses semanage(8) for that.

–selinux-range SERANGE

defines the SELinux MLS range for the new account. Note that the shadow system doesnt store the selinux-range, it uses semanage(8) for that.

This option is only valid if the -Z (or –selinux-user) option is specified.

CAVEATS

You must make certain that the named user is not executing any processes when this command is being executed if the users numerical user ID, the users name, or the users home directory is being changed. usermod checks this on Linux. On other operating systems it only uses utmp to check if the user is logged in.

You must change the owner of any crontab files or at jobs manually.

You must make any changes involving NIS on the NIS server.

CONFIGURATION

The following configuration variables in /etc/login.defs change the behavior of this tool:

LASTLOG_UID_MAX (number)

Highest user ID number for which the lastlog entries should be updated. As higher user IDs are usually tracked by remote user identity and authentication services there is no need to create a huge sparse lastlog file for them.

No LASTLOG_UID_MAX option present in the configuration means that there is no user ID limit for writing lastlog entries.

MAIL_DIR (string)

The mail spool directory. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted. If not specified, a compile-time default is used. The parameter CREATE_MAIL_SPOOL in /etc/default/useradd determines whether the mail spool should be created.

MAIL_FILE (string)

Defines the location of the users mail spool files relatively to their home directory.

The MAIL_DIR and MAIL_FILE variables are used by useradd, usermod, and userdel to create, move, or delete the users mail spool.

MAX_MEMBERS_PER_GROUP (number)

Maximum members per group entry. When the maximum is reached, a new group entry (line) is started in /etc/group (with the same name, same password, and same GID).

The default value is 0, meaning that there are no limits in the number of members in a group.

This feature (split group) permits to limit the length of lines in the group file. This is useful to make sure that lines for NIS groups are not larger than 1024 characters.

If you need to enforce such limit, you can use 25.

Note: split groups may not be supported by all tools (even in the Shadow toolsuite). You should not use this variable unless you really need it.

SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)

If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate group IDs) allocate SUB_GID_COUNT unused group IDs from the range SUB_GID_MIN to SUB_GID_MAX for each new user.

The default values for SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT are respectively 100000, 600100000 and 65536.

SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)

If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate user IDs) allocate SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to SUB_UID_MAX for each new user.

The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 65536.

FILES

/etc/group

Group account information

/etc/gshadow

Secure group account information

/etc/login.defs

Shadow password suite configuration

/etc/passwd

User account information

/etc/shadow

Secure user account information

/etc/subgid

Per user subordinate group IDs

/etc/subuid

Per user subordinate user IDs

SEE ALSO

chfn(1), chsh(1), passwd(1), crypt(3), gpasswd(8), groupadd(8), groupdel(8), groupmod(8), login.defs(5), subgid(5), subuid(5), useradd(8), userdel(8).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

147 - Linux cli command vfs_media_harmony

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_media_harmony and provides detailed information about the command vfs_media_harmony, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_media_harmony.

NAME πŸ–₯️ vfs_media_harmony πŸ–₯️

Allow multiple Avid clients to share a network drive.

SYNOPSIS

vfs objects = media_harmony

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_media_harmony VFS module allows Avid editorial workstations to share a network drive. It does this by:

1.

Giving each client their own copy of the Avid msmMMOB.mdb and msmFMID.pmr files and Creating directories.

2.

Allowing each client to explicitly control the write time the Avid application sees on Avid media directories.

This module is stackable.

CONFIGURATION

vfs_media_harmony automatically redirects requests from clients for Avid database files or an Avid Creating directory to a client-specific version of the file. No configuration beyond enabling the module is needed to get this portion of its functionality working.

If Mac and Windows Avid clients will be accessing the same folder, they should be given separate share definitions, with hidden Mac files vetoed on the Windows share. See EXAMPLES.

To allow each client to control when the Avid application refreshes their Avid databases, create files for each client and each Avid media directory with the name [avid_dir_name]_[client_ip_address]_[client_username]. To trigger Avid database refreshes, update the write time on those files. See EXAMPLES.

It is also necessary for the cache locked write times = no option to be set for clients to be able to control their Avid media folder write times.

EXAMPLES

Enable media_harmony for Mac and Windows clients:

    [avid_mac]
	path = /avid
	vfs objects = media_harmony
	cache locked write times = no
        [avid_win]
	path = /avid
	vfs objects = media_harmony
	cache locked write times = no
	veto files = /.DS_Store/._@/.Trash@/.Spotlight@/.hidden/.hotfiles@/.vol/
	delete veto files = yes

Create the files that will allow users david and susan to control their own Avid database refreshes:

touch /avid/OMFI MediaFiles_192.168.1.10_david
/avid/OMFI MediaFiles_192.168.1.11_susan
/avid/Avid MediaFiles/MXF/1_192.168.1.10_david
/avid/Avid MediaFiles/MXF/1_192.168.1.11_susan

Trigger an Avid database refresh for user david:

touch /avid/OMFI MediaFiles_192.168.1.10_david
/avid/Avid MediaFiles/MXF/1_192.168.1.10_david

If you have a large number of Avid media folders to manage, you can give each editor a suitably modified version of examples/scripts/vfs/media_harmony/trigger_avid_update.py to create and update these files.

CAVEATS

vfs_media_harmony is designed to work with Avid editing applications that look in the Avid MediaFiles or OMFI MediaFiles directories for media. It is not designed to work as expected in all circumstances for general use. For example: It is possible to open a client-specific file such as msmMMOB.mdb_192.168.1.10_userx even though it doesnt show up in a directory listing.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

148 - Linux cli command tc-drr

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-drr and provides detailed information about the command tc-drr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-drr.

NAME πŸ–₯️ tc-drr πŸ–₯️

deficit round robin scheduler

SYNOPSIS

tc qdisc … add drr [ quantum bytes ]

DESCRIPTION

The Deficit Round Robin Scheduler is a classful queuing discipline as a more flexible replacement for Stochastic Fairness Queuing.

Unlike SFQ, there are no built-in queues – you need to add classes and then set up filters to classify packets accordingly. This can be useful e.g. for using RED qdiscs with different settings for particular traffic. There is no default class – if a packet cannot be classified, it is dropped.

ALGORITHM

Each class is assigned a deficit counter, initialized to quantum.

DRR maintains an (internal) ‘‘active’’ list of classes whose qdiscs are non-empty. This list is used for dequeuing. A packet is dequeued from the class at the head of the list if the packet size is smaller or equal to the deficit counter. If the counter is too small, it is increased by quantum and the scheduler moves on to the next class in the active list.

PARAMETERS

quantum
Amount of bytes a flow is allowed to dequeue before the scheduler moves to the next class. Defaults to the MTU of the interface. The minimum value is 1.

EXAMPLE & USAGE

To attach to device eth0, using the interface MTU as its quantum:

# tc qdisc add dev eth0 handle 1 root drr

Adding two classes:

# tc class add dev eth0 parent 1: classid 1:1 drr
# tc class add dev eth0 parent 1: classid 1:2 drr

You also need to add at least one filter to classify packets.

# tc filter add dev eth0 protocol .. classid 1:1

Like SFQ, DRR is only useful when it owns the queue – it is a pure scheduler and does not delay packets. Attaching non-work-conserving qdiscs like tbf to it does not make sense – other qdiscs in the active list will also become inactive until the dequeue operation succeeds. Embed DRR within another qdisc like HTB or HFSC to ensure it owns the queue.

You can mimic SFQ behavior by assigning packets to the attached classes using the flow filter:

tc qdisc add dev .. drr

for i in .. 1024;do
tc class add dev .. classid $handle:$(print %x $i)
tc qdisc add dev .. fifo limit 16
done

tc filter add .. protocol ip .. $handle flow hash keys src,dst,proto,proto-src,proto-dst divisor 1024 perturb 10

SOURCE

o
M. Shreedhar and George Varghese “Efficient Fair Queuing using Deficit Round Robin”, Proc. SIGCOMM 95.

NOTES

This implementation does not drop packets from the longest queue on overrun, as limits are handled by the individual child qdiscs.

SEE ALSO

tc(8), tc-htb(8), tc-sfq(8)

AUTHOR

sched_drr was written by Patrick McHardy.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

149 - Linux cli command update-default-aspell

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-default-aspell and provides detailed information about the command update-default-aspell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-default-aspell.

NAME πŸ–₯️ update-default-aspell πŸ–₯️

dictcommon-aspell - rebuild aspell database and emacsen stuff

SYNOPSIS

update-dictcommon-aspell

DESCRIPTION

WARNING: Not to be used from the command line unless you know very well what you are doing.

This script, when called from aspell dict package postinst or postrm will rebuild aspell database as well as squirrelmail, jed and emacsen stuff.

SEE ALSO

The dictionaries-common policy

AUTHORS

Rafael Laboissiere, Agustin Martin

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

150 - Linux cli command systemd-tmpfiles-clean.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tmpfiles-clean.service and provides detailed information about the command systemd-tmpfiles-clean.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tmpfiles-clean.service.

NAME πŸ–₯️ systemd-tmpfiles-clean.service πŸ–₯️

tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer - Create, delete, and clean up files and directories

SYNOPSIS

systemd-tmpfiles [OPTIONS…] [CONFIGFILE…]

System units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-setup-dev-early.service

systemd-tmpfiles-setup-dev.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

User units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

DESCRIPTION

systemd-tmpfiles creates, deletes, and cleans up files and directories, using the configuration file format and location specified in tmpfiles.d(5). Historically, it was designed to manage volatile and temporary files, as the name suggests, but it provides generic file management functionality and can be used to manage any kind of files. It must be invoked with one or more commands –create, –remove, and –clean, to select the respective subset of operations.

If invoked with no arguments, directives from the configuration files found in the directories specified by tmpfiles.d(5). When invoked with positional arguments, if option **–replace=**PATH is specified, arguments specified on the command line are used instead of the configuration file PATH. Otherwise, just the configuration specified by the command line arguments is executed. If the string “-” is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.

System services (systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service) invoke systemd-tmpfiles to create system files and to perform system wide cleanup. Those services read administrator-controlled configuration files in tmpfiles.d/ directories. User services (systemd-tmpfiles-setup.service, systemd-tmpfiles-clean.service) also invoke systemd-tmpfiles, but it reads a separate set of files, which includes user-controlled files under ~/.config/user-tmpfiles.d/ and ~/.local/share/user-tmpfiles.d/, and administrator-controlled files under /usr/share/user-tmpfiles.d/. Users may use this to create and clean up files under their control, but the system instance performs global cleanup and is not influenced by user configuration. Note that this means a time-based cleanup configured in the system instance, such as the one typically configured for /tmp/, will thus also affect files created by the user instance if they are placed in /tmp/, even if the user instances time-based cleanup is turned off.

To re-apply settings after configuration has been modified, simply restart systemd-tmpfiles-clean.service, which will apply any settings which can be safely executed at runtime. To debug systemd-tmpfiles, it may be useful to invoke it directly from the command line with increased log level (see $SYSTEMD_LOG_LEVEL below).

COMMANDS AND OPTIONS

The following commands are understood:

–create

If this command is passed, all files and directories marked with f, F, w, d, D, v, p, L, c, b, m in the configuration files are created or written to. Files and directories marked with z, Z, t, T, a, and A have their ownership, access mode and security labels set.

–clean

If this command is passed, all files and directories with an age parameter configured will be cleaned up.

–remove

If this command is passed, the contents of directories marked with D or R, and files or directories themselves marked with r or R are removed unless an exclusive or shared BSD lock is taken on them (see flock(2)).

–purge

If this option is passed, all files and directories marked for creation by the tmpfiles.d/ files specified on the command line will be deleted. Specifically, this acts on all files and directories marked with f, F, d, D, v, q, Q, p, L, c, b, C, w, e. If this switch is used at least one tmpfiles.d/ file (or - for standard input) must be specified on the command line or the invocation will be refused, for safety reasons (as otherwise much of the installed system files might be removed).

The primary usecase for this option is to automatically remove files and directories that originally have been created on behalf of an installed packaged at package removal time.

It is recommended to first run this command in combination with –dry-run (see below) to verify which files and directories will be deleted.

Warning! This is usually not the command you want! In most cases –remove is what you are looking for.

Added in version 256.

–user

Execute “user” configuration, i.e. tmpfiles.d files in user configuration directories.

Added in version 236.

–boot

Also execute lines with an exclamation mark. Lines that are not safe to be executed on a running system may be marked in this way. systemd-tmpfiles is executed in early boot with –boot specified and will execute those lines. When invoked again later, it should be called without –boot.

Added in version 209.

–graceful

Ignore configuration lines pertaining to unknown users or groups. This option is intended to be used in early boot before all users or groups have been created.

Added in version 254.

–dry-run

Process the configuration and print what operations would be performed, but dont actually change anything in the file system.

Added in version 256.

**–prefix=**path

Only apply rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 212.

**–exclude-prefix=**path

Ignore rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 207.

-E

A shortcut for “–exclude-prefix=/dev –exclude-prefix=/proc –exclude-prefix=/run –exclude-prefix=/sys”, i.e. exclude the hierarchies typically backed by virtual or memory file systems. This is useful in combination with –root=, if the specified directory tree contains an OS tree without these virtual/memory file systems mounted in, as it is typically not desirable to create any files and directories below these subdirectories if they are supposed to be overmounted during runtime.

Added in version 247.

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths.

When this option is used, the libc Name Service Switch (NSS) is bypassed for resolving users and groups. Instead the files /etc/passwd and /etc/group inside the alternate root are read directly. This means that users/groups not listed in these files will not be resolved, i.e. LDAP NIS and other complex databases are not considered.

Consider combining this with -E to ensure the invocation does not create files or directories below mount points in the OS image operated on that are typically overmounted during runtime.

Added in version 212.

**–image=**image

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Implies -E.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–replace=**PATH

When this option is given, one or more positional arguments must be specified. All configuration files found in the directories listed in tmpfiles.d(5) will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file PATH.

This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority.

Added in version 238.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

It is possible to combine –create, –clean, and –remove in one invocation (in which case removal and cleanup are executed before creation of new files). For example, during boot the following command line is executed to ensure that all temporary and volatile directories are removed and created according to the configuration file:

systemd-tmpfiles –remove –create

CREDENTIALS

systemd-tmpfiles supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

tmpfiles.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other tmpfiles.d/ drop-in configuration file. If this credential is passed it is processed after all of the drop-in files read from the file system. The lines in the credential can hence augment existing lines of the OS, but not override them.

Added in version 252.

Note that by default the systemd-tmpfiles-setup.service unit file (and related unit files) is set up to inherit the “tmpfiles.extra” credential from the service manager.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

UNPRIVILEGED –CLEANUP OPERATION

systemd-tmpfiles tries to avoid changing the access and modification times on the directories it accesses, which requires CAP_FOWNER privileges. When running as non-root, directories which are checked for files to clean up will have their access time bumped, which might prevent their cleanup.

EXIT STATUS

On success, 0 is returned. If the configuration was syntactically invalid (syntax errors, missing arguments, …), so some lines had to be ignored, but no other errors occurred, 65 is returned (EX_DATAERR from /usr/include/sysexits.h). If the configuration was syntactically valid, but could not be executed (lack of permissions, creation of files in missing directories, invalid contents when writing to /sys/ values, …), 73 is returned (EX_CANTCREAT from /usr/include/sysexits.h). Otherwise, 1 is returned (EXIT_FAILURE from /usr/include/stdlib.h).

Note: when creating items, if the target already exists, but is of the wrong type or otherwise does not match the requested state, and forced operation has not been requested with “+”, a message is emitted, but the failure is otherwise ignored.

SEE ALSO

systemd(1), tmpfiles.d(5)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

151 - Linux cli command systemd-udevd-control.socket

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-udevd-control.socket and provides detailed information about the command systemd-udevd-control.socket, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-udevd-control.socket.

NAME πŸ–₯️ systemd-udevd-control.socket πŸ–₯️

udevd.service, systemd-udevd-control.socket, systemd-udevd-kernel.socket, systemd-udevd - Device event managing daemon

SYNOPSIS

systemd-udevd.service

systemd-udevd-control.socket

systemd-udevd-kernel.socket

/usr/lib/systemd/systemd-udevd [–daemon] [–debug] [–children-max=] [–exec-delay=] [–event-timeout=] [–resolve-names=early|late|never] [–version] [–help]

DESCRIPTION

systemd-udevd listens to kernel uevents. For every event, systemd-udevd executes matching instructions specified in udev rules. See udev(7).

The behavior of the daemon can be configured using udev.conf(5), its command line options, environment variables, and on the kernel command line, or changed dynamically with udevadm control.

OPTIONS

-d, –daemon

Detach and run in the background.

Added in version 186.

-D, –debug

Print debug messages to standard error.

Added in version 186.

-c, –children-max=

Limit the number of events executed in parallel.

Added in version 186.

-e, –exec-delay=

Delay the execution of each RUN{program} parameter by the given number of seconds. This option might be useful when debugging system crashes during coldplug caused by loading non-working kernel modules.

Added in version 186.

-t, –event-timeout=

Set the number of seconds to wait for events to finish. After this time, the event will be terminated. The default is 180 seconds.

Added in version 216.

-s, –timeout-signal=

Set the signal which systemd-udevd will send to forked off processes after reaching event timeout. The setting can be overridden at boot time with the kernel command line option udev.timeout_signal=. Setting to SIGABRT may be helpful in order to debug worker timeouts. Defaults to SIGKILL. Note that setting the option on the command line overrides the setting from the configuration file.

Added in version 246.

-N, –resolve-names=

Specify when systemd-udevd should resolve names of users and groups. When set to early (the default), names will be resolved when the rules are parsed. When set to late, names will be resolved for every event. When set to never, names will never be resolved and all devices will be owned by root.

Added in version 186.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

KERNEL COMMAND LINE

Parameters prefixed with “rd.” will be read when systemd-udevd is used in an initrd, those without will be processed both in the initrd and on the host.

udev.log_level=, rd.udev.log_level=

Set the log level.

Added in version 247.

udev.children_max=, rd.udev.children_max=

Limit the number of events executed in parallel.

Added in version 186.

udev.exec_delay=, rd.udev.exec_delay=

Delay the execution of each RUN{program} parameter by the given number of seconds. This option might be useful when debugging system crashes during coldplug caused by loading non-working kernel modules.

Added in version 186.

udev.event_timeout=, rd.udev.event_timeout=

Wait for events to finish up to the given number of seconds. This option might be useful if events are terminated due to kernel drivers taking too long to initialize.

Added in version 216.

udev.timeout_signal=, rd.udev.timeout_signal=

Specifies a signal that systemd-udevd will send to workers on timeout. Note that kernel command line option overrides both the setting in the configuration file and the one on the program command line.

Added in version 246.

udev.blockdev_read_only, rd.udev.blockdev_read_only

If specified, mark all physical block devices read-only as they appear. Synthetic block devices (such as loopback block devices or device mapper devices) are left as they are. This is useful to guarantee that the contents of physical block devices remains unmodified during runtime, for example to implement fully stateless systems, for testing or for recovery situations where corrupted file systems shall not be corrupted further through accidental modification.

A block device may be marked writable again by issuing the blockdev –setrw command, see blockdev(8) for details.

Added in version 246.

net.ifnames=

Network interfaces are renamed to give them predictable names when possible. It is enabled by default; specifying 0 disables it.

Added in version 199.

net.naming_scheme=

Network interfaces are renamed to give them predictable names when possible (unless net.ifnames=0 is specified, see above). With this kernel command line option it is possible to pick a specific version of this algorithm and override the default chosen at compilation time. Expects one of the naming scheme identifiers listed in systemd.net-naming-scheme(7), or “latest” to select the latest scheme known (to this particular version of systemd-udevd.service).

Note that selecting a specific scheme is not sufficient to fully stabilize interface naming: the naming is generally derived from driver attributes exposed by the kernel. As the kernel is updated, previously missing attributes systemd-udevd.service is checking might appear, which affects older name derivation algorithms, too.

Added in version 240.

net.ifname_policy=policy1[,policy2,…][,MAC]

Specifies naming policies applied when renaming network interfaces. Takes a list of policies and an optional MAC address separated with comma. Each policy value must be one of the policies understood by the NamePolicy= setting in .link files, e.g. “onboard” or “path”. See systemd.link(5) for more details. When the MAC address is specified, the policies are applied to the interface which has the address. When no MAC address is specified, the policies are applied to all interfaces. This kernel command line argument can be specified multiple times.

This argument is not directly read by systemd-udevd, but is instead converted to a .link file by systemd-network-generator.service(8). For this argument to take effect, systemd-network-generator.service must be enabled.

Example:

net.ifname_policy=keep,kernel,path,slot,onboard,01:23:45:67:89:ab net.ifname_policy=keep,kernel,path,slot,onboard,mac

This is mostly equivalent to creating the following .link files:

91-name-policy-with-mac.link

[Match]
MACAddress=01:23:45:67:89:ab

[Link]
NamePolicy=keep kernel path slot onboard
AlternativeNamePolicy=path slot onboard

and

92-name-policy-for-all.link

[Match]
OriginalName=*

[Link]
NamePolicy=keep kernel path slot onboard mac
AlternativeNamePolicy=path slot onboard mac

Added in version 250.

SEE ALSO

udev.conf(5), udev(7), udevadm(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

152 - Linux cli command systemd-quotacheck.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-quotacheck.service and provides detailed information about the command systemd-quotacheck.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-quotacheck.service.

NAME πŸ–₯️ systemd-quotacheck.service πŸ–₯️

quotacheck.service, systemd-quotacheck - File system quota checker logic

SYNOPSIS

systemd-quotacheck.service

/usr/lib/systemd/systemd-quotacheck

DESCRIPTION

systemd-quotacheck.service is a service responsible for file system quota checks. It is run once at boot after all necessary file systems are mounted. It is pulled in only if at least one file system has quotas enabled.

KERNEL COMMAND LINE

systemd-quotacheck understands one kernel command line parameter:

quotacheck.mode=

One of “auto”, “force”, “skip”. Controls the mode of operation. The default is “auto”, and ensures that file system quota checks are done when the file system quota checker deems them necessary. “force” unconditionally results in full file system quota checks. “skip” skips any file system quota checks.

Added in version 186.

SEE ALSO

systemd(1), quotacheck(8), [email protected](8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

153 - Linux cli command tc-choke

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-choke and provides detailed information about the command tc-choke, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-choke.

NAME πŸ–₯️ tc-choke πŸ–₯️

choose and keep scheduler

SYNOPSIS

tc qdisc … choke limit packets min packets max packets avpkt bytes burst packets [ ecn ] [ bandwidth rate ] probability chance

DESCRIPTION

CHOKe (CHOose and Keep for responsive flows, CHOose and Kill for unresponsive flows) is a classless qdisc designed to both identify and penalize flows that monopolize the queue. CHOKe is a variation of RED, and the configuration is similar to RED.

ALGORITHM

Once the queue hits a certain average length, a random packet is drawn from the queue. If both the to-be-queued and the drawn packet belong to the same flow, both packets are dropped. Otherwise, if the queue length is still below the maximum length, the new packet has a configurable chance of being marked (which may mean dropped). If the queue length exceeds max, the new packet will always be marked (or dropped). If the queue length exceeds limit, the new packet is always dropped.

The marking probability computation is the same as used by the RED qdisc.

PARAMETERS

The parameters are the same as for RED, except that RED uses bytes whereas choke counts packets. See tc-red(8) for a description.

SOURCE

o
R. Pan, B. Prabhakar, and K. Psounis, “CHOKe, A Stateless Active Queue Management Scheme for Approximating Fair Bandwidth Allocation”, IEEE INFOCOM, 2000.

o
A. Tang, J. Wang, S. Low, “Understanding CHOKe: Throughput and Spatial Characteristics”, IEEE/ACM Transactions on Networking, 2004

SEE ALSO

tc(8), tc-red(8)

AUTHOR

sched_choke was contributed by Stephen Hemminger.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

154 - Linux cli command testdisk

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command testdisk and provides detailed information about the command testdisk, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the testdisk.

NAME πŸ–₯️ testdisk πŸ–₯️

Scan and repair disk partitions

SYNOPSIS

“testdisk*[/log][/debug][/dump]*[device|image.dd|image.e01]

“testdisk*/version*

“testdisk*/list***[/log]**

DESCRIPTION

TestDisk checks and recovers lost partitions It works with : - BeFS (BeOS) - BSD disklabel (FreeBSD/OpenBSD/NetBSD) - CramFS, Compressed File System - DOS/Windows FAT12, FAT16 and FAT32 - HFS and HFS+, Hierarchical File System - JFS, IBM’s Journaled File System - Linux ext2/ext3/ext4 - Linux Raid RAID 1: mirroring RAID 4: striped array with parity device RAID 5: striped array with distributed parity information RAID 6: striped array with distributed dual redundancy information - Linux Swap (versions 1 and 2) - LVM and LVM2, Linux Logical Volume Manager - Mac partition map - Novell Storage Services NSS - NTFS (Windows NT/2K/XP/2003/Vista/…) - ReiserFS 3.5, 3.6 and 4 - Sun Solaris i386 disklabel - Unix File System UFS and UFS2 (Sun/BSD/…) - XFS, SGI’s Journaled File System

It can undelete files from - DOS/Windows FAT12, FAT16 and FAT32 - Linux ext2 - NTFS (Windows NT/2K/XP/2003/Vista/…)

For more information on how to use, please visit the wiki pages on www.cgsecurity.org

OPTIONS

/log
create a testdisk.log file

/debug
add debug information

/dump
dump raw sectors

/list
display current partitions

SEE ALSO

fdisk(8), photorec(8).

AUTHOR

TestDisk 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <[email protected]>
https://www.cgsecurity.org

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

155 - Linux cli command umount

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command umount and provides detailed information about the command umount, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the umount.

NAME πŸ–₯️ umount πŸ–₯️

unmount filesystems

SYNOPSIS

umount -a [-dflnrv] [-t fstype] [-O option…]

umount [-dflnrv] {directory|device}

umount -h|-V

DESCRIPTION

The umount command detaches the mentioned filesystem(s) from the file hierarchy. A filesystem is specified by giving the directory where it has been mounted. Giving the special device on which the filesystem lives may also work, but is obsolete, mainly because it will fail in case this device was mounted on more than one directory.

Note that a filesystem cannot be unmounted when it is busy - for example, when there are open files on it, or when some process has its working directory there, or when a swap file on it is in use. The offending process could even be umount itself - it opens libc, and libc in its turn may open for example locale files. A lazy unmount avoids this problem, but it may introduce other issues. See –lazy description below.

OPTIONS

-a, –all

All of the filesystems described in /proc/self/mountinfo (or in deprecated /etc/mtab) are unmounted, except the proc, devfs, devpts, sysfs, rpc_pipefs and nfsd filesystems. This list of the filesystems may be replaced by –types umount option.

-A, –all-targets

Unmount all mountpoints in the current mount namespace for the specified filesystem. The filesystem can be specified by one of the mountpoints or the device name (or UUID, etc.). When this option is used together with –recursive, then all nested mounts within the filesystem are recursively unmounted. This option is only supported on systems where /etc/mtab is a symlink to /proc/mounts.

-c, –no-canonicalize

Do not canonicalize paths. The paths canonicalization is based on stat(2) and readlink(2) system calls. These system calls may hang in some cases (for example on NFS if server is not available). The option has to be used with canonical path to the mount point.

This option is silently ignored by umount for non-root users.

For more details about this option see the mount(8) man page. Note that umount does not pass this option to the **/sbin/umount.**type helpers.

-d, –detach-loop

When the unmounted device was a loop device, also free this loop device. This option is unnecessary for devices initialized by mount(8), in this case “autoclear” functionality is enabled by default.

–fake

Causes everything to be done except for the actual system call or umount helper execution; this fakes unmounting the filesystem. It can be used to remove entries from the deprecated /etc/mtab that were unmounted earlier with the -n option.

-f, –force

Force an unmount (in case of an unreachable NFS system).

Note that this option does not guarantee that umount command does not hang. It’s strongly recommended to use absolute paths without symlinks to avoid unwanted readlink(2) and stat(2) system calls on unreachable NFS in umount.

-i, –internal-only

Do not call the **/sbin/umount.**filesystem helper even if it exists. By default such a helper program is called if it exists.

-l, –lazy

Lazy unmount. Detach the filesystem from the file hierarchy now, and clean up all references to this filesystem as soon as it is not busy anymore.

A system reboot would be expected in near future if you’re going to use this option for network filesystem or local filesystem with submounts. The recommended use-case for umount -l is to prevent hangs on shutdown due to an unreachable network share where a normal umount will hang due to a downed server or a network partition. Remounts of the share will not be possible.

-N, –namespace ns

Perform umount in the mount namespace specified by ns. ns is either PID of process running in that namespace or special file representing that namespace.

umount switches to the namespace when it reads /etc/fstab, writes /etc/mtab (or writes to /run/mount) and calls umount(2) system call, otherwise it runs in the original namespace. It means that the target mount namespace does not have to contain any libraries or other requirements necessary to execute umount(2) command.

See mount_namespaces(7) for more information.

-n, –no-mtab

Unmount without writing in /etc/mtab.

-O, –test-opts option

Unmount only the filesystems that have the specified option set in /etc/fstab. More than one option may be specified in a comma-separated list. Each option can be prefixed with no to indicate that no action should be taken for this option.

-q, –quiet

Suppress “not mounted” error messages.

-R, –recursive

Recursively unmount each specified directory. Recursion for each directory will stop if any unmount operation in the chain fails for any reason. The relationship between mountpoints is determined by /proc/self/mountinfo entries. The filesystem must be specified by mountpoint path; a recursive unmount by device name (or UUID) is unsupported. Since version 2.37 it umounts also all over-mounted filesystems (more filesystems on the same mountpoint).

-r, –read-only

When an unmount fails, try to remount the filesystem read-only.

-t, –types type

Indicate that the actions should only be taken on filesystems of the specified type. More than one type may be specified in a comma-separated list. The list of filesystem types can be prefixed with no to indicate that no action should be taken for all of the mentioned types. Note that umount reads information about mounted filesystems from kernel (/proc/mounts) and filesystem names may be different than filesystem names used in the /etc/fstab (e.g., “nfs4” vs. “nfs”).

-v, –verbose

Verbose mode.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

NON-SUPERUSER UMOUNTS

Normally, only the superuser can umount filesystems. However, when fstab contains the user option on a line, anybody can umount the corresponding filesystem. For more details see mount(8) man page.

Since version 2.34 the umount command can be used to perform umount operation also for fuse filesystems if kernel mount table contains user’s ID. In this case fstab user= mount option is not required.

Since version 2.35 umount command does not exit when user permissions are inadequate by internal libmount security rules. It drops suid permissions and continue as regular non-root user. This can be used to support use-cases where root permissions are not necessary (e.g., fuse filesystems, user namespaces, etc).

LOOP DEVICE

The umount command will automatically detach loop device previously initialized by mount(8) command independently of /etc/mtab.

In this case the device is initialized with “autoclear” flag (see losetup(8) output for more details), otherwise it’s necessary to use the option –detach-loop or call losetup -d device. The autoclear feature is supported since Linux 2.6.25.

EXTERNAL HELPERS

The syntax of external unmount helpers is:

umount.suffix {directory|device} [-flnrv] [-N namespace] [-t type.subtype]

where suffix is the filesystem type (or the value from a uhelper= or helper= marker in the mtab file). The -t option can be used for filesystems that have subtype support. For example:

umount.fuse -t fuse.sshfs

A **uhelper=**something marker (unprivileged helper) can appear in the /etc/mtab file when ordinary users need to be able to unmount a mountpoint that is not defined in /etc/fstab (for example for a device that was mounted by udisks(1)).

A **helper=**type marker in the mtab file will redirect all unmount requests to the **/sbin/umount.**type helper independently of UID.

Note that /etc/mtab is currently deprecated and helper= and other userspace mount options are maintained by libmount.

ENVIRONMENT

LIBMOUNT_FSTAB=<path>

overrides the default location of the fstab file (ignored for suid)

LIBMOUNT_DEBUG=all

enables libmount debug output

FILES

/etc/mtab

table of mounted filesystems (deprecated and usually replaced by symlink to /proc/mounts)

/etc/fstab

table of known filesystems

/proc/self/mountinfo

table of mounted filesystems generated by kernel.

HISTORY

A umount command appeared in Version 6 AT&T UNIX.

SEE ALSO

umount(2), losetup(8), mount_namespaces(7), mount(8)

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The umount command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

156 - Linux cli command vfs_readonly

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_readonly and provides detailed information about the command vfs_readonly, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_readonly.

NAME πŸ–₯️ vfs_readonly πŸ–₯️

make a Samba share read only for a specified time period

SYNOPSIS

vfs objects = readonly

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_readonly VFS module marks a share as read only for all clients connecting within the configured time period. Clients connecting during this time will be denied write access to all files in the share, irrespective of their actual access privileges.

This module is stackable.

OPTIONS

readonly:period = BEGIN, END

Only mark the share as read only if the client connection was made between the times marked by the BEGIN and END date specifiers. The syntax of these date specifiers is the same as that accepted by the -d option of GNU date(1).

EXAMPLES

Mark all shares read only:

    [global]
	vfs objects = readonly

Mark the [backup] share as read only during business hours:

    [backup]
	path = /readonly
	vfs objects = readonly
	readonly:period = readonly:period = "today 9:00","today 17:00"

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

157 - Linux cli command vfs_virusfilter

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_virusfilter and provides detailed information about the command vfs_virusfilter, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_virusfilter.

NAME πŸ–₯️ vfs_virusfilter πŸ–₯️

On access virus scanner

SYNOPSIS

vfs objects = virusfilter

DESCRIPTION

This is a set of various Samba VFS modules to scan and filter virus files on Samba file services with an anti-virus scanner.

This module is stackable.

OPTIONS

virusfilter:scanner

The antivirus scan-engine.

Β·

sophos, the Sophos AV scanner

Β·

fsav, the F-Secure AV scanner

Β·

clamav, the ClamAV scanner

Β·

dummy, dummy scanner used in tests. Checks against the infected files parameter and flags any name that matches as infected.

virusfilter:socket path = PATH

Path of local socket for the virus scanner.

If this option is not set, the default path depends on the configured AV scanning engine.

For the sophos backend the default is /var/run/savdi/sssp.sock.

For the fsav backend the default is /tmp/.fsav-0.

For the clamav backend the default is /var/run/clamav/clamd.ctl.

virusfilter:connect timeout = 30000

Controls how long to wait on connecting to the virus scanning process before timing out. Value is in milliseconds.

If this option is not set, the default is 30000.

virusfilter:io timeout = 60000

Controls how long to wait on communications with the virus scanning process before timing out. Value is in milliseconds.

If this option is not set, the default is 60000.

virusfilter:scan on open = yes

This option controls whether files are scanned on open.

If this option is not set, the default is yes.

virusfilter:scan on close = no

This option controls whether files are scanned on close.

If this option is not set, the default is no.

virusfilter:max file size = 100000000

This is the largest sized file, in bytes, which will be scanned.

If this option is not set, the default is 100MB.

virusfilter:min file size = 10

This is the smallest sized file, in bytes, which will be scanned.

If this option is not set, the default is 10.

virusfilter:infected file action = nothing

What to do with an infected file. The options are nothing, quarantine, rename, delete.

If this option is not set, the default is nothing.

virusfilter:infected file errno on open = EACCES

What errno to return on open if the file is infected.

If this option is not set, the default is EACCES.

virusfilter:infected file errno on close = 0

What errno to return on close if the file is infected.

If this option is not set, the default is 0.

virusfilter:quarantine directory = PATH

Where to move infected files. This path must be an absolute path.

If this option is not set, the default is “.quarantine” relative to the share path.

virusfilter:quarantine prefix = virusfilter.

Prefix for quarantined files.

If this option is not set, the default is “virusfilter.”.

virusfilter:quarantine suffix = .infected

Suffix for quarantined files. This option is only used if keep name is true. Otherwise it is ignored.

If this option is not set, the default is “.infected”.

virusfilter:rename prefix = virusfilter.

Prefix for infected files.

If this option is not set, the default is “virusfilter.”.

virusfilter:rename suffix = .infected

Suffix for infected files.

If this option is not set, the default is “.infected”.

virusfilter:quarantine keep tree = yes

If keep tree is set, the directory structure relative to the share is maintained in the quarantine directory.

If this option is not set, the default is yes.

virusfilter:quarantine keep name = yes

Should the file name be left unmodified other than adding a suffix and/or prefix and a random suffix name as defined in virusfilter:rename prefix and virusfilter:rename suffix.

If this option is not set, the default is yes.

virusfilter:infected file command = @SAMBA_DATADIR@/bin/virusfilter-notify –mail-to [email protected] –cc “%[email protected]” –from [email protected] –subject-prefix “Samba: Infected File: "

External command to run on an infected file is found.

If this option is not set, the default is none.

virusfilter:scan archive = true

This defines whether or not to scan archives.

Sophos and F-Secure support this and it defaults to false.

virusfilter:max nested scan archive = 1

This defines the maximum depth to search nested archives.

The Sophos and F-Secure support this and it defaults to 1.

virusfilter:scan mime = true

This defines whether or not to scan mime files.

Only the fsavscanner supports this option and defaults to false.

virusfilter:scan error command = @SAMBA_DATADIR@/bin/virusfilter-notify –mail-to [email protected] –from [email protected] –subject-prefix “Samba: Scan Error: "

External command to run on scan error.

If this option is not set, the default is none.

virusfilter:exclude files = empty

Files to exclude from scanning.

If this option is not set, the default is empty.

virusfilter:infected files = empty

Files that virusfilter dummy flags as infected.

If this option is not set, the default is empty.

virusfilter:block access on error = false

Controls whether or not access should be blocked on a scanning error.

If this option is not set, the default is false.

virusfilter:scan error errno on open = EACCES

What errno to return on open if there is an error in scanning the file and block access on error is true.

If this option is not set, the default is EACCES.

virusfilter:scan error errno on close = 0

What errno to return on close if there is an error in scanning the file and block access on error is true.

If this option is not set, the default is 0.

virusfilter:cache entry limit = 100

The maximum number of entries in the scanning results cache. Due to how Sambas memcache works, this is approximate.

If this option is not set, the default is 100.

virusfilter:cache time limit = 10

The maximum number of seconds that a scanning result will stay in the results cache. -1 disables the limit. 0 disables caching.

If this option is not set, the default is 10.

virusfilter:quarantine directory mode = 0755

This is the octet mode for the quarantine directory and its sub-directories as they are created.

If this option is not set, the default is 0755 or S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH.

Permissions must be such that all users can read and search. I.E. dont mess with this unless you really know what you are doing.

virusfilter:block suspected file = false

With this option on, suspected malware will be blocked as well. Only the fsavscanner supports this option.

If this option is not set, the default is false.

NOTES

This module can scan other than default streams, if the alternative datastreams are each backed as separate files, such as with the vfs module streams_depot.

For proper operation the streams support module must be before the virusfilter module in your vfs objects list (i.e. streams_depot must be called before virusfilter module).

This module is intended for security in depth by providing virus scanning capability on the server. It is not intended to be used in lieu of proper client based security. Other modules for security may exist and may be desirable for security in depth on the server.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

158 - Linux cli command tipc-node

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tipc-node and provides detailed information about the command tipc-node, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tipc-node.

NAME πŸ–₯️ tipc-node πŸ–₯️

node - modify and show local node parameters or list peer nodes

SYNOPSIS

tipc node set { **address ** ADDRESS | netid NETID }

tipc node get { address | netid }

tipc node list

OPTIONS

Options (flags) that can be passed anywhere in the command chain.

-h,** –help**
Show help about last valid command. For example tipc node –help will show node help and tipc –help will show general help. The position of the option in the string is irrelevant.

DESCRIPTION

Node parameters

address

The TIPC logical address. On the form x.y.z where x, y and z are unsigned integers.

netid

Network identity. Can by used to create individual TIPC clusters on the same media.

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

tipc(8), tipc-bearer(8), tipc-link(8), tipc-media(8), tipc-nametable(8), tipc-peer(8), tipc-socket(8)

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Richard Alpe <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

159 - Linux cli command systemd-xdg-autostart-generator

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-xdg-autostart-generator and provides detailed information about the command systemd-xdg-autostart-generator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-xdg-autostart-generator.

NAME πŸ–₯️ systemd-xdg-autostart-generator πŸ–₯️

xdg-autostart-generator - User unit generator for XDG autostart files

SYNOPSIS

/usr/lib/systemd/user-generators/systemd-xdg-autostart-generator

DESCRIPTION

systemd-xdg-autostart-generator is a generator that creates .service units for XDG autostart[1] files. This permits desktop environments to delegate startup of these applications to systemd(1) .

Units created by systemd-xdg-autostart-generator can be started by the desktop environment using “xdg-desktop-autostart.target”. See systemd.special(7) for more details.

XDG autostart may be conditionalized using both standardized and non-standardized keys. In order to handle these, the generator may create one or more ExecCondition= entries. For non-standardized keys, well-known helper binaries provided by Desktop Environments are used. All external helpers must detect their corresponding desktop environment and must return success when run in a different environment. This is important as all ExecCondition= directives must succeed for an application to be started.

Table 1. Special XDG desktop file entries that are processed

EntryHandling
Hidden=, X-systemd-skip=No service will be generated if set to true
OnlyShowIn=, NotShowIn=ExecCondition= using systemd-xdg-autostart-condition
TryExec=No service will be generated if the binary does not exist or cannot be executed
AutostartCondition= (GNOME extension)ExecCondition= using gnome-systemd-autostart-condition
X-GNOME-Autostart-Phase=No service will be generated if set to any value
X-KDE-autostart-condition=ExecCondition= using kde-systemd-start-condition

systemd-xdg-autostart-generator implements systemd.generator(7).

SEE ALSO

systemd(1), systemd.service(5), systemd.target(5)

NOTES

XDG autostart

https://specifications.freedesktop.org/autostart-spec/autostart-spec-latest.html

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

160 - Linux cli command tcpdump

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcpdump and provides detailed information about the command tcpdump, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcpdump.

NAME πŸ–₯️ tcpdump πŸ–₯️

dump traffic on a network

SYNOPSIS

tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]

[ -c count ] [ –count ] [ -C file_size ]

[ -E spi@ipaddr algo:secret,… ]

[ -F file ] [ -G rotate_seconds ] [ -i interface ]

[ –immediate-mode ] [ -j tstamp_type ] [ -m module ]

[ -M secret ] [ –number ] [ –print ] [ -Q in|out|inout ]

[ -r file ] [ -s snaplen ] [ -T type ] [ –version ]

[ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ]

[ -z postrotate-command ] [ -Z user ]

[ **–time-stamp-precision=**tstamp_precision ]

[ –micro ] [ –nano ]

[ expression ]

DESCRIPTION

Tcpdump prints out a description of the contents of packets on a network interface that match the Boolean expression (see pcap-filter(7) for the expression syntax); the description is preceded by a time stamp, printed, by default, as hours, minutes, seconds, and fractions of a second since midnight. It can also be run with the -w flag, which causes it to save the packet data to a file for later analysis, and/or with the -r flag, which causes it to read from a saved packet file rather than to read packets from a network interface. It can also be run with the -V flag, which causes it to read a list of saved packet files. In all cases, only packets that match expression will be processed by tcpdump.

Tcpdump will, if not run with the -c flag, continue capturing packets until it is interrupted by a SIGINT signal (generated, for example, by typing your interrupt character, typically control-C) or a SIGTERM signal (typically generated with the kill(1) command); if run with the -c flag, it will capture packets until it is interrupted by a SIGINT or SIGTERM signal or the specified number of packets have been processed.

When tcpdump finishes capturing packets, it will report counts of:

packets ``captured’’ (this is the number of packets that tcpdump has received and processed);

packets ``received by filter’’ (the meaning of this depends on the OS on which you’re running tcpdump, and possibly on the way the OS was configured - if a filter was specified on the command line, on some OSes it counts packets regardless of whether they were matched by the filter expression and, even if they were matched by the filter expression, regardless of whether tcpdump has read and processed them yet, on other OSes it counts only packets that were matched by the filter expression regardless of whether tcpdump has read and processed them yet, and on other OSes it counts only packets that were matched by the filter expression and were processed by tcpdump);

packets ``dropped by kernel’’ (this is the number of packets that were dropped, due to a lack of buffer space, by the packet capture mechanism in the OS on which tcpdump is running, if the OS reports that information to applications; if not, it will be reported as 0).

On platforms that support the SIGINFO signal, such as most BSDs (including macOS) and Digital/Tru64 UNIX, it will report those counts when it receives a SIGINFO signal (generated, for example, by typing your ``status’’ character, typically control-T, although on some platforms, such as macOS, the ``status’’ character is not set by default, so you must set it with stty(1) in order to use it) and will continue capturing packets. On platforms that do not support the SIGINFO signal, the same can be achieved by using the SIGUSR1 signal.

Using the SIGUSR2 signal along with the -w flag will forcibly flush the packet buffer into the output file.

Reading packets from a network interface may require that you have special privileges; see the pcap(3PCAP) man page for details. Reading a saved packet file doesn’t require special privileges.

OPTIONS

-A
Print each packet (minus its link level header) in ASCII. Handy for capturing web pages.

-b
Print the AS number in BGP packets in ASDOT notation rather than ASPLAIN notation.

-B* buffer_size*

**–buffer-size=**buffer_size

Set the operating system capture buffer size to buffer_size, in units of KiB (1024 bytes).

-c* count*
Exit after receiving count packets.

–count
Print only on stdout the packet count when reading capture file(s) instead of parsing/printing the packets. If a filter is specified on the command line, tcpdump counts only packets that were matched by the filter expression.

-C* file_size*
Before writing a raw packet to a savefile, check whether the file is currently larger than file_size and, if so, close the current savefile and open a new one. Savefiles after the first savefile will have the name specified with the -w flag, with a number after it, starting at 1 and continuing upward. The units of file_size are millions of bytes (1,000,000 bytes, not 1,048,576 bytes).

Note that when used with -Z option (enabled by default), privileges are dropped before opening first savefile.

-d
Dump the compiled packet-matching code in a human readable form to standard output and stop.

Please mind that although code compilation is always DLT-specific, typically it is impossible (and unnecessary) to specify which DLT to use for the dump because tcpdump uses either the DLT of the input pcap file specified with -r, or the default DLT of the network interface specified with -i, or the particular DLT of the network interface specified with -y and -i respectively. In these cases the dump shows the same exact code that would filter the input file or the network interface without -d.

However, when neither -r nor -i is specified, specifying -d prevents tcpdump from guessing a suitable network interface (see -i). In this case the DLT defaults to EN10MB and can be set to another valid value manually with -y.

-dd
Dump packet-matching code as a C program fragment.

-ddd
Dump packet-matching code as decimal numbers (preceded with a count).

-D

–list-interfaces

Print the list of the network interfaces available on the system and on which tcpdump can capture packets. For each network interface, a number and an interface name, possibly followed by a text description of the interface, are printed. The interface name or the number can be supplied to the -i flag to specify an interface on which to capture.

This can be useful on systems that don’t have a command to list them (e.g., Windows systems, or UNIX systems lacking ifconfig -a); the number can be useful on Windows 2000 and later systems, where the interface name is a somewhat complex string.

The -D flag will not be supported if tcpdump was built with an older version of libpcap that lacks the pcap_findalldevs(3PCAP) function.

-e
Print the link-level header on each dump line. This can be used, for example, to print MAC layer addresses for protocols such as Ethernet and IEEE 802.11.

-E
Use spi@ipaddr algo:secret for decrypting IPsec ESP packets that are addressed to addr and contain Security Parameter Index value spi. This combination may be repeated with comma or newline separation.

Note that setting the secret for IPv4 ESP packets is supported at this time.

Algorithms may be des-cbc, 3des-cbc, blowfish-cbc, rc3-cbc, cast128-cbc, or none. The default is des-cbc. The ability to decrypt packets is only present if tcpdump was compiled with cryptography enabled.

secret is the ASCII text for ESP secret key. If preceded by 0x, then a hex value will be read.

The option assumes RFC 2406 ESP, not RFC 1827 ESP. The option is only for debugging purposes, and the use of this option with a true `secret’ key is discouraged. By presenting IPsec secret key onto command line you make it visible to others, via ps(1) and other occasions.

In addition to the above syntax, the syntax file name may be used to have tcpdump read the provided file in. The file is opened upon receiving the first ESP packet, so any special permissions that tcpdump may have been given should already have been given up.

-f
Print `foreign’ IPv4 addresses numerically rather than symbolically (this option is intended to get around serious brain damage in Sun’s NIS server β€” usually it hangs forever translating non-local internet numbers).

The test for `foreign’ IPv4 addresses is done using the IPv4 address and netmask of the interface on that capture is being done. If that address or netmask are not available, either because the interface on that capture is being done has no address or netmask or because it is the “any” pseudo-interface, which is available in Linux and in recent versions of macOS and Solaris, and which can capture on more than one interface, this option will not work correctly.

-F* file*
Use file as input for the filter expression. An additional expression given on the command line is ignored.

-G* rotate_seconds*
If specified, rotates the dump file specified with the -w option every rotate_seconds seconds. Savefiles will have the name specified by -w which should include a time format as defined by strftime(3). If no time format is specified, each new file will overwrite the previous. Whenever a generated filename is not unique, tcpdump will overwrite the pre-existing data; providing a time specification that is coarser than the capture period is therefore not advised.

If used in conjunction with the -C option, filenames will take the form of `file<count>'.

-h

–help

Print the tcpdump and libpcap version strings, print a usage message, and exit.

–version

Print the tcpdump and libpcap version strings and exit.

-H
Attempt to detect 802.11s draft mesh headers.

-i* interface*

**–interface=**interface

Listen, report the list of link-layer types, report the list of time stamp types, or report the results of compiling a filter expression on interface. If unspecified and if the -d flag is not given, tcpdump searches the system interface list for the lowest numbered, configured up interface (excluding loopback), which may turn out to be, for example, ``eth0’'.

On Linux systems with 2.2 or later kernels and on recent versions of macOS and Solaris, an interface argument of ``any’’ can be used to capture packets from all interfaces. Note that captures on the ``any’’ pseudo-interface will not be done in promiscuous mode.

If the -D flag is supported, an interface number as printed by that flag can be used as the interface argument, if no interface on the system has that number as a name.

-I

–monitor-mode

Put the interface in “monitor mode”; this is supported only on IEEE 802.11 Wi-Fi interfaces, and supported only on some operating systems.

Note that in monitor mode the adapter might disassociate from the network with which it’s associated, so that you will not be able to use any wireless networks with that adapter. This could prevent accessing files on a network server, or resolving host names or network addresses, if you are capturing in monitor mode and are not connected to another network with another adapter.

This flag will affect the output of the -L flag. If -I isn’t specified, only those link-layer types available when not in monitor mode will be shown; if -I is specified, only those link-layer types available when in monitor mode will be shown.

–immediate-mode
Capture in “immediate mode”. In this mode, packets are delivered to tcpdump as soon as they arrive, rather than being buffered for efficiency. This is the default when printing packets rather than saving packets to a ``savefile’’ if the packets are being printed to a terminal rather than to a file or pipe.

-j* tstamp_type*

**–time-stamp-type=**tstamp_type

Set the time stamp type for the capture to tstamp_type. The names to use for the time stamp types are given in pcap-tstamp(7); not all the types listed there will necessarily be valid for any given interface.

-J

–list-time-stamp-types

List the supported time stamp types for the interface and exit. If the time stamp type cannot be set for the interface, no time stamp types are listed.

**–time-stamp-precision=**tstamp_precision
When capturing, set the time stamp precision for the capture to tstamp_precision. Note that availability of high precision time stamps (nanoseconds) and their actual accuracy is platform and hardware dependent. Also note that when writing captures made with nanosecond accuracy to a savefile, the time stamps are written with nanosecond resolution, and the file is written with a different magic number, to indicate that the time stamps are in seconds and nanoseconds; not all programs that read pcap savefiles will be able to read those captures.

When reading a savefile, convert time stamps to the precision specified by timestamp_precision, and display them with that resolution. If the precision specified is less than the precision of time stamps in the file, the conversion will lose precision.

The supported values for timestamp_precision are micro for microsecond resolution and nano for nanosecond resolution. The default is microsecond resolution.

–micro

–nano

Shorthands for –time-stamp-precision=micro or –time-stamp-precision=nano, adjusting the time stamp precision accordingly. When reading packets from a savefile, using –micro truncates time stamps if the savefile was created with nanosecond precision. In contrast, a savefile created with microsecond precision will have trailing zeroes added to the time stamp when –nano is used.

-K

–dont-verify-checksums

Don’t attempt to verify IP, TCP, or UDP checksums. This is useful for interfaces that perform some or all of those checksum calculation in hardware; otherwise, all outgoing TCP checksums will be flagged as bad.

-l
Make stdout line buffered. Useful if you want to see the data while capturing it. E.g.,

tcpdump -l | tee dat

or

tcpdump -l > dat & tail -f dat

Note that on Windows,``line buffered’’ means ``unbuffered’’, so that WinDump will write each character individually if -l is specified.

-U is similar to -l in its behavior, but it will cause output to be ``packet-buffered’’, so that the output is written to stdout at the end of each packet rather than at the end of each line; this is buffered on all platforms, including Windows.

-L

–list-data-link-types

List the known data link types for the interface, in the specified mode, and exit. The list of known data link types may be dependent on the specified mode; for example, on some platforms, a Wi-Fi interface might support one set of data link types when not in monitor mode (for example, it might support only fake Ethernet headers, or might support 802.11 headers but not support 802.11 headers with radio information) and another set of data link types when in monitor mode (for example, it might support 802.11 headers, or 802.11 headers with radio information, only in monitor mode).

-m* module*
Load SMI MIB module definitions from file module. This option can be used several times to load several MIB modules into tcpdump.

-M* secret*
Use secret as a shared secret for validating the digests found in TCP segments with the TCP-MD5 option (RFC 2385), if present.

-n
Don’t convert addresses (i.e., host addresses, port numbers, etc.) to names.

-N
Don’t print domain name qualification of host names. E.g., if you give this flag then tcpdump will print ``nic’’ instead of ``nic.ddn.mil’'.

-#

–number

Print an optional packet number at the beginning of the line.

-O

–no-optimize

Do not run the packet-matching code optimizer. This is useful only if you suspect a bug in the optimizer.

-p

–no-promiscuous-mode

Don’t put the interface into promiscuous mode. Note that the interface might be in promiscuous mode for some other reason; hence, `-p’ cannot be used as an abbreviation for `ether host {local-hw-addr} or ether broadcast'.

–print
Print parsed packet output, even if the raw packets are being saved to a file with the -w flag.

-Q* direction*

**–direction=**direction

Choose send/receive direction direction for which packets should be captured. Possible values are `in’, `out’ and `inout’. Not available on all platforms.

-q
Quick (quiet?) output. Print less protocol information so output lines are shorter.

-r* file*
Read packets from file (which was created with the -w option or by other tools that write pcap or pcapng files). Standard input is used if file is ``-’'.

-S

–absolute-tcp-sequence-numbers

Print absolute, rather than relative, TCP sequence numbers.

-s* snaplen*

**–snapshot-length=**snaplen

Snarf snaplen bytes of data from each packet rather than the default of 262144 bytes. Packets truncated because of a limited snapshot are indicated in the output with ``[|proto]’’, where proto is the name of the protocol level at which the truncation has occurred.

Note that taking larger snapshots both increases the amount of time it takes to process packets and, effectively, decreases the amount of packet buffering. This may cause packets to be lost. Note also that taking smaller snapshots will discard data from protocols above the transport layer, which loses information that may be important. NFS and AFS requests and replies, for example, are very large, and much of the detail won’t be available if a too-short snapshot length is selected.

If you need to reduce the snapshot size below the default, you should limit snaplen to the smallest number that will capture the protocol information you’re interested in. Setting snaplen to 0 sets it to the default of 262144, for backwards compatibility with recent older versions of tcpdump.

-T* type*
Force packets selected by “expression” to be interpreted the specified type. Currently known types are aodv (Ad-hoc On-demand Distance Vector protocol), carp (Common Address Redundancy Protocol), cnfp (Cisco NetFlow protocol), domain (Domain Name System), lmp (Link Management Protocol), pgm (Pragmatic General Multicast), pgm_zmtp1 (ZMTP/1.0 inside PGM/EPGM), ptp (Precision Time Protocol), radius (RADIUS), resp (REdis Serialization Protocol), rpc (Remote Procedure Call), rtcp (Real-Time Applications control protocol), rtp (Real-Time Applications protocol), snmp (Simple Network Management Protocol), someip (SOME/IP), tftp (Trivial File Transfer Protocol), vat (Visual Audio Tool), vxlan (Virtual eXtensible Local Area Network), wb (distributed White Board) and zmtp1 (ZeroMQ Message Transport Protocol 1.0).

Note that the pgm type above affects UDP interpretation only, the native PGM is always recognised as IP protocol 113 regardless. UDP-encapsulated PGM is often called “EPGM” or “PGM/UDP”.

Note that the pgm_zmtp1 type above affects interpretation of both native PGM and UDP at once. During the native PGM decoding the application data of an ODATA/RDATA packet would be decoded as a ZeroMQ datagram with ZMTP/1.0 frames. During the UDP decoding in addition to that any UDP packet would be treated as an encapsulated PGM packet.

-t
Don’t print a timestamp on each dump line.

-tt
Print the timestamp, as seconds since January 1, 1970, 00:00:00, UTC, and fractions of a second since that time, on each dump line.

-ttt
Print a delta (microsecond or nanosecond resolution depending on the –time-stamp-precision option) between current and previous line on each dump line. The default is microsecond resolution.

-tttt
Print a timestamp, as hours, minutes, seconds, and fractions of a second since midnight, preceded by the date, on each dump line.

-ttttt
Print a delta (microsecond or nanosecond resolution depending on the –time-stamp-precision option) between current and first line on each dump line. The default is microsecond resolution.

-u
Print undecoded NFS handles.

-U

–packet-buffered

If the -w option is not specified, or if it is specified but the –print flag is also specified, make the printed packet output ``packet-buffered’’; i.e., as the description of the contents of each packet is printed, it will be written to the standard output, rather than, when not writing to a terminal, being written only when the output buffer fills.

If the -w option is specified, make the saved raw packet output ``packet-buffered’’; i.e., as each packet is saved, it will be written to the output file, rather than being written only when the output buffer fills.

The -U flag will not be supported if tcpdump was built with an older version of libpcap that lacks the pcap_dump_flush(3PCAP) function.

-v
When parsing and printing, produce (slightly more) verbose output. For example, the time to live, identification, total length and options in an IP packet are printed. Also enables additional packet integrity checks such as verifying the IP and ICMP header checksum.

When writing to a file with the -w option and at the same time not reading from a file with the -r option, report to stderr, once per second, the number of packets captured. In Solaris, FreeBSD and possibly other operating systems this periodic update currently can cause loss of captured packets on their way from the kernel to tcpdump.

-vv
Even more verbose output. For example, additional fields are printed from NFS reply packets, and SMB packets are fully decoded.

-vvv
Even more verbose output. For example, telnet SBSE options are printed in full. With -X Telnet options are printed in hex as well.

-V* file*
Read a list of filenames from file. Standard input is used if file is ``-’'.

-w* file*
Write the raw packets to file rather than parsing and printing them out. They can later be printed with the -r option. Standard output is used if file is ``-’'.

This output will be buffered if written to a file or pipe, so a program reading from the file or pipe may not see packets for an arbitrary amount of time after they are received. Use the -U flag to cause packets to be written as soon as they are received.

The MIME type application/vnd.tcpdump.pcap has been registered with IANA for pcap files. The filename extension .pcap appears to be the most commonly used along with .cap and .dmp. Tcpdump itself doesn’t check the extension when reading capture files and doesn’t add an extension when writing them (it uses magic numbers in the file header instead). However, many operating systems and applications will use the extension if it is present and adding one (e.g. .pcap) is recommended.

See pcap-savefile(5) for a description of the file format.

-W* filecount*
Used in conjunction with the -C option, this will limit the number of files created to the specified number, and begin overwriting files from the beginning, thus creating a ‘rotating’ buffer. In addition, it will name the files with enough leading 0s to support the maximum number of files, allowing them to sort correctly.

Used in conjunction with the -G option, this will limit the number of rotated dump files that get created, exiting with status 0 when reaching the limit.

If used in conjunction with both -C and -G, the -W option will currently be ignored, and will only affect the file name.

-x
When parsing and printing, in addition to printing the headers of each packet, print the data of each packet (minus its link level header) in hex. The smaller of the entire packet or snaplen bytes will be printed. Note that this is the entire link-layer packet, so for link layers that pad (e.g. Ethernet), the padding bytes will also be printed when the higher layer packet is shorter than the required padding. In the current implementation this flag may have the same effect as -xx if the packet is truncated.

-xx
When parsing and printing, in addition to printing the headers of each packet, print the data of each packet, including its link level header, in hex.

-X
When parsing and printing, in addition to printing the headers of each packet, print the data of each packet (minus its link level header) in hex and ASCII. This is very handy for analysing new protocols. In the current implementation this flag may have the same effect as -XX if the packet is truncated.

-XX
When parsing and printing, in addition to printing the headers of each packet, print the data of each packet, including its link level header, in hex and ASCII.

-y* datalinktype*

**–linktype=**datalinktype

Set the data link type to use while capturing packets (see -L) or just compiling and dumping packet-matching code (see -d) to datalinktype.

-z* postrotate-command*
Used in conjunction with the -C or -G options, this will make tcpdump run " postrotate-command file " where file is the savefile being closed after each rotation. For example, specifying -z gzip or -z bzip2 will compress each savefile using gzip or bzip2.

Note that tcpdump will run the command in parallel to the capture, using the lowest priority so that this doesn’t disturb the capture process.

And in case you would like to use a command that itself takes flags or different arguments, you can always write a shell script that will take the savefile name as the only argument, make the flags & arguments arrangements and execute the command that you want.

-Z* user*

**–relinquish-privileges=**user

If tcpdump is running as root, after opening the capture device or input savefile, change the user ID to user and the group ID to the primary group of user.

This behavior is enabled by default (-Z tcpdump), and can be disabled by -Z root.

expression

selects which packets will be dumped. If no expression is given, all packets on the net will be dumped. Otherwise, only packets for which expression is `true’ will be dumped.

For the expression syntax, see pcap-filter(7).

The expression argument can be passed to tcpdump as either a single Shell argument, or as multiple Shell arguments, whichever is more convenient. Generally, if the expression contains Shell metacharacters, such as backslashes used to escape protocol names, it is easier to pass it as a single, quoted argument rather than to escape the Shell metacharacters. Multiple arguments are concatenated with spaces before being parsed.

EXAMPLES

To print all packets arriving at or departing from sundown:

tcpdump host sundown

To print traffic between helios and either hot or ace:

tcpdump host helios and ( hot or ace )

To print all IP packets between ace and any host except helios:

tcpdump ip host ace and not helios

To print all traffic between local hosts and hosts at Berkeley:

tcpdump net ucb-ether

To print all ftp traffic through internet gateway snup: (note that the expression is quoted to prevent the shell from (mis-)interpreting the parentheses):

tcpdump ‘gateway snup and (port ftp or ftp-data)’

To print traffic neither sourced from nor destined for local hosts (if you gateway to one other net, this stuff should never make it onto your local net).

tcpdump ip and not net localnet

To print the start and end packets (the SYN and FIN packets) of each TCP conversation that involves a non-local host.

tcpdump ’tcp[tcpflags] & (tcp-syn|tcp-fin) != 0 and not src and dst net localnet’

To print the TCP packets with flags RST and ACK both set. (i.e. select only the RST and ACK flags in the flags field, and if the result is “RST and ACK both set”, match)

tcpdump ’tcp[tcpflags] & (tcp-rst|tcp-ack) == (tcp-rst|tcp-ack)'

To print all IPv4 HTTP packets to and from port 80, i.e. print only packets that contain data, not, for example, SYN and FIN packets and ACK-only packets. (IPv6 is left as an exercise for the reader.)

tcpdump ’tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)«2)) - ((tcp[12]&0xf0)»2)) != 0)'

To print IP packets longer than 576 bytes sent through gateway snup:

tcpdump ‘gateway snup and ip[2:2] > 576’

To print IP broadcast or multicast packets that were not sent via Ethernet broadcast or multicast:

tcpdump ’ether[0] & 1 = 0 and ip[16] >= 224'

To print all ICMP packets that are not echo requests/replies (i.e., not ping packets):

tcpdump ‘icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply’

OUTPUT FORMAT

The output of tcpdump is protocol dependent. The following gives a brief description and examples of most of the formats.

Timestamps

By default, all output lines are preceded by a timestamp. The timestamp is the current clock time in the form

hh:mm:ss.frac

and is as accurate as the kernel’s clock. The timestamp reflects the time the kernel applied a time stamp to the packet. No attempt is made to account for the time lag between when the network interface finished receiving the packet from the network and when the kernel applied a time stamp to the packet; that time lag could include a delay between the time when the network interface finished receiving a packet from the network and the time when an interrupt was delivered to the kernel to get it to read the packet and a delay between the time when the kernel serviced the `new packet’ interrupt and the time when it applied a time stamp to the packet.

Link Level Headers

If the ‘-e’ option is given, the link level header is printed out. On Ethernets, the source and destination addresses, protocol, and packet length are printed.

On FDDI networks, the ‘-e’ option causes tcpdump to print the `frame control’ field, the source and destination addresses, and the packet length. (The `frame control’ field governs the interpretation of the rest of the packet. Normal packets (such as those containing IP datagrams) are `async’ packets, with a priority value between 0 and 7; for example, `async4’. Such packets are assumed to contain an 802.2 Logical Link Control (LLC) packet; the LLC header is printed if it is not an ISO datagram or a so-called SNAP packet.

On Token Ring networks, the ‘-e’ option causes tcpdump to print the `access control’ and `frame control’ fields, the source and destination addresses, and the packet length. As on FDDI networks, packets are assumed to contain an LLC packet. Regardless of whether the ‘-e’ option is specified or not, the source routing information is printed for source-routed packets.

On 802.11 networks, the ‘-e’ option causes tcpdump to print the `frame control’ fields, all of the addresses in the 802.11 header, and the packet length. As on FDDI networks, packets are assumed to contain an LLC packet.

(N.B.: The following description assumes familiarity with the SLIP compression algorithm described in RFC 1144.)

On SLIP links, a direction indicator (``I’’ for inbound, ``O’’ for outbound), packet type, and compression information are printed out. The packet type is printed first. The three types are ip, utcp, and ctcp. No further link information is printed for ip packets. For TCP packets, the connection identifier is printed following the type. If the packet is compressed, its encoded header is printed out. The special cases are printed out as ***S+**n and ***SA+**n, where n is the amount by which the sequence number (or sequence number and ack) has changed. If it is not a special case, zero or more changes are printed. A change is indicated by U (urgent pointer), W (window), A (ack), S (sequence number), and I (packet ID), followed by a delta (+n or -n), or a new value (=n). Finally, the amount of data in the packet and compressed header length are printed.

For example, the following line shows an outbound compressed TCP packet, with an implicit connection identifier; the ack has changed by 6, the sequence number by 49, and the packet ID by 6; there are 3 bytes of data and 6 bytes of compressed header:

O ctcp * A+6 S+49 I+6 3 (6)

ARP/RARP Packets

ARP/RARP output shows the type of request and its arguments. The format is intended to be self explanatory. Here is a short sample taken from the start of an `rlogin’ from host rtsg to host csam:

arp who-has csam tell rtsg
arp reply csam is-at CSAM

The first line says that rtsg sent an ARP packet asking for the Ethernet address of internet host csam. Csam replies with its Ethernet address (in this example, Ethernet addresses are in caps and internet addresses in lower case).

This would look less redundant if we had done tcpdump -n:

arp who-has 128.3.254.6 tell 128.3.254.68
arp reply 128.3.254.6 is-at 02:07:01:00:01:c4

If we had done tcpdump -e, the fact that the first packet is broadcast and the second is point-to-point would be visible:

RTSG Broadcast 0806  64: arp who-has csam tell rtsg
CSAM RTSG 0806  64: arp reply csam is-at CSAM

For the first packet this says the Ethernet source address is RTSG, the destination is the Ethernet broadcast address, the type field contained hex 0806 (type ETHER_ARP) and the total length was 64 bytes.

IPv4 Packets

If the link-layer header is not being printed, for IPv4 packets, IP is printed after the time stamp.

If the -v flag is specified, information from the IPv4 header is shown in parentheses after the IP or the link-layer header. The general format of this information is:

tos tos, ttl ttl, id id, offset offset, flags [flags], proto proto, length length, options (options)

tos is the type of service field; if the ECN bits are non-zero, those are reported as ECT(1), ECT(0), or CE. ttl is the time-to-live; it is not reported if it is zero. id is the IP identification field. offset is the fragment offset field; it is printed whether this is part of a fragmented datagram or not. flags are the MF and DF flags; + is reported if MF is set, and DF is reported if F is set. If neither are set, . is reported. proto is the protocol ID field. length is the total length field. options are the IP options, if any.

Next, for TCP and UDP packets, the source and destination IP addresses and TCP or UDP ports, with a dot between each IP address and its corresponding port, will be printed, with a > separating the source and destination. For other protocols, the addresses will be printed, with a > separating the source and destination. Higher level protocol information, if any, will be printed after that.

For fragmented IP datagrams, the first fragment contains the higher level protocol header; fragments after the first contain no higher level protocol header. Fragmentation information will be printed only with the -v flag, in the IP header information, as described above.

TCP Packets

(N.B.:The following description assumes familiarity with the TCP protocol described in RFC 793. If you are not familiar with the protocol, this description will not be of much use to you.)

The general format of a TCP protocol line is:

src > dst: Flags [tcpflags], seq data-seqno, ack ackno, win window, urg urgent, options [opts], length len

Src and dst are the source and destination IP addresses and ports. Tcpflags are some combination of S (SYN), F (FIN), P (PSH), R (RST), U (URG), W (CWR), E (ECE) or `.’ (ACK), or `none’ if no flags are set. Data-seqno describes the portion of sequence space covered by the data in this packet (see example below). Ackno is sequence number of the next data expected the other direction on this connection. Window is the number of bytes of receive buffer space available the other direction on this connection. Urg indicates there is `urgent’ data in the packet. Opts are TCP options (e.g., mss 1024). Len is the length of payload data.

Iptype, Src, dst, and flags are always present. The other fields depend on the contents of the packet’s TCP protocol header and are output only if appropriate.

Here is the opening portion of an rlogin from host rtsg to host csam.

IP rtsg.1023 > csam.login: Flags [S], seq 768512:768512, win 4096, opts [mss 1024]
IP csam.login > rtsg.1023: Flags [S.], seq, 947648:947648, ack 768513, win 4096, opts [mss 1024]
IP rtsg.1023 > csam.login: Flags [.], ack 1, win 4096
IP rtsg.1023 > csam.login: Flags [P.], seq 1:2, ack 1, win 4096, length 1
IP csam.login > rtsg.1023: Flags [.], ack 2, win 4096
IP rtsg.1023 > csam.login: Flags [P.], seq 2:21, ack 1, win 4096, length 19
IP csam.login > rtsg.1023: Flags [P.], seq 1:2, ack 21, win 4077, length 1
IP csam.login > rtsg.1023: Flags [P.], seq 2:3, ack 21, win 4077, urg 1, length 1
IP csam.login > rtsg.1023: Flags [P.], seq 3:4, ack 21, win 4077, urg 1, length 1

The first line says that TCP port 1023 on rtsg sent a packet to port login on csam. The S indicates that the SYN flag was set. The packet sequence number was 768512 and it contained no data. (The notation is `first:last’ which means `sequence numbers first up to but not including last’.) There was no piggy-backed ACK, the available receive window was 4096 bytes and there was a max-segment-size option requesting an MSS of 1024 bytes.

Csam replies with a similar packet except it includes a piggy-backed ACK for rtsg’s SYN. Rtsg then ACKs csam’s SYN. The `.’ means the ACK flag was set. The packet contained no data so there is no data sequence number or length. Note that the ACK sequence number is a small integer (1). The first time tcpdump sees a TCP `conversation’, it prints the sequence number from the packet. On subsequent packets of the conversation, the difference between the current packet’s sequence number and this initial sequence number is printed. This means that sequence numbers after the first can be interpreted as relative byte positions in the conversation’s data stream (with the first data byte each direction being `1’). `-S’ will override this feature, causing the original sequence numbers to be output.

On the 6th line, rtsg sends csam 19 bytes of data (bytes 2 through 20 in the rtsg β†’ csam side of the conversation). The PSH flag is set in the packet. On the 7th line, csam says it’s received data sent by rtsg up to but not including byte 21. Most of this data is apparently sitting in the socket buffer since csam’s receive window has gotten 19 bytes smaller. Csam also sends one byte of data to rtsg in this packet. On the 8th and 9th lines, csam sends two bytes of urgent, pushed data to rtsg.

If the snapshot was small enough that tcpdump didn’t capture the full TCP header, it interprets as much of the header as it can and then reports ``[|tcp]’’ to indicate the remainder could not be interpreted. If the header contains a bogus option (one with a length that’s either too small or beyond the end of the header), tcpdump reports it as ``[bad opt]’’ and does not interpret any further options (since it’s impossible to tell where they start). If the header length indicates options are present but the IP datagram length is not long enough for the options to actually be there, tcpdump reports it as ``[bad hdr length]’’.

Capturing TCP packets with particular flag combinations (SYN-ACK, URG-ACK, etc.)

There are 8 bits in the control bits section of the TCP header:

CWR | ECE | URG | ACK | PSH | RST | SYN | FIN

Let’s assume that we want to watch packets used in establishing a TCP connection. Recall that TCP uses a 3-way handshake protocol when it initializes a new connection; the connection sequence with regard to the TCP control bits is

1) Caller sends SYN

2) Recipient responds with SYN, ACK

3) Caller sends ACK

Now we’re interested in capturing packets that have only the SYN bit set (Step 1). Note that we don’t want packets from step 2 (SYN-ACK), just a plain initial SYN. What we need is a correct filter expression for tcpdump.

Recall the structure of a TCP header without options:

 0                            15                              31
-----------------------------------------------------------------
|          source port          |       destination port        |
-----------------------------------------------------------------
|                        sequence number                        |
-----------------------------------------------------------------
|                     acknowledgment number                     |
-----------------------------------------------------------------
|  HL   | rsvd  |C|E|U|A|P|R|S|F|        window size            |
-----------------------------------------------------------------
|         TCP checksum          |       urgent pointer          |
-----------------------------------------------------------------

A TCP header usually holds 20 octets of data, unless options are present. The first line of the graph contains octets 0 - 3, the second line shows octets 4 - 7 etc.

Starting to count with 0, the relevant TCP control bits are contained in octet 13:

 0             7|             15|             23|             31
----------------|---------------|---------------|----------------
|  HL   | rsvd  |C|E|U|A|P|R|S|F|        window size            |
----------------|---------------|---------------|----------------
|               |  13th octet   |               |               |

Let’s have a closer look at octet no. 13:

                |               |
                |---------------|
                |C|E|U|A|P|R|S|F|
                |---------------|
                |7   5   3     0|

These are the TCP control bits we are interested in. We have numbered the bits in this octet from 0 to 7, right to left, so the PSH bit is bit number 3, while the URG bit is number 5.

Recall that we want to capture packets with only SYN set. Let’s see what happens to octet 13 if a TCP datagram arrives with the SYN bit set in its header:

                |C|E|U|A|P|R|S|F|
                |---------------|
                |0 0 0 0 0 0 1 0|
                |---------------|
                |7 6 5 4 3 2 1 0|

Looking at the control bits section we see that only bit number 1 (SYN) is set.

Assuming that octet number 13 is an 8-bit unsigned integer in network byte order, the binary value of this octet is

00000010

and its decimal representation is

   7     6     5     4     3     2     1     0
0*2 + 0*2 + 0*2 + 0*2 + 0*2 + 0*2 + 1*2 + 0*2  =  2

We’re almost done, because now we know that if only SYN is set, the value of the 13th octet in the TCP header, when interpreted as a 8-bit unsigned integer in network byte order, must be exactly 2.

This relationship can be expressed as

tcp[13] == 2

We can use this expression as the filter for tcpdump in order to watch packets which have only SYN set:

tcpdump -i xl0 tcp[13] == 2

The expression says “let the 13th octet of a TCP datagram have the decimal value 2”, which is exactly what we want.

Now, let’s assume that we need to capture SYN packets, but we don’t care if ACK or any other TCP control bit is set at the same time. Let’s see what happens to octet 13 when a TCP datagram with SYN-ACK set arrives:

     |C|E|U|A|P|R|S|F|
     |---------------|
     |0 0 0 1 0 0 1 0|
     |---------------|
     |7 6 5 4 3 2 1 0|

Now bits 1 and 4 are set in the 13th octet. The binary value of octet 13 is

00010010

which translates to decimal

   7     6     5     4     3     2     1     0
0*2 + 0*2 + 0*2 + 1*2 + 0*2 + 0*2 + 1*2 + 0*2   = 18

Now we can’t just use ’tcp[13] == 18’ in the tcpdump filter expression, because that would select only those packets that have SYN-ACK set, but not those with only SYN set. Remember that we don’t care if ACK or any other control bit is set as long as SYN is set.

In order to achieve our goal, we need to logically AND the binary value of octet 13 with some other value to preserve the SYN bit. We know that we want SYN to be set in any case, so we’ll logically AND the value in the 13th octet with the binary value of a SYN:

          00010010 SYN-ACK              00000010 SYN
     AND  00000010 (we want SYN)   AND  00000010 (we want SYN)
          --------                      --------
     =    00000010                 =    00000010

We see that this AND operation delivers the same result regardless whether ACK or another TCP control bit is set. The decimal representation of the AND value as well as the result of this operation is 2 (binary 00000010), so we know that for packets with SYN set the following relation must hold true:

( ( value of octet 13 ) AND ( 2 ) ) == ( 2 )

This points us to the tcpdump filter expression

tcpdump -i xl0 ’tcp[13] & 2 == 2’

Some offsets and field values may be expressed as names rather than as numeric values. For example tcp[13] may be replaced with tcp[tcpflags]. The following TCP flag field values are also available: tcp-fin, tcp-syn, tcp-rst, tcp-push, tcp-ack, tcp-urg, tcp-ece and tcp-cwr.

This can be demonstrated as:

tcpdump -i xl0 ’tcp[tcpflags] & tcp-push != 0’

Note that you should use single quotes or a backslash in the expression to hide the AND (’&’) special character from the shell.

UDP Packets

UDP format is illustrated by this rwho packet:

actinide.who > broadcast.who: udp 84

This says that port who on host actinide sent a UDP datagram to port who on host broadcast, the Internet broadcast address. The packet contained 84 bytes of user data.

Some UDP services are recognized (from the source or destination port number) and the higher level protocol information printed. In particular, Domain Name service requests (RFC 1034/1035) and Sun RPC calls (RFC 1050) to NFS.

TCP or UDP Name Server Requests

(N.B.:The following description assumes familiarity with the Domain Service protocol described in RFC 1035. If you are not familiar with the protocol, the following description will appear to be written in Greek.)

Name server requests are formatted as

src > dst: id op? flags qtype qclass name (len)

h2opolo.1538 > helios.domain: 3+ A? ucbvax.berkeley.edu. (37)

Host h2opolo asked the domain server on helios for an address record (qtype=A) associated with the name ucbvax.berkeley.edu. The query id was `3’. The `+’ indicates the recursion desired flag was set. The query length was 37 bytes, excluding the TCP or UDP and IP protocol headers. The query operation was the normal one, Query, so the op field was omitted. If the op had been anything else, it would have been printed between the `3’ and the `+’. Similarly, the qclass was the normal one, C_IN, and omitted. Any other qclass would have been printed immediately after the `A’.

A few anomalies are checked and may result in extra fields enclosed in square brackets: If a query contains an answer, authority records or additional records section, ancount, nscount, or arcount are printed as `[na]’, `[nn]’ or `[nau]’ where n is the appropriate count. If any of the response bits are set (AA, RA or rcode) or any of the `must be zero’ bits are set in bytes two and three, `[b2&3=x]’ is printed, where x is the hex value of header bytes two and three.

TCP or UDP Name Server Responses

Name server responses are formatted as

src > dst:  id op rcode flags a/n/au type class data (len)

helios.domain > h2opolo.1538: 3 3/3/7 A 128.32.137.3 (273)
helios.domain > h2opolo.1537: 2 NXDomain* 0/1/0 (97)

In the first example, helios responds to query id 3 from h2opolo with 3 answer records, 3 name server records and 7 additional records. The first answer record is type A (address) and its data is internet address 128.32.137.3. The total size of the response was 273 bytes, excluding TCP or UDP and IP headers. The op (Query) and response code (NoError) were omitted, as was the class (C_IN) of the A record.

In the second example, helios responds to query 2 with a response code of non-existent domain (NXDomain) with no answers, one name server and no authority records. The `*’ indicates that the authoritative answer bit was set. Since there were no answers, no type, class or data were printed.

Other flag characters that might appear are `-’ (recursion available, RA, not set) and `|’ (truncated message, TC, set). If the `question’ section doesn’t contain exactly one entry, `[nq]’ is printed.

SMB/CIFS decoding

tcpdump now includes fairly extensive SMB/CIFS/NBT decoding for data on UDP/137, UDP/138 and TCP/139. Some primitive decoding of IPX and NetBEUI SMB data is also done.

By default a fairly minimal decode is done, with a much more detailed decode done if -v is used. Be warned that with -v a single SMB packet may take up a page or more, so only use -v if you really want all the gory details.

For information on SMB packet formats and what all the fields mean see https://download.samba.org/pub/samba/specs/ and other online resources. The SMB patches were written by Andrew Tridgell ([email protected]).

NFS Requests and Replies

Sun NFS (Network File System) requests and replies are printed as:

src.sport > dst.nfs: NFS request xid xid len op args
src.nfs > dst.dport: NFS reply xid xid reply stat len op results

sushi.1023 > wrl.nfs: NFS request xid 26377
	112 readlink fh 21,24/10.73165
wrl.nfs > sushi.1023: NFS reply xid 26377
	reply ok 40 readlink "../var"
sushi.1022 > wrl.nfs: NFS request xid 8219
	144 lookup fh 9,74/4096.6878 "xcolors"
wrl.nfs > sushi.1022: NFS reply xid 8219
	reply ok 128 lookup fh 9,74/4134.3150

In the first line, host sushi sends a transaction with id 26377 to wrl. The request was 112 bytes, excluding the UDP and IP headers. The operation was a readlink (read symbolic link) on file handle (fh) 21,24/10.731657119. (If one is lucky, as in this case, the file handle can be interpreted as a major,minor device number pair, followed by the inode number and generation number.) In the second line, wrl replies `ok’ with the same transaction id and the contents of the link.

In the third line, sushi asks (using a new transaction id) wrl to lookup the name `xcolors’ in directory file 9,74/4096.6878. In the fourth line, wrl sends a reply with the respective transaction id.

Note that the data printed depends on the operation type. The format is intended to be self explanatory if read in conjunction with an NFS protocol spec. Also note that older versions of tcpdump printed NFS packets in a slightly different format: the transaction id (xid) would be printed instead of the non-NFS port number of the packet.

If the -v (verbose) flag is given, additional information is printed. For example:

sushi.1023 > wrl.nfs: NFS request xid 79658
	148 read fh 21,11/12.195 8192 bytes @ 24576
wrl.nfs > sushi.1023: NFS reply xid 79658
	reply ok 1472 read REG 100664 ids 417/0 sz 29388

(-v also prints the IP header TTL, ID, length, and fragmentation fields, which have been omitted from this example.) In the first line, sushi asks wrl to read 8192 bytes from file 21,11/12.195, at byte offset 24576. Wrl replies `ok’; the packet shown on the second line is the first fragment of the reply, and hence is only 1472 bytes long (the other bytes will follow in subsequent fragments, but these fragments do not have NFS or even UDP headers and so might not be printed, depending on the filter expression used). Because the -v flag is given, some of the file attributes (which are returned in addition to the file data) are printed: the file type (``REG’’, for regular file), the file mode (in octal), the UID and GID, and the file size.

If the -v flag is given more than once, even more details are printed.

NFS reply packets do not explicitly identify the RPC operation. Instead, tcpdump keeps track of ``recent’’ requests, and matches them to the replies using the transaction ID. If a reply does not closely follow the corresponding request, it might not be parsable.

AFS Requests and Replies

Transarc AFS (Andrew File System) requests and replies are printed as:

src.sport > dst.dport: rx packet-type
src.sport > dst.dport: rx packet-type service call call-name args
src.sport > dst.dport: rx packet-type service reply call-name args

elvis.7001 > pike.afsfs:
	rx data fs call rename old fid 536876964/1/1 ".newsrc.new"
	new fid 536876964/1/1 ".newsrc"
pike.afsfs > elvis.7001: rx data fs reply rename

In the first line, host elvis sends a RX packet to pike. This was a RX data packet to the fs (fileserver) service, and is the start of an RPC call. The RPC call was a rename, with the old directory file id of 536876964/1/1 and an old filename of `.newsrc.new’, and a new directory file id of 536876964/1/1 and a new filename of `.newsrc’. The host pike responds with a RPC reply to the rename call (which was successful, because it was a data packet and not an abort packet).

In general, all AFS RPCs are decoded at least by RPC call name. Most AFS RPCs have at least some of the arguments decoded (generally only the `interesting’ arguments, for some definition of interesting).

The format is intended to be self-describing, but it will probably not be useful to people who are not familiar with the workings of AFS and RX.

If the -v (verbose) flag is given twice, acknowledgement packets and additional header information is printed, such as the RX call ID, call number, sequence number, serial number, and the RX packet flags.

If the -v flag is given twice, additional information is printed, such as the RX call ID, serial number, and the RX packet flags. The MTU negotiation information is also printed from RX ack packets.

If the -v flag is given three times, the security index and service id are printed.

Error codes are printed for abort packets, with the exception of Ubik beacon packets (because abort packets are used to signify a yes vote for the Ubik protocol).

AFS reply packets do not explicitly identify the RPC operation. Instead, tcpdump keeps track of ``recent’’ requests, and matches them to the replies using the call number and service ID. If a reply does not closely follow the corresponding request, it might not be parsable.

KIP AppleTalk (DDP in UDP)

AppleTalk DDP packets encapsulated in UDP datagrams are de-encapsulated and dumped as DDP packets (i.e., all the UDP header information is discarded). The file /etc/atalk.names is used to translate AppleTalk net and node numbers to names. Lines in this file have the form

number	name

1.254		ether
16.1		icsd-net
1.254.110	ace

The first two lines give the names of AppleTalk networks. The third line gives the name of a particular host (a host is distinguished from a net by the 3rd octet in the number - a net number must have two octets and a host number must have three octets.) The number and name should be separated by whitespace (blanks or tabs). The /etc/atalk.names file may contain blank lines or comment lines (lines starting with a `#’).

AppleTalk addresses are printed in the form

net.host.port

144.1.209.2 > icsd-net.112.220
office.2 > icsd-net.112.220
jssmag.149.235 > icsd-net.2

(If the /etc/atalk.names doesn’t exist or doesn’t contain an entry for some AppleTalk host/net number, addresses are printed in numeric form.) In the first example, NBP (DDP port 2) on net 144.1 node 209 is sending to whatever is listening on port 220 of net icsd node 112. The second line is the same except the full name of the source node is known (`office’). The third line is a send from port 235 on net jssmag node 149 to broadcast on the icsd-net NBP port (note that the broadcast address (255) is indicated by a net name with no host number - for this reason it’s a good idea to keep node names and net names distinct in /etc/atalk.names).

NBP (name binding protocol) and ATP (AppleTalk transaction protocol) packets have their contents interpreted. Other protocols just dump the protocol name (or number if no name is registered for the protocol) and packet size.

NBP packets are formatted like the following examples:

icsd-net.112.220 > jssmag.2: nbp-lkup 190: "=:LaserWriter@*"
jssmag.209.2 > icsd-net.112.220: nbp-reply 190: "RM1140:LaserWriter@*" 250
techpit.2 > icsd-net.112.220: nbp-reply 190: "techpit:LaserWriter@*" 186

The first line is a name lookup request for laserwriters sent by net icsd host 112 and broadcast on net jssmag. The nbp id for the lookup is 190. The second line shows a reply for this request (note that it has the same id) from host jssmag.209 saying that it has a laserwriter resource named “RM1140” registered on port 250. The third line is another reply to the same request saying host techpit has laserwriter “techpit” registered on port 186.

ATP packet formatting is demonstrated by the following example:

jssmag.209.165 > helios.132: atp-req  12266<0-7> 0xae030001
helios.132 > jssmag.209.165: atp-resp 12266:0 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:1 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:2 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:3 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:4 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:5 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:6 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp*12266:7 (512) 0xae040000
jssmag.209.165 > helios.132: atp-req  12266<3,5> 0xae030001
helios.132 > jssmag.209.165: atp-resp 12266:3 (512) 0xae040000
helios.132 > jssmag.209.165: atp-resp 12266:5 (512) 0xae040000
jssmag.209.165 > helios.132: atp-rel  12266<0-7> 0xae030001
jssmag.209.133 > helios.132: atp-req* 12267<0-7> 0xae030002

Jssmag.209 initiates transaction id 12266 with host helios by requesting up to 8 packets (the `<0-7>’). The hex number at the end of the line is the value of the `userdata’ field in the request.

Helios responds with 8 512-byte packets. The `:digit’ following the transaction id gives the packet sequence number in the transaction and the number in parens is the amount of data in the packet, excluding the ATP header. The `*’ on packet 7 indicates that the EOM bit was set.

Jssmag.209 then requests that packets 3 & 5 be retransmitted. Helios resends them then jssmag.209 releases the transaction. Finally, jssmag.209 initiates the next request. The `*’ on the request indicates that XO (`exactly once’) was not set.

BACKWARD COMPATIBILITY

The TCP flag names tcp-ece and tcp-cwr became available when linking with libpcap 1.9.0 or later.

SEE ALSO

stty(1), pcap(3PCAP), bpf(4), nit(4P), pcap-savefile(5), pcap-filter(7), pcap-tstamp(7)

https://www.iana.org/assignments/media-types/application/vnd.tcpdump.pcap

AUTHORS

The original authors are:

Van Jacobson, Craig Leres and Steven McCanne, all of the Lawrence Berkeley National Laboratory, University of California, Berkeley, CA.

It is currently maintained by The Tcpdump Group.

The current version is available via HTTPS:

https://www.tcpdump.org/

The original distribution is available via anonymous ftp:

ftp://ftp.ee.lbl.gov/old/tcpdump.tar.Z

IPv6/IPsec support is added by WIDE/KAME project. This program uses OpenSSL/LibreSSL, under specific configurations.

BUGS

To report a security issue please send an e-mail to [email protected].

To report bugs and other problems, contribute patches, request a feature, provide generic feedback etc. please see the file CONTRIBUTING.md in the tcpdump source tree root.

NIT doesn’t let you watch your own outbound traffic, BPF will. We recommend that you use the latter.

On Linux systems with 2.0[.x] kernels:

packets on the loopback device will be seen twice;

packet filtering cannot be done in the kernel, so that all packets must be copied from the kernel in order to be filtered in user mode;

all of a packet, not just the part that’s within the snapshot length, will be copied from the kernel (the 2.0[.x] packet capture mechanism, if asked to copy only part of a packet to userspace, will not report the true length of the packet; this would cause most IP packets to get an error from tcpdump);

capturing on some PPP devices won’t work correctly.

We recommend that you upgrade to a 2.2 or later kernel.

Some attempt should be made to reassemble IP fragments or, at least to compute the right length for the higher level protocol.

Name server inverse queries are not dumped correctly: the (empty) question section is printed rather than real query in the answer section. Some believe that inverse queries are themselves a bug and prefer to fix the program generating them rather than tcpdump.

A packet trace that crosses a daylight savings time change will give skewed time stamps (the time change is ignored).

Filter expressions on fields other than those in Token Ring headers will not correctly handle source-routed Token Ring packets.

Filter expressions on fields other than those in 802.11 headers will not correctly handle 802.11 data packets with both To DS and From DS set.

ip6 proto should chase header chain, but at this moment it does not. ip6 protochain is supplied for this behavior.

Arithmetic expression against transport layer headers, like tcp[0], does not work against IPv6 packets. It only looks at IPv4 packets.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

161 - Linux cli command vpnc-connect

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vpnc-connect and provides detailed information about the command vpnc-connect, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vpnc-connect.

NAME πŸ–₯️ vpnc-connect πŸ–₯️

client for Cisco VPN3000 Concentrator, IOS and PIX

SYNOPSIS

vpnc [–version] [–print-config] [–help] [–long-help] [options] [config files]

DESCRIPTION

This manual page documents briefly the vpnc and vpnc-disconnect commands.

vpnc is a VPN client for the Cisco 3000 VPN Concentrator, creating a IPSec-like connection as a tunneling network device for the local system. It uses the TUN/TAP driver in Linux kernel 2.4 and above and device tun(4) on BSD. The created connection is presented as a tunneling network device to the local system.

OBLIGATORY WARNING: the most used configuration (XAUTH authentication with pre-shared keys and password authentication) is insecure by design, be aware of this fact when you use vpnc to exchange sensitive data like passwords!

The vpnc daemon by itself does not set any routes, but it calls vpnc-script to do this job. vpnc-script displays a connect banner. If the concentrator supplies a network list for split-tunneling these networks are added to the routing table. Otherwise the default-route will be modified to point to the tunnel. Further a host route to the concentrator is added in the later case. If the client host needs DHCP, care must be taken to add another host route to the DHCP-Server around the tunnel.

The vpnc-disconnect command is used to terminate the connection previously created by vpnc and restore the previous routing configuration.

CONFIGURATION

The daemon reads configuration data from the following places:

  • command line options

  • config file(s) specified on the command line

  • /etc/vpnc/default.conf

  • /etc/vpnc.conf

  • prompting the user if not found above

vpnc can parse options and configuration files in any order. However the first place to set an option wins. configuration filenames which do not contain a / will be searched at /etc/vpnc/<filename> and /etc/vpnc/<filename>.conf. Otherwise <filename> and <filename>.conf will be used. If no configuration file is specified on the command-line at all, both /etc/vpnc/default.conf and /etc/vpnc.conf will be loaded.

Additionally, if the configuration file “-” is specified on the command-line vpnc will read configuration from stdin. The configuration is parsed and the connection proceeds when stdin is closed or the special character CEOT (CTRL-D) is read.

OPTIONS

The program options can be either given as arguments (but not all of them for security reasons) or be stored in a configuration file.

–gateway* <ip/hostname>*
IP/name of your IPSec gateway

conf-variable: IPSec gateway* <ip/hostname>*

–id* <ASCII string>*
your group name

conf-variable: IPSec ID* <ASCII string>*

–secret* <ASCII string>*
your group password (cleartext)

conf-variable: IPSec secret* <ASCII string>*

(configfile only option)
your group password (obfuscated)

conf-variable: IPSec obfuscated secret* <hex string>*

–username* <ASCII string>*
your username

conf-variable: Xauth username* <ASCII string>*

–password* <ASCII string>*
your password (cleartext)

conf-variable: Xauth password* <ASCII string>*

(configfile only option)
your password (obfuscated)

conf-variable: Xauth obfuscated password* <hex string>*

–domain* <ASCII string>*
(NT-) Domain name for authentication

conf-variable: Domain* <ASCII string>*

–xauth-inter
enable interactive extended authentication (for challenge response auth)

conf-variable: Xauth interactive

–vendor* <cisco/netscreen/fortigate>*
vendor of your IPSec gateway

Default: cisco

conf-variable: Vendor* <cisco/netscreen/fortigate>*

–natt-mode* <natt/none/force-natt/cisco-udp>*
Which NAT-Traversal Method to use:

  • natt – NAT-T as defined in RFC3947

  • none – disable use of any NAT-T method

  • force-natt – always use NAT-T encapsulation even without presence of a NAT device (useful if the OS captures all ESP traffic)

  • cisco-udp – Cisco proprietary UDP encapsulation, commonly over Port 10000

Note: cisco-tcp encapsulation is not yet supported

Default: natt

conf-variable: NAT Traversal Mode* <natt/none/force-natt/cisco-udp>*

–script* <command>*
command is executed using system() to configure the interface, routing and so on. Device name, IP, etc. are passed using environment variables, see README. This script is executed right after ISAKMP is done, but before tunneling is enabled. It is called when vpnc terminates, too

Default: /usr/share/vpnc-scripts/vpnc-script

conf-variable: Script* <command>*

–dh* <dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18>*
name of the IKE DH Group

Default: dh2

conf-variable: IKE DH Group* <dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18>*

–pfs* <nopfs/dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18/server>*
Diffie-Hellman group to use for PFS

Default: server

conf-variable: Perfect Forward Secrecy* <nopfs/dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18/server>*

–enable-1des
Deprecated: Please use –enable-weak-encryption instead.

conf-variable: Enable Single DES

–enable-weak-encryption
enables weak encryption methods (such as DES, 3DES)

conf-variable: Enable weak encryption

–enable-no-encryption
enables using no encryption for data traffic (key exchanged must be encrypted)

conf-variable: Enable no encryption

–enable-weak-authentication
enables weak authentication methods (such as MD5)

conf-variable: Enable weak authentication

–application-version* <ASCII string>*
Application Version to report. Note: Default string is generated at runtime.

Default: Cisco Systems VPN Client 0.5.3+git20240226-2:Linux

conf-variable: Application version* <ASCII string>*

–ifname* <ASCII string>*
visible name of the TUN/TAP interface

conf-variable: Interface name* <ASCII string>*

–ifmode* <tun/tap>*
mode of TUN/TAP interface:

  • tun: virtual point to point interface (default)

  • tap: virtual ethernet interface

Default: tun

conf-variable: Interface mode* <tun/tap>*

–ifmtu* <0-65535>*

Set MTU for TUN/TAP interface (default 0 == automatic detect)

conf-variable: Interface MTU* <0-65535>*

–debug* <0/1/2/3/99>*
Show verbose debug messages

  • 0: Do not print debug information.

  • 1: Print minimal debug information.

  • 2: Show statemachine and packet/payload type information.

  • 3: Dump everything excluding authentication data.

  • 99: Dump everything INCLUDING AUTHENTICATION data (e.g. PASSWORDS).

conf-variable: Debug* <0/1/2/3/99>*

–no-detach

Don’t detach from the console after login

conf-variable: No Detach

–pid-file* <filename>*
store the pid of background process in <filename>

Default: /run/vpnc.pid

conf-variable: Pidfile* <filename>*

–local-addr* <ip/hostname>*
local IP to use for ISAKMP / ESP / … (0.0.0.0 == automatically assign)

Default: 0.0.0.0

conf-variable: Local Addr* <ip/hostname>*

–local-port* <0-65535>*
local ISAKMP port number to use (0 == use random port)

Default: 500

conf-variable: Local Port* <0-65535>*

–udp-port* <0-65535>*
Local UDP port number to use (0 == use random port). This is only relevant if cisco-udp nat-traversal is used. This is the _local_ port, the remote udp port is discovered automatically. It is especially not the cisco-tcp port.

Default: 10000

conf-variable: Cisco UDP Encapsulation Port* <0-65535>*

–dpd-idle* <0,10-86400>*
Send DPD packet after not receiving anything for <idle> seconds. Use 0 to disable DPD completely (both ways).

Default: 300

conf-variable: DPD idle timeout (our side)* <0,10-86400>*

–non-inter
Don’t ask anything, exit on missing options

conf-variable: Noninteractive

–auth-mode* <psk/cert/hybrid>*
Authentication mode:

  • psk: pre-shared key (default)

  • cert: server + client certificate (not implemented yet)

  • hybrid: server certificate + xauth (if built with openssl support)

Default: psk

conf-variable: IKE Authmode* <psk/cert/hybrid>*

–ca-file* <filename>*

filename and path to the CA-PEM-File

conf-variable: CA-File* <filename>*

–ca-dir* <directory>*
path of the trusted CA-Directory

Default: /etc/ssl/certs

conf-variable: CA-Dir* <directory>*

–target-network* <target network/netmask>*
Target network in dotted decimal or CIDR notation

Default: 0.0.0.0/0.0.0.0

conf-variable: IPSEC target network* <target network/netmask>*

–password-helper* <executable>*
path to password program or helper name

conf-variable: Password helper* <executable>*

–print-config

Prints your configuration; output can be used as vpnc.conf

FILES

/etc/vpnc.conf /etc/vpnc/default.conf

The default configuration file. You can specify the same config directives as with command line options and additionally IPSec secret and Xauth password both supplying a cleartext password. Scrambled passwords from the Cisco configuration profiles can be used with IPSec obfuscated secret and Xauth obfuscated password.

See EXAMPLES for further details.

/etc/vpnc/*.conf

vpnc will read configuration files in this directory when the config filename (with or without .conf) is specified on the command line.

EXAMPLES

This is an example vpnc.conf with pre-shared keys:

IPSec gateway vpn.example.com

IPSec ID ExampleVpnPSK

IKE Authmode psk

IPSec secret PskS3cret!

Xauth username [email protected]

Xauth password USecr3t

And another one with hybrid authentication (requires that vpnc was built with openssl support):

IPSec gateway vpn.example.com

IPSec ID ExampleVpnHybrid

IKE Authmode hybrid

CA-Dir /etc/vpnc

or

CA-File /etc/vpnc/vpn-example-com.pem

IPSec secret HybS3cret?

Xauth username [email protected]

Xauth password 123456

The lines begin with a keyword (no leading spaces!). The values start exactly one space after the keywords, and run to the end of line. This lets you put any kind of weird character (except CR, LF and NUL) in your strings, but it does mean you can’t add comments after a string, or spaces before them.

In case the the CA-Dir option is used, your certificate needs to be named something like 722d15bd.X, where X is a manually assigned number to make sure that files with colliding hashes have different names. The number can be derived from the certificate file itself:

openssl x509 -subject_hash -noout -in /etc/vpnc/vpn-example-com.pem

See also the –print-config option to generate a config file, and the example file in the package documentation directory where more advanced usage is demonstrated.

Advanced features like manual setting of multiple target routes and disabling /etc/resolv.conf rewriting is documented in the README of the vpnc package.

AUTHOR

This man-page has been written by Eduard Bloch <blade(at)debian.org> and Christian Lackas <delta(at)lackas.net>, based on vpnc README by Maurice Massar <vpnc(at)unix-ag.uni-kl.de>. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

pcf2vpnc(1), cisco-decrypt(1), ip(8), ifconfig(8), route(1), http://www.unix-ag.uni-kl.de/~massar/vpnc/

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

162 - Linux cli command tc-ct

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-ct and provides detailed information about the command tc-ct, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-ct.

NAME πŸ–₯️ tc-ct πŸ–₯️

tc connection tracking action

SYNOPSIS

**tc … action ct commit [ force ] [ zone ** ZONE **] [ mark ** MASKED_MARK **] [ label ** MASKED_LABEL **] [ nat ** NAT_SPEC ]

**tc … action ct [ nat ] [ zone ** ZONE ]

tc … action ct clear

DESCRIPTION

The ct action is a tc action for sending packets and interacting with the netfilter conntrack module.

It can (as shown in the synopsis, in order):

Send the packet to conntrack, and commit the connection, while configuring a 32bit mark, 128bit label, and src/dst nat.

Send the packet to conntrack, which will mark the packet with the connection’s state and configured metadata (mark/label), and execute previous configured nat.

Clear the packet’s of previous connection tracking state.

OPTIONS

zone* ZONE*
Specify a conntrack zone number on which to send the packet to conntrack.

mark* MASKED_MARK*
Specify a masked 32bit mark to set for the connection (only valid with commit).

label* MASKED_LABEL*
Specify a masked 128bit label to set for the connection (only valid with commit).

nat* NAT_SPEC*
Where* NAT_SPEC := {src|dst} addr addr1***[-addr2] [port port1[-port2]]**

Specify src/dst and range of nat to configure for the connection (only valid with commit).

src/dst - configure src or dst nat
addr1**/addr2 - IPv4/IPv6 addresses**
port1**/port2 - Port numbers**

nat
Restore any previous configured nat.

clear
Remove any conntrack state and metadata (mark/label) from the packet (must only option specified).

force
Forces conntrack direction for a previously committed connections, so that current direction will become the original direction (only valid with commit).

EXAMPLES

Example showing natted firewall in conntrack zone 2, and conntrack mark usage:

#Add ingress qdisc on eth0 and eth1 interfaces
$ tc qdisc add dev eth0 ingress
$ tc qdisc add dev eth1 ingress

#Setup filters on eth0, allowing opening new connections in zone 2, and doing src nat + mark for each new connection
$ tc filter add dev eth0 ingress prio 1 chain 0 proto ip flower ip_proto tcp ct_state -trk \
action ct zone 2 pipe action goto chain 2
$ tc filter add dev eth0 ingress prio 1 chain 2 proto ip flower ct_state +trk+new \
action ct zone 2 commit mark 0xbb nat src addr 5.5.5.7 pipe action mirred egress redirect dev eth1
$ tc filter add dev eth0 ingress prio 1 chain 2 proto ip flower ct_zone 2 ct_mark 0xbb ct_state +trk+est \
action ct nat pipe action mirred egress redirect dev eth1

#Setup filters on eth1, allowing only established connections of zone 2 through, and reverse nat (dst nat in this case)
$ tc filter add dev eth1 ingress prio 1 chain 0 proto ip flower ip_proto tcp ct_state -trk \
action ct zone 2 pipe action goto chain 1
$ tc filter add dev eth1 ingress prio 1 chain 1 proto ip flower ct_zone 2 ct_mark 0xbb ct_state +trk+est \
action ct nat pipe action mirred egress redirect dev eth0

SEE ALSO

tc(8), tc-flower(8) tc-mirred(8)

AUTHORS

Paul Blakey <[email protected]>

Marcelo Ricardo Leitner <[email protected]>

Yossi Kuperman <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

163 - Linux cli command vfs_snapper

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_snapper and provides detailed information about the command vfs_snapper, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_snapper.

NAME πŸ–₯️ vfs_snapper πŸ–₯️

Expose snapshots managed by snapper as shadow-copies

SYNOPSIS

vfs objects = snapper

DESCRIPTION

This VFS module is part of the samba(8) suite.

The vfs_snapper VFS module exposes snapshots managed by snapper for use by Samba. This provides the ability for remote SMB clients to access shadow-copies via Windows Explorer using the “previous versions” dialog.

Snapshots can also be created and remove remotely, using the File Server Remote VSS Protocol (FSRVP). Snapshot creation and deletion requests are forwarded to snapper via DBus.

This module is stackable.

CONFIGURATION

The underlying share path must have a corresponding snapper configuration file. The snapshot directory tree must allow access for relevant users.

  [share]
		vfs objects = snapper

For remote snapshot creation and deletion, Sambas FSRVP server must be configured in the [global] section:

  [global]
		registry shares = yes
		include = registry

PERMISSIONS

Snapper stores snapshots under a .snapshots subdirectory. This directory must permit traversal for any users wishing to access snapshots via the Windows Explorer previous versions dialog. By default, traversal is forbidden for all non-root users. Additionally, users must be granted permission to list snapshots managed by snapper, via snappers ALLOW_USERS or ALLOW_GROUPS options. Snapper can grant these users and groups .snapshots traversal access automatically via the SYNC_ACL option.

Remote snapshot creation and deletion is only permitted by Samba for Active Directory administrators, backup operators, or users explicitly granted SeBackupPrivilege. Snapper must also permit creation and deletion for the appropriate user, via snappers ALLOW_USERS or ALLOW_GROUPS options.

The DiskShadow.exe FSRVP client initially authenticates as the Active Directory computer account. This account must therefore be granted the same permissions as the user account issuing the snapshot creation and deletion requests.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

164 - Linux cli command tc-u32

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-u32 and provides detailed information about the command tc-u32, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-u32.

NAME πŸ–₯️ tc-u32 πŸ–₯️

universal 32bit traffic control filter

SYNOPSIS

tc filter … [ handle HANDLE ] u32 OPTION_LIST [ offset OFFSET ] [ hashkey HASHKEY ] [ classid CLASSID ] [ divisor uint_value ] [ order u32_value ] [ ht HANDLE ] [ sample SELECTOR [ divisor uint_value ] ] [ link HANDLE ] [ indev ifname ] [ skip_hw | skip_sw ] [ help ]

HANDLE := { u12_hex_htid**:[u8_hex_hash:*[u12_hex_nodeid] | 0xu32_hex_value* }

OPTION_LIST := [ OPTION_LIST ] OPTION

HASHKEY := [ mask u32_hex_value ] [ at 4*int_value ]

CLASSID := { root | none | [u16_major]**:**u16_minor | u32_hex_value }

OFFSET := [ plus int_value ] [ at 2*int_value ] [ mask u16_hex_value ] [ shift int_value ] [ eat ]

OPTION := { match SELECTOR | action ACTION }

SELECTOR := { u32 VAL_MASK_32 | u16 VAL_MASK_16 | u8 VAL_MASK_8 | ip IP | ip6 IP6 | { tcp | udp } TCPUDP | icmp ICMP | mark VAL_MASK_32 | ether ETHER }

IP := { { src | dst } { default | any | all | ip_address [ / { prefixlen | netmask } ] } AT | { dsfield | ihl | protocol | precedence | icmp_type | icmp_code } VAL_MASK_8 | { sport | dport } VAL_MASK_16 | nofrag | firstfrag | df | mf }

IP6 := { { src | dst } { default | any | all | ip6_address [/prefixlen ] } AT | priority VAL_MASK_8 | { protocol | icmp_type | icmp_code } VAL_MASK_8 | flowlabel VAL_MASK_32 | { sport | dport } VAL_MASK_16 }

TCPUDP := { src | dst } VAL_MASK_16

ICMP := { type VAL_MASK_8 | code VAL_MASK_8 }

ETHER := { src | dst } ether_address AT

VAL_MASK_32 := u32_value u32_hex_mask [ AT ]

VAL_MASK_16 := u16_value u16_hex_mask [ AT ]

VAL_MASK_8 := u8_value u8_hex_mask [ AT ]

AT := [ at [ nexthdr+ ] int_value ]

DESCRIPTION

The Universal/Ugly 32bit filter allows one to match arbitrary bitfields in the packet. Due to breaking everything down to values, masks and offsets, It is equally powerful and hard to use. Luckily many abstracting directives are present which allow defining rules on a higher level and therefore free the user from having to fiddle with bits and masks in many cases.

There are two general modes of invocation: The first mode creates a new filter to delegate packets to different destinations. Apart from the obvious ones, namely classifying the packet by specifying a CLASSID or calling an action, one may link one filter to another one (or even a list of them), effectively organizing filters into a tree-like hierarchy.

Typically filter delegation is done by means of a hash table, which leads to the second mode of invocation: it merely serves to set up these hash tables. Filters can select a hash table and provide a key selector from which a hash is to be computed and used as key to lookup the table’s bucket which contains filters for further processing. This is useful if a high number of filters is in use, as the overhead of performing the hash operation and table lookup becomes negligible in that case. Using hashtables with u32 basically involves the following pattern:

  1. Creating a new hash table, specifying it’s size using the divisor parameter and ideally a handle by which the table can be identified. If the latter is not given, the kernel chooses one on it’s own, which has to be guessed later.

  2. Creating filters which link to the created table in (1) using the link parameter and defining the packet data which the kernel will use to calculate the hashkey.

  3. Adding filters to buckets in the hash table from (1). In order to avoid having to know how exactly the kernel creates the hash key, there is the sample parameter, which gives sample data to hash and thereby define the table bucket the filter should be added to.

In fact, even if not explicitly requested u32 creates a hash table for every priority a filter is being added with. The table’s size is 1 though, so it is in fact merely a linked list.

VALUES

Options and selectors require values to be specified in a specific format, which is often non-intuitive. Therefore the terminals in SYNOPSIS have been given descriptive names to indicate the required format and/or maximum allowed numeric value: Prefixes u32, u16 and u8 indicate four, two and single byte unsigned values. E.g. u16 indicates a two byte-sized value in range between 0 and 65535 (0xFFFF) inclusive. A prefix of int indicates a four byte signed value. A middle part of _hex_ indicates that the value is parsed in hexadecimal format. Otherwise, the value’s base is automatically detected, i.e. values prefixed with 0x are considered hexadecimal, a leading 0 indicates octal format and decimal format otherwise. There are some values with special formatting as well: ip_address and netmask are in dotted-quad formatting as usual for IPv4 addresses. An ip6_address is specified in common, colon-separated hexadecimal format. Finally, prefixlen is an unsigned, decimal integer value in range from 0 to the address width in bits (32 for IPv4 and 128 for IPv6).

Sometimes values need to be dividable by a certain number. In that case a name of the form N*val was chosen, indicating that val must be dividable by N. Or the other way around: the resulting value must be a multiple of N.

OPTIONS

U32 recognizes the following options:

handle* HANDLE*
The handle is used to reference a filter and therefore must be unique. It consists of a hash table identifier htid and optional hash (which identifies the hash table’s bucket) and nodeid. All these values are parsed as unsigned, hexadecimal numbers with length 12bits ( htid and nodeid) or 8bits ( hash). Alternatively one may specify a single, 32bit long hex number which contains the three fields bits in concatenated form. Other than the fields themselves, it has to be prefixed by 0x.

offset* OFFSET*
Set an offset which defines where matches of subsequent filters are applied to. Therefore this option is useful only when combined with link or a combination of ht and sample. The offset may be given explicitly by using the plus keyword, or extracted from the packet data with at. It is possible to mangle the latter using mask and/or shift keywords. By default, this offset is recorded but not implicitly applied. It is used only to substitute the nexthdr+ statement. Using the keyword eat though inverses this behaviour: the offset is applied always, and nexthdr+ will fall back to zero.

hashkey* HASHKEY*
Specify what packet data to use to calculate a hash key for bucket lookup. The kernel adjusts the value according to the hash table’s size. For this to work, the option link must be given.

classid* CLASSID*
Classify matching packets into the given CLASSID, which consists of either 16bit major and minor numbers or a single 32bit value combining both.

divisor* u32_value*
Specify a modulo value. Used when creating hash tables to define their size or for declaring a sample to calculate hash table keys from. Must be a power of two with exponent not exceeding eight.

order* u32_value*
A value to order filters by, ascending. Conflicts with handle which serves the same purpose.

sample* SELECTOR*
Used together with ht to specify which bucket to add this filter to. This allows one to avoid having to know how exactly the kernel calculates hashes. The additional divisor defaults to 256, so must be given for hash tables of different size.

link* HANDLE*
Delegate matching packets to filters in a hash table. HANDLE is used to only specify the hash table, so only htid may be given, hash and nodeid have to be omitted. By default, bucket number 0 will be used and can be overridden by the hashkey option.

indev* ifname*
Filter on the incoming interface of the packet. Obviously works only for forwarded traffic.

skip_sw
Do not process filter by software. If hardware has no offload support for this filter, or TC offload is not enabled for the interface, operation will fail.

skip_hw
Do not process filter by hardware.

help
Print a brief help text about possible options.

SELECTORS

Basically the only real selector is u32 . All others merely provide a higher level syntax and are internally translated into u32 .

u32* VAL_MASK_32*
u16* VAL_MASK_16*
u8* VAL_MASK_8*
Match packet data to a given value. The selector name defines the sample length to extract (32bits for u32, 16bits for u16 and 8bits for u8). Before comparing, the sample is binary AND’ed with the given mask. This way uninteresting bits can be cleared before comparison. The position of the sample is defined by the offset specified in AT.

ip* IP*
ip6* IP6*
Assume packet starts with an IPv4 ( ip) or IPv6 ( ip6) header. IP/IP6 then allows one to match various header fields:

src* ADDR*
dst* ADDR*
Compare Source or Destination Address fields against the value of ADDR. The reserved words default, any and all effectively match any address. Otherwise an IP address of the particular protocol is expected, optionally suffixed by a prefix length to match whole subnets. In case of IPv4 a netmask may also be given.

dsfield* VAL_MASK_8*
IPv4 only. Match the packet header’s DSCP/ECN field. Synonyms to this are tos and precedence.

ihl* VAL_MASK_8*
IPv4 only. Match the Internet Header Length field. Note that the value’s unit is 32bits, so to match a packet with 24byte header length u8_value has to be 6.

protocol* VAL_MASK_8*
Match the Protocol (IPv4) or Next Header (IPv6) field value, e.g. 6 for TCP.

icmp_type* VAL_MASK_8*
icmp_code* VAL_MASK_8*
Assume a next-header protocol of icmp or ipv6-icmp and match Type or Code field values. This is dangerous, as the code assumes minimal header size for IPv4 and lack of extension headers for IPv6.

sport* VAL_MASK_16*
dport* VAL_MASK_16*
Match layer four source or destination ports. This is dangerous as well, as it assumes a suitable layer four protocol is present (which has Source and Destination Port fields right at the start of the header and 16bit in size). Also minimal header size for IPv4 and lack of IPv6 extension headers is assumed.

nofrag
firstfrag
df
mf
IPv4 only, check certain flags and fragment offset values. Match if the packet is not a fragment (nofrag), the first fragment of a fragmented packet (firstfrag), if Don’t Fragment (df) or More Fragments (mf) bits are set.

priority* VAL_MASK_8*
IPv6 only. Match the header’s Traffic Class field, which has the same purpose and semantics of IPv4’s ToS field since RFC 3168: upper six bits are DSCP, the lower two ECN.

flowlabel* VAL_MASK_32*
IPv6 only. Match the Flow Label field’s value. Note that Flow Label itself is only 20bytes long, which are the least significant ones here. The remaining upper 12bytes match Version and Traffic Class fields.

tcp* TCPUDP*
udp* TCPUDP*
Match fields of next header of protocol TCP or UDP. The possible values for TCPDUP are:

src* VAL_MASK_16*
Match on Source Port field value.

dst* VALMASK_16*
Match on Destination Port field value.

icmp* ICMP*
Match fields of next header of protocol ICMP. The possible values for ICMP are:

type* VAL_MASK_8*
Match on ICMP Type field.

code* VAL_MASK_8*
Match on ICMP Code field.

mark* VAL_MASK_32*
Match on netfilter fwmark value.

ether* ETHER*
Match on ethernet header fields. Possible values for ETHER are:

src* ether_address*** AT
dst
ether_address
** **AT
Match on source or destination ethernet address. This is dangerous: It assumes an ethernet header is present at the start of the packet. This will probably lead to unexpected things if used with layer three interfaces like e.g. tun or ppp.

EXAMPLES

tc filter add dev eth0 parent 999:0 prio 99 protocol ip u32
match ip src 192.168.8.0/24 classid 1:1

This attaches a filter to the qdisc identified by 999:0. It’s priority is 99, which affects in which order multiple filters attached to the same parent are consulted (the lower the earlier). The filter handles packets of protocol type ip, and matches if the IP header’s source address is within the 192.168.8.0/24 subnet. Matching packets are classified into class 1.1. The effect of this command might be surprising at first glance:

filter parent 1: protocol ip pref 99 u32 filter parent 1: protocol ip pref 99 u32
fh 800: ht divisor 1 filter parent 1: protocol ip pref 99 u32
fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
match c0a80800/ffffff00 at 12

So parent 1: is assigned a new u32 filter, which contains a hash table of size 1 (as the divisor indicates). The table ID is 800. The third line then shows the actual filter which was added above: it sits in table 800 and bucket 0, classifies packets into class ID 1:1 and matches the upper three bytes of the four byte value at offset 12 to be 0xc0a808, which is 192, 168 and 8.

Now for something more complicated, namely creating a custom hash table:

tc filter add dev eth0 prio 99 handle 1: u32 divisor 256

This creates a table of size 256 with handle 1: in priority 99. The effect is as follows:

filter parent 1: protocol all pref 99 u32 filter parent 1: protocol all pref 99 u32 fh 1: ht divisor 256 filter parent 1: protocol all pref 99 u32 fh 800: ht divisor 1

So along with the requested hash table (handle 1:), the kernel has created his own table of size 1 to hold other filters of the same priority.

The next step is to create a filter which links to the created hash table:

tc filter add dev eth0 parent 1: prio 1 u32
link 1: hashkey mask 0x0000ff00 at 12
match ip src 192.168.0.0/16

The filter is given a lower priority than the hash table itself so u32 consults it before manually traversing the hash table. The options link and hashkey determine which table and bucket to redirect to. In this case the hash key should be constructed out of the second byte at offset 12, which corresponds to an IP packet’s third byte of the source address field. Along with the match statement, this effectively maps all class C networks below 192.168.0.0/16 to different buckets of the hash table.

Filters for certain subnets can be created like so:

tc filter add dev eth0 parent 1: prio 99 u32
ht 1: sample u32 0x00000800 0x0000ff00 at 12
match ip src 192.168.8.0/24 classid 1:1

The bucket is defined using the sample option: In this case, the second byte at offset 12 must be 0x08, exactly. In this case, the resulting bucket ID is obviously 8, but as soon as sample selects an amount of data which could exceed the divisor, one would have to know the kernel-internal algorithm to deduce the destination bucket. This filter’s match statement is redundant in this case, as the entropy for the hash key does not exceed the table size and therefore no collisions can occur. Otherwise it’s necessary to prevent matching unwanted packets.

Matching upper layer fields is problematic since IPv4 header length is variable and IPv6 supports extension headers which affect upper layer header offset. To overcome this, there is the possibility to specify nexthdr+ when giving an offset, and to make things easier there are the tcp and udp matches which use nexthdr+ implicitly. This offset has to be calculated in beforehand though, and the only way to achieve that is by doing it in a separate filter which then links to the filter which wants to use it. Here is an example of doing so:

tc filter add dev eth0 parent 1:0 protocol ip handle 1:
u32 divisor 1 tc filter add dev eth0 parent 1:0 protocol ip
u32 ht 1:
match tcp src 22 FFFF
classid 1:2 tc filter add dev eth0 parent 1:0 protocol ip
u32 ht 800:
match ip protocol 6 FF
match u16 0 1fff at 6
offset at 0 mask 0f00 shift 6
link 1:

This is what is being done: In the first call, a single element sized hash table is created so there is a place to hold the linked to filter and a known handle (1:) to reference to it. The second call then adds the actual filter, which pushes packets with TCP source port 22 into class 1:2. Using ht, it is moved into the hash table created by the first call. The third call then does the actual magic: It matches IPv4 packets with next layer protocol 6 (TCP), only if it’s the first fragment (usually TCP sets DF bit, but if it doesn’t and the packet is fragmented, only the first one contains the TCP header), and then sets the offset based on the IP header’s IHL field (right-shifting by 6 eliminates the offset of the field and at the same time converts the value into byte unit). Finally, using link, the hash table from first call is referenced which holds the filter from second call.

SEE ALSO

tc(8),
cls_u32.txt at http://linux-tc-notes.sourceforge.net/

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

165 - Linux cli command vfs_acl_tdb

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_acl_tdb and provides detailed information about the command vfs_acl_tdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_acl_tdb.

NAME πŸ–₯️ vfs_acl_tdb πŸ–₯️

Save NTFS-ACLs in a tdb file

SYNOPSIS

vfs objects = acl_tdb

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_acl_tdb VFS module stores NTFS Access Control Lists (ACLs) in a tdb file. This enables the full mapping of Windows ACLs on Samba servers.

The ACL settings are stored in $LOCKDIR/file_ntacls.tdb.

This module forces the following parameters:

Β·

inherit acls = true

Β·

dos filemode = true

Β·

force unknown acl user = true

This module is stackable.

OPTIONS

acl_tdb:ignore system acls = [yes|no]

When set to yes, a best effort mapping from/to the POSIX ACL layer will not be done by this module. The default is no, which means that Samba keeps setting and evaluating both the system ACLs and the NT ACLs. This is better if you need your system ACLs be set for local or NFS file access, too. If you only access the data via Samba you might set this to yes to achieve better NT ACL compatibility.

If acl_tdb:ignore system acls is set to yes, the following additional settings will be enforced:

Β·

create mask = 0666

Β·

directory mask = 0777

Β·

map archive = no

Β·

map hidden = no

Β·

map readonly = no

Β·

map system = no

Β·

store dos attributes = yes

acl_tdb:default acl style = [posix|windows|everyone]

This parameter determines the type of ACL that is synthesized in case a file or directory lacks an security.NTACL xattr.

When set to posix, an ACL will be synthesized based on the POSIX mode permissions for user, group and others, with an additional ACE for NT Authority\SYSTEM will full rights.

When set to windows, an ACL is synthesized the same way Windows does it, only including permissions for the owner and NT Authority\SYSTEM.

When set to everyone, an ACL is synthesized giving full permissions to everyone (S-1-1-0).

The default for this option is posix.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

166 - Linux cli command vfs_crossrename

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_crossrename and provides detailed information about the command vfs_crossrename, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_crossrename.

NAME πŸ–₯️ vfs_crossrename πŸ–₯️

server side rename files across filesystem boundaries

SYNOPSIS

vfs objects = crossrename

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_crossrename VFS module allows server side rename operations even if source and target are on different physical devices. A “move” in Explorer is usually a rename operation if it is inside of a single share or device. Usually such a rename operation returns NT_STATUS_NOT_SAME_DEVICE and the client has to move the file by manual copy and delete operations. If the rename by copy is done by the server this can be much more efficient. vfs_crossrename tries to do this server-side cross-device rename operation.

There are however limitations that this module currently does not solve:

The ACLs of files are not preserved,

meta data in EAs are not preserved,

renames of whole subdirectories cannot be done recursively, in that case we still return STATUS_NOT_SAME_DEVICE and let the client decide what to do,

rename operations of huge files can cause hangs on the client because clients expect a rename operation to return fast.

This module is stackable.

OPTIONS

crossrename:sizelimit = BYTES

server-side cross-device-renames are only done for files if the filesize is not larger than the defined size in MiB to prevent timeouts. The default sizelimit is 20 (MiB)

EXAMPLES

To add server-side cross-device renames inside of a share for all files sized up to 50MB:

    [testshare]
	path = /data/mounts
	vfs objects = crossrename
	crossrename:sizelimit = 50

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

167 - Linux cli command vfs_glusterfs_fuse

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_glusterfs_fuse and provides detailed information about the command vfs_glusterfs_fuse, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_glusterfs_fuse.

NAME πŸ–₯️ vfs_glusterfs_fuse πŸ–₯️

Utilize features provided by GlusterFS

SYNOPSIS

vfs objects = glusterfs_fuse

DESCRIPTION

This VFS module is part of the samba(8) suite.

GlusterFS (http://www.gluster.org) is an Open Source clustered file system capable of scaling to several peta-bytes. With its FUSE based native client, GlusterFS is available as a POSIX compliant file system and can hence be shared by Samba without additional steps.

The vfs_glusterfs_fuse VFS module provides an enhanced way to access a Gluster filesystem using a Gluster FUSE mount. It provides support for the get_real_filename VFS call which enhances file access performance by avoiding multiple expensive case folding lookup calls to detect the appropriate case of an existing filename.

Furthermore, this module implements a substitute file-id mechanism. The default file-id mechanism is not working correctly for gluster fuse mount re-exports, so in order to avoid data loss, users exporting gluster fuse mounts with Samba should enable this module.

This module can be combined with other modules, but it should be the last module in the vfs objects list. Modules added to this list to the right of the glusterfs entry may not have any effect at all.

CONFIGURATION

A basic configuration looks like this.

  [share]
		vfs objects = glusterfs_fuse
		path = /absolute/path_of_fusemount

Note that vfs_glusterfs_fuse requires a Gluster mount. For accessing glusterfs directly over the GFAPI library please use the vfs_glusterfs module.

OPTIONS

This module does currently have no further options.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

168 - Linux cli command tc-codel

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-codel and provides detailed information about the command tc-codel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-codel.

NAME πŸ–₯️ tc-codel πŸ–₯️

Controlled-Delay Active Queue Management algorithm

SYNOPSIS

tc qdisc … codel [ limit PACKETS ] [ target TIME ] [ interval TIME ] [ ecn | noecn ] [ ce_threshold TIME ]

DESCRIPTION

CoDel (pronounced “coddle”) is an adaptive “no-knobs” active queue management algorithm (AQM) scheme that was developed to address the shortcomings of RED and its variants. It was developed with the following goals in mind: o It should be parameterless. o It should keep delays low while permitting bursts of traffic. o It should control delay. o It should adapt dynamically to changing link rates with no impact on utilization. o It should be simple and efficient and should scale from simple to complex routers.

ALGORITHM

CoDel comes with three major innovations. Instead of using queue size or queue average, it uses the local minimum queue as a measure of the standing/persistent queue. Second, it uses a single state-tracking variable of the minimum delay to see where it is relative to the standing queue delay. Third, instead of measuring queue size in bytes or packets, it is measured in packet-sojourn time in the queue.

CoDel measures the minimum local queue delay (i.e. standing queue delay) and compares it to the value of the given acceptable queue delay target. As long as the minimum queue delay is less than target or the buffer contains fewer than MTU worth of bytes, packets are not dropped. Codel enters a dropping mode when the minimum queue delay has exceeded target for a time greater than interval. In this mode, packets are dropped at different drop times which is set by a control law. The control law ensures that the packet drops cause a linear change in the throughput. Once the minimum delay goes below target, packets are no longer dropped.

Additional details can be found in the paper cited below.

PARAMETERS

limit

hard limit on the real queue size. When this limit is reached, incoming packets are dropped. If the value is lowered, packets are dropped so that the new limit is met. Default is 1000 packets.

target

is the acceptable minimum standing/persistent queue delay. This minimum delay is identified by tracking the local minimum queue delay that packets experience. Default and recommended value is 5ms.

interval

is used to ensure that the measured minimum delay does not become too stale. The minimum delay must be experienced in the last epoch of length interval. It should be set on the order of the worst-case RTT through the bottleneck to give endpoints sufficient time to react. Default value is 100ms.

ecn | noecn

can be used to mark packets instead of dropping them. If ecn has been enabled, noecn can be used to turn it off and vice-a-versa. By default, ecn is turned off.

ce_threshold

sets a threshold above which all packets are marked with ECN Congestion Experienced. This is useful for DCTCP-style congestion control algorithms that require marking at very shallow queueing thresholds.

EXAMPLES

# tc qdisc add dev eth0 root codel # tc -s qdisc show qdisc codel 801b: dev eth0 root refcnt 2 limit 1000p target 5.0ms interval 100.0ms Sent 245801662 bytes 275853 pkt (dropped 0, overlimits 0 requeues 24) backlog 0b 0p requeues 24 count 0 lastcount 0 ldelay 2us drop_next 0us maxpacket 7306 ecn_mark 0 drop_overlimit 0

# tc qdisc add dev eth0 root codel limit 100 target 4ms interval 30ms ecn # tc -s qdisc show qdisc codel 801c: dev eth0 root refcnt 2 limit 100p target 4.0ms interval 30.0ms ecn Sent 237573074 bytes 268561 pkt (dropped 0, overlimits 0 requeues 5) backlog 0b 0p requeues 5 count 0 lastcount 0 ldelay 76us drop_next 0us maxpacket 2962 ecn_mark 0 drop_overlimit 0

SEE ALSO

tc(8), tc-red(8)

SOURCES

o Kathleen Nichols and Van Jacobson, “Controlling Queue Delay”, ACM Queue, http://queue.acm.org/detail.cfm?id=2209336

AUTHORS

CoDel was implemented by Eric Dumazet and David Taht. This manpage was written by Vijay Subramanian. Please reports corrections to the Linux Networking mailing list <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

169 - Linux cli command systemd-sysusers

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-sysusers and provides detailed information about the command systemd-sysusers, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-sysusers.

NAME πŸ–₯️ systemd-sysusers πŸ–₯️

sysusers, systemd-sysusers.service - Allocate system users and groups

SYNOPSIS

systemd-sysusers [OPTIONS…] [CONFIGFILE…]

systemd-sysusers.service

DESCRIPTION

systemd-sysusers creates system users and groups, based on files in the format described in sysusers.d(5).

If invoked with no arguments, directives from the configuration files found in the directories specified by sysusers.d(5). When invoked with positional arguments, if option **–replace=**PATH is specified, arguments specified on the command line are used instead of the configuration file PATH. Otherwise, just the configuration specified by the command line arguments is executed. If the string “-” is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.

OPTIONS

The following options are understood:

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths.

Added in version 215.

**–image=**image

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–replace=**PATH

When this option is given, one or more positional arguments must be specified. All configuration files found in the directories listed in sysusers.d(5) will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file PATH.

This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority.

Example 1. RPM installation script for radvd

echo u radvd - “radvd daemon” |
systemd-sysusers –replace=/usr/lib/sysusers.d/radvd.conf -

This will create the radvd user as if /usr/lib/sysusers.d/radvd.conf was already on disk. An admin might override the configuration specified on the command line by placing /etc/sysusers.d/radvd.conf or even /etc/sysusers.d/00-overrides.conf.

Note that this is the expanded form, and when used in a package, this would be written using a macro with “radvd” and a file containing the configuration line as arguments.

Added in version 238.

–dry-run

Process the configuration and figure out what entries would be created, but dont actually write anything.

Added in version 250.

–inline

Treat each positional argument as a separate configuration line instead of a file name.

Added in version 238.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

CREDENTIALS

systemd-sysusers supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

passwd.hashed-password.user

A UNIX hashed password string to use for the specified user, when creating an entry for it. This is particularly useful for the “root” user as it allows provisioning the default root password to use via a unit file drop-in or from a container manager passing in this credential. Note that setting this credential has no effect if the specified user account already exists. This credential is hence primarily useful in first boot scenarios or systems that are fully stateless and come up with an empty /etc/ on every boot.

Added in version 249.

passwd.plaintext-password.user

Similar to “passwd.hashed-password.user” but expect a literal, plaintext password, which is then automatically hashed before used for the user account. If both the hashed and the plaintext credential are specified for the same user the former takes precedence. Its generally recommended to specify the hashed version; however in test environments with weaker requirements on security it might be easier to pass passwords in plaintext instead.

Added in version 249.

passwd.shell.user

Specifies the shell binary to use for the specified account when creating it.

Added in version 249.

sysusers.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other sysusers.d/ drop-in. If this credential is passed it is processed after all of the drop-in files read from the file system.

Added in version 252.

Note that by default the systemd-sysusers.service unit file is set up to inherit the “passwd.hashed-password.root”, “passwd.plaintext-password.root”, “passwd.shell.root” and “sysusers.extra” credentials from the service manager. Thus, when invoking a container with an unpopulated /etc/ for the first time it is possible to configure the root users password to be “systemd” like this:

systemd-nspawn –image=… –set-credential=passwd.hashed-password.root:$y$j9T$yAuRJu1o5HioZAGDYPU5d.$F64ni6J2y2nNQve90M/p0ZP0ECP/qqzipNyaY9fjGpC …

Note again that the data specified in this credential is consulted only when creating an account for the first time, it may not be used for changing the password or shell of an account that already exists.

Use mkpasswd(1) for generating UNIX password hashes from the command line.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), sysusers.d(5), Users, Groups, UIDs and GIDs on systemd systems[2], systemd.exec(5), mkpasswd(1)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

Users, Groups, UIDs and GIDs on systemd systems

https://systemd.io/UIDS-GIDS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

170 - Linux cli command webmitm

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command webmitm and provides detailed information about the command webmitm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the webmitm.

NAME πŸ–₯️ webmitm πŸ–₯️

HTTP / HTTPS monkey-in-the-middle

SYNOPSIS

webmitm [-d] [host]

DESCRIPTION

webmitm transparently proxies and sniffs HTTP / HTTPS traffic redirected by dnsspoof(8), capturing most “secure” SSL-encrypted webmail logins and form submissions.

OPTIONS

-d
Enable debugging mode. May be specified multiple times to greater effect.

host
Specify a host to proxy to. If none given, only requests containing an HTTP/1.1 Host: header or absolute URI will be relayed transparently.

FILES

webmitm.crt
SSL certificate

SEE ALSO

dsniff(8), dnsspoof(8)

AUTHOR

Dug Song <[email protected]>
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

171 - Linux cli command tdbtool

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tdbtool and provides detailed information about the command tdbtool, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tdbtool.

NAME πŸ–₯️ tdbtool πŸ–₯️

manipulate the contents TDB files

SYNOPSIS

tdbtool

tdbtool [-l] TDBFILE [COMMANDS…]

DESCRIPTION

This tool is part of the samba(1) suite.

tdbtool a tool for displaying and altering the contents of Samba TDB (Trivial DataBase) files. Each of the commands listed below can be entered interactively or provided on the command line.

OPTIONS

-l

This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex(). Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e.g. databases which were created with mutex locking.

COMMANDS

create TDBFILE

Create a new database named TDBFILE.

open TDBFILE

Open an existing database named TDBFILE.

erase

Erase the current database.

dump

Dump the current database as strings.

cdump

Dump the current database as connection records.

keys

Dump the current database keys as strings.

hexkeys

Dump the current database keys as hex values.

info

Print summary information about the current database.

insert KEY DATA

Insert a record into the current database.

move KEY TDBFILE

Move a record from the current database into TDBFILE.

store KEY DATA

Store (replace) a record in the current database.

storehex KEY DATA

Store (replace) a record in the current database where key and data are in hex format.

show KEY

Show a record by key.

delete KEY

Delete a record by key.

list

Print the current database hash table and free list.

free

Print the current database and free list.

! COMMAND

Execute the given system command.

first

Print the first record in the current database.

next

Print the next record in the current database.

check

Check the integrity of the current database.

repack

Repack a database using a temporary file to remove fragmentation.

quit

Exit tdbtool.

CAVEATS

The contents of the Samba TDB files are private to the implementation and should not be altered with tdbtool.

VERSION

This man page is correct for version 3.6 of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

172 - Linux cli command systemd-tmpfiles-clean.timer

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tmpfiles-clean.timer and provides detailed information about the command systemd-tmpfiles-clean.timer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tmpfiles-clean.timer.

NAME πŸ–₯️ systemd-tmpfiles-clean.timer πŸ–₯️

tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer - Create, delete, and clean up files and directories

SYNOPSIS

systemd-tmpfiles [OPTIONS…] [CONFIGFILE…]

System units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-setup-dev-early.service

systemd-tmpfiles-setup-dev.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

User units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

DESCRIPTION

systemd-tmpfiles creates, deletes, and cleans up files and directories, using the configuration file format and location specified in tmpfiles.d(5). Historically, it was designed to manage volatile and temporary files, as the name suggests, but it provides generic file management functionality and can be used to manage any kind of files. It must be invoked with one or more commands –create, –remove, and –clean, to select the respective subset of operations.

If invoked with no arguments, directives from the configuration files found in the directories specified by tmpfiles.d(5). When invoked with positional arguments, if option **–replace=**PATH is specified, arguments specified on the command line are used instead of the configuration file PATH. Otherwise, just the configuration specified by the command line arguments is executed. If the string “-” is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.

System services (systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service) invoke systemd-tmpfiles to create system files and to perform system wide cleanup. Those services read administrator-controlled configuration files in tmpfiles.d/ directories. User services (systemd-tmpfiles-setup.service, systemd-tmpfiles-clean.service) also invoke systemd-tmpfiles, but it reads a separate set of files, which includes user-controlled files under ~/.config/user-tmpfiles.d/ and ~/.local/share/user-tmpfiles.d/, and administrator-controlled files under /usr/share/user-tmpfiles.d/. Users may use this to create and clean up files under their control, but the system instance performs global cleanup and is not influenced by user configuration. Note that this means a time-based cleanup configured in the system instance, such as the one typically configured for /tmp/, will thus also affect files created by the user instance if they are placed in /tmp/, even if the user instances time-based cleanup is turned off.

To re-apply settings after configuration has been modified, simply restart systemd-tmpfiles-clean.service, which will apply any settings which can be safely executed at runtime. To debug systemd-tmpfiles, it may be useful to invoke it directly from the command line with increased log level (see $SYSTEMD_LOG_LEVEL below).

COMMANDS AND OPTIONS

The following commands are understood:

–create

If this command is passed, all files and directories marked with f, F, w, d, D, v, p, L, c, b, m in the configuration files are created or written to. Files and directories marked with z, Z, t, T, a, and A have their ownership, access mode and security labels set.

–clean

If this command is passed, all files and directories with an age parameter configured will be cleaned up.

–remove

If this command is passed, the contents of directories marked with D or R, and files or directories themselves marked with r or R are removed unless an exclusive or shared BSD lock is taken on them (see flock(2)).

–purge

If this option is passed, all files and directories marked for creation by the tmpfiles.d/ files specified on the command line will be deleted. Specifically, this acts on all files and directories marked with f, F, d, D, v, q, Q, p, L, c, b, C, w, e. If this switch is used at least one tmpfiles.d/ file (or - for standard input) must be specified on the command line or the invocation will be refused, for safety reasons (as otherwise much of the installed system files might be removed).

The primary usecase for this option is to automatically remove files and directories that originally have been created on behalf of an installed packaged at package removal time.

It is recommended to first run this command in combination with –dry-run (see below) to verify which files and directories will be deleted.

Warning! This is usually not the command you want! In most cases –remove is what you are looking for.

Added in version 256.

–user

Execute “user” configuration, i.e. tmpfiles.d files in user configuration directories.

Added in version 236.

–boot

Also execute lines with an exclamation mark. Lines that are not safe to be executed on a running system may be marked in this way. systemd-tmpfiles is executed in early boot with –boot specified and will execute those lines. When invoked again later, it should be called without –boot.

Added in version 209.

–graceful

Ignore configuration lines pertaining to unknown users or groups. This option is intended to be used in early boot before all users or groups have been created.

Added in version 254.

–dry-run

Process the configuration and print what operations would be performed, but dont actually change anything in the file system.

Added in version 256.

**–prefix=**path

Only apply rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 212.

**–exclude-prefix=**path

Ignore rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 207.

-E

A shortcut for “–exclude-prefix=/dev –exclude-prefix=/proc –exclude-prefix=/run –exclude-prefix=/sys”, i.e. exclude the hierarchies typically backed by virtual or memory file systems. This is useful in combination with –root=, if the specified directory tree contains an OS tree without these virtual/memory file systems mounted in, as it is typically not desirable to create any files and directories below these subdirectories if they are supposed to be overmounted during runtime.

Added in version 247.

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths.

When this option is used, the libc Name Service Switch (NSS) is bypassed for resolving users and groups. Instead the files /etc/passwd and /etc/group inside the alternate root are read directly. This means that users/groups not listed in these files will not be resolved, i.e. LDAP NIS and other complex databases are not considered.

Consider combining this with -E to ensure the invocation does not create files or directories below mount points in the OS image operated on that are typically overmounted during runtime.

Added in version 212.

**–image=**image

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Implies -E.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–replace=**PATH

When this option is given, one or more positional arguments must be specified. All configuration files found in the directories listed in tmpfiles.d(5) will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file PATH.

This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority.

Added in version 238.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

It is possible to combine –create, –clean, and –remove in one invocation (in which case removal and cleanup are executed before creation of new files). For example, during boot the following command line is executed to ensure that all temporary and volatile directories are removed and created according to the configuration file:

systemd-tmpfiles –remove –create

CREDENTIALS

systemd-tmpfiles supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

tmpfiles.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other tmpfiles.d/ drop-in configuration file. If this credential is passed it is processed after all of the drop-in files read from the file system. The lines in the credential can hence augment existing lines of the OS, but not override them.

Added in version 252.

Note that by default the systemd-tmpfiles-setup.service unit file (and related unit files) is set up to inherit the “tmpfiles.extra” credential from the service manager.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

UNPRIVILEGED –CLEANUP OPERATION

systemd-tmpfiles tries to avoid changing the access and modification times on the directories it accesses, which requires CAP_FOWNER privileges. When running as non-root, directories which are checked for files to clean up will have their access time bumped, which might prevent their cleanup.

EXIT STATUS

On success, 0 is returned. If the configuration was syntactically invalid (syntax errors, missing arguments, …), so some lines had to be ignored, but no other errors occurred, 65 is returned (EX_DATAERR from /usr/include/sysexits.h). If the configuration was syntactically valid, but could not be executed (lack of permissions, creation of files in missing directories, invalid contents when writing to /sys/ values, …), 73 is returned (EX_CANTCREAT from /usr/include/sysexits.h). Otherwise, 1 is returned (EXIT_FAILURE from /usr/include/stdlib.h).

Note: when creating items, if the target already exists, but is of the wrong type or otherwise does not match the requested state, and forced operation has not been requested with “+”, a message is emitted, but the failure is otherwise ignored.

SEE ALSO

systemd(1), tmpfiles.d(5)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

173 - Linux cli command tcptraceroute

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcptraceroute and provides detailed information about the command tcptraceroute, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcptraceroute.

NAME πŸ–₯️ tcptraceroute πŸ–₯️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

174 - Linux cli command vdpa

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vdpa and provides detailed information about the command vdpa, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vdpa.

NAME πŸ–₯️ vdpa πŸ–₯️

vdpa management tool

SYNOPSIS

vdpa [ OPTIONS ] { dev|mgmtdev } { COMMAND | help }

OPTIONS

-V,** –Version**
Print the version of the vdpa utility and exit.

-j,** –json**
Generate JSON output.

-p,** –pretty**
When combined with -j generate a pretty JSON output.

OBJECT

dev
- vdpa device.

mgmtdev
- vdpa management device.

COMMAND

Specifies the action to perform on the object. The set of possible actions depends on the object type. It is possible to show (or list ) objects. The help command is available for all objects. It prints out a list of available commands and argument syntax conventions.

If no command is given, some default command is assumed. Usually it is show or, if the objects of this class cannot be listed, help.

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

vdpa-dev(8), vdpa-mgmtdev(8),

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Parav Pandit <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

175 - Linux cli command systemd-pstore

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pstore and provides detailed information about the command systemd-pstore, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pstore.

NAME πŸ–₯️ systemd-pstore πŸ–₯️

pstore.service, systemd-pstore - A service to archive contents of pstore

SYNOPSIS

/usr/lib/systemd/systemd-pstore

systemd-pstore.service

DESCRIPTION

systemd-pstore.service is a system service that archives the contents of the Linux persistent storage filesystem, pstore, to other storage, thus preserving the existing information contained in the pstore, and clearing pstore storage for future error events.

Linux provides a persistent storage file system, pstore, that can store error records when the kernel dies (or reboots or powers-off). These records in turn can be referenced to debug kernel problems (currently the kernel stores the tail of the kernel log, which also contains a stack backtrace, into pstore).

The pstore file system supports a variety of backends that map onto persistent storage, such as the ACPI ERST and UEFI variables. The pstore backends typically offer a relatively small amount of persistent storage, e.g. 64KiB, which can quickly fill up and thus prevent subsequent kernel crashes from recording errors. Thus there is a need to monitor and extract the pstore contents so that future kernel problems can also record information in the pstore.

The pstore service is independent of the kdump service. In cloud environments specifically, host and guest filesystems are on remote filesystems (e.g. iSCSI or NFS), thus kdump relies (implicitly and/or explicitly) upon proper operation of networking software *and* hardware *and* infrastructure. Thus it may not be possible to capture a kernel coredump to a file since writes over the network may not be possible.

The pstore backend, on the other hand, is completely local and provides a path to store error records which will survive a reboot and aid in post-mortem debugging.

The systemd-pstore executable does the actual work. Upon starting, the pstore.conf file is read and the /sys/fs/pstore/ directory contents are processed according to the options. Pstore files are written to the journal, and optionally saved into /var/lib/systemd/pstore/.

CONFIGURATION

The behavior of systemd-pstore is configured through the configuration file /etc/systemd/pstore.conf and corresponding snippets /etc/systemd/pstore.conf.d/*.conf, see pstore.conf(5).

Disabling pstore processing

To disable pstore processing by systemd-pstore, set

Storage=none

in pstore.conf(5).

Kernel parameters

The kernel has two parameters, /sys/module/kernel/parameters/crash_kexec_post_notifiers and /sys/module/printk/parameters/always_kmsg_dump, that control writes into pstore. The first enables storing of the kernel log (including stack trace) into pstore upon a panic or crash, and the second enables storing of the kernel log upon a normal shutdown (shutdown, reboot, halt). These parameters can be managed via the tmpfiles.d(5) mechanism, specifically the file /usr/lib/tmpfiles/systemd-pstore.conf.

USAGE

Data stored in the journal can be viewed with journalctl(1) as usual.

SEE ALSO

pstore.conf(5)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

176 - Linux cli command systemd-time-wait-sync

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-time-wait-sync and provides detailed information about the command systemd-time-wait-sync, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-time-wait-sync.

NAME πŸ–₯️ systemd-time-wait-sync πŸ–₯️

time-wait-sync.service, systemd-time-wait-sync - Wait until kernel time is synchronized

SYNOPSIS

systemd-time-wait-sync.service

/usr/lib/systemd/systemd-time-wait-sync

DESCRIPTION

systemd-time-wait-sync is a system service that delays the start of units that are ordered after time-sync.target (see systemd.special(7) for details) until the system time has been synchronized with an accurate remote reference time source by systemd-timesyncd.service.

systemd-timesyncd.service notifies systemd-time-wait-sync about successful synchronization. systemd-time-wait-sync also tries to detect when the kernel marks the system clock as synchronized, but this detection is not reliable and is intended only as a fallback for compatibility with alternative NTP services that can be used to synchronize time (e.g., ntpd, chronyd).

FILES

/run/systemd/timesync/synchronized

The presence of this file indicates to this service that the system clock has been synchronized.

Added in version 239.

SEE ALSO

systemd(1), systemd.special(7), systemd-timesyncd.service(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

177 - Linux cli command vfs_streams_depot

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_streams_depot and provides detailed information about the command vfs_streams_depot, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_streams_depot.

NAME πŸ–₯️ vfs_streams_depot πŸ–₯️

EXPERIMENTAL module to store alternate data streams in a central directory.

SYNOPSIS

vfs objects = streams_depot

DESCRIPTION

This EXPERIMENTAL VFS module is part of the samba(7) suite.

The vfs_streams_depot enables storing of NTFS alternate data streams in the file system. As a normal posix file system does not support the concept of multiple data streams per file, the streams_depot module stores the data in files in a separate directory.

OPTIONS

streams_depot:directory = PATH

Path of the directory where the alternate data streams should be stored. Defaults to the sharepath/.streams.

streams_depot:delete_lost = [ yes | no ]

In the case of an already existing data streams directory for a newly created file the streams directory will be renamed to “lost-%lu”, random(). With this option lost stream directories will be removed instead of renamed.

Β·

no(default) - rename lost streams to “lost-%lu”, random().

Β·

yes - remove lost streams.

EXAMPLES

    [share]
	vfs objects = streams_depot

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

178 - Linux cli command systemd-sysctl

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-sysctl and provides detailed information about the command systemd-sysctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-sysctl.

NAME πŸ–₯️ systemd-sysctl πŸ–₯️

sysctl.service, systemd-sysctl - Configure kernel parameters at boot

SYNOPSIS

/usr/lib/systemd/systemd-sysctl [OPTIONS…] [CONFIGFILE…]

systemd-sysctl.service

DESCRIPTION

systemd-sysctl.service is an early boot service that configures sysctl(8) kernel parameters by invoking /usr/lib/systemd/systemd-sysctl.

When invoked with no arguments, /usr/lib/systemd/systemd-sysctl applies all directives from configuration files listed in sysctl.d(5). If one or more filenames are passed on the command line, only the directives in these files are applied.

In addition, –prefix= option may be used to limit which sysctl settings are applied.

See sysctl.d(5) for information about the configuration of sysctl settings. After sysctl configuration is changed on disk, it must be written to the files in /proc/sys/ before it takes effect. It is possible to update specific settings, or simply to reload all configuration, see Examples below.

OPTIONS

–prefix=

Only apply rules with the specified prefix.

Added in version 230.

–strict=

Always return non-zero exit code on failure (including invalid sysctl variable name and insufficient permissions), unless the sysctl variable name is prefixed with a “-” character.

Added in version 252.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

CREDENTIALS

systemd-sysctl supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

sysctl.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other sysctl.d/ drop-in configuration file. If this credential is passed it is processed after all of the drop-in files read from the file system. The settings configured in the credential hence take precedence over those in the file system.

Added in version 252.

Note that by default the systemd-sysctl.service unit file is set up to inherit the “sysctl.extra” credential from the service manager.

EXAMPLES

Example 1. Reset all sysctl settings

systemctl restart systemd-sysctl

Example 2. View coredump handler configuration

sysctl kernel.core_pattern

kernel.core_pattern = |/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t %P %I

Example 3. Update coredump handler configuration

/usr/lib/systemd/systemd-sysctl –prefix kernel.core_pattern

This searches all the directories listed in sysctl.d(5) for configuration files and writes /proc/sys/kernel/core_pattern.

Example 4. Update coredump handler configuration according to a specific file

/usr/lib/systemd/systemd-sysctl 50-coredump.conf

This applies all the settings found in 50-coredump.conf. Either /etc/sysctl.d/50-coredump.conf, or /run/sysctl.d/50-coredump.conf, or /usr/lib/sysctl.d/50-coredump.conf will be used, in the order of preference.

See sysctl(8) for various ways to directly apply sysctl settings.

SEE ALSO

systemd(1), sysctl.d(5), sysctl(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

179 - Linux cli command vipw

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vipw and provides detailed information about the command vipw, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vipw.

NAME πŸ–₯️ vipw πŸ–₯️

edit the password, group, shadow-password or shadow-group file

SYNOPSIS

vipw [options]

vigr [options]

DESCRIPTION

The vipw and vigr commands edit the files /etc/passwd and /etc/group, respectively. With the -s flag, they will edit the shadow versions of those files, /etc/shadow and /etc/gshadow, respectively. The programs will set the appropriate locks to prevent file corruption. When looking for an editor, the programs will first try the environment variable $VISUAL, then the environment variable $EDITOR, and finally the default editor, vi(1).

OPTIONS

The options which apply to the vipw and vigr commands are:

-g, –group

Edit group database.

-h, –help

Display help message and exit.

-p, –passwd

Edit passwd database.

-q, –quiet

Quiet mode.

-R, –root CHROOT_DIR

Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. Only absolute paths are supported.

-s, –shadow

Edit shadow or gshadow database.

ENVIRONMENT

VISUAL

Editor to be used.

EDITOR

Editor to be used if VISUAL is not set.

FILES

/etc/group

Group account information.

/etc/gshadow

Secure group account information.

/etc/passwd

User account information.

/etc/shadow

Secure user account information.

SEE ALSO

vi(1), group(5), gshadow(5) , passwd(5), , shadow(5).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

180 - Linux cli command update-dictcommon-hunspell

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-dictcommon-hunspell and provides detailed information about the command update-dictcommon-hunspell, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-dictcommon-hunspell.

NAME πŸ–₯️ update-dictcommon-hunspell πŸ–₯️

dictcommon-hunspell - rebuild hunspell database and emacsen stuff

SYNOPSIS

update-dictcommon-hunspell

DESCRIPTION

WARNING: Not to be used from the command line unless you know very well what you are doing.

This script, when called from hunspell dict package postinst or postrm will rebuild hunspell database as well as squirrelmail and emacsen stuff.

SEE ALSO

The dictionaries-common policy

AUTHORS

Rafael Laboissiere, Agustin Martin

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

181 - Linux cli command tc-bfifo

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-bfifo and provides detailed information about the command tc-bfifo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-bfifo.

NAME πŸ–₯️ tc-bfifo πŸ–₯️

Packet limited First In, First Out queue

bfifo - Byte limited First In, First Out queue

SYNOPSIS

tc qdisc … add pfifo [ limit packets ]

tc qdisc … add bfifo [ limit bytes ]

DESCRIPTION

The pfifo and bfifo qdiscs are unadorned First In, First Out queues. They are the simplest queues possible and therefore have no overhead. pfifo constrains the queue size as measured in packets. bfifo does so as measured in bytes.

Like all non-default qdiscs, they maintain statistics. This might be a reason to prefer pfifo or bfifo over the default.

ALGORITHM

A list of packets is maintained, when a packet is enqueued it gets inserted at the tail of a list. When a packet needs to be sent out to the network, it is taken from the head of the list.

If the list is too long, no further packets are allowed on. This is called ’tail drop'.

PARAMETERS

limit
Maximum queue size. Specified in bytes for bfifo, in packets for pfifo. For pfifo, defaults to the interface txqueuelen, as specified with ip(8). The range for this parameter is [0, UINT32_MAX].

For bfifo, it defaults to the txqueuelen multiplied by the interface MTU. The range for this parameter is [0, UINT32_MAX] bytes.

Note: The link layer header was considered when counting packets length.

OUTPUT

The output of tc -s qdisc ls contains the limit, either in packets or in bytes, and the number of bytes and packets actually sent. An unsent and dropped packet only appears between braces and is not counted as ‘Sent’.

In this example, the queue length is 100 packets, 45894 bytes were sent over 681 packets. No packets were dropped, and as the pfifo queue does not slow down packets, there were also no overlimits:

# tc -s qdisc ls dev eth0
qdisc pfifo 8001: dev eth0 limit 100p
 Sent 45894 bytes 681 pkts (dropped 0, overlimits 0)

If a backlog occurs, this is displayed as well.

SEE ALSO

tc(8)

AUTHORS

Alexey N. Kuznetsov, <[email protected]>

This manpage maintained by bert hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

182 - Linux cli command vfs_fruit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_fruit and provides detailed information about the command vfs_fruit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_fruit.

NAME πŸ–₯️ vfs_fruit πŸ–₯️

Enhanced OS X and Netatalk interoperability

SYNOPSIS

vfs objects = fruit

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_fruit module provides enhanced compatibility with Apple SMB clients and interoperability with a Netatalk 3 AFP fileserver.

The module should be stacked with vfs_catia if enabling character conversion and must be stacked with vfs_streams_xattr, see the example section for the correct config.

The module enables alternate data streams (ADS) support for a share, intercepts the OS X special streams “AFP_AfpInfo” and “AFP_Resource” and handles them in a special way. All other named streams are deferred to vfs_streams_xattr which must be loaded together with vfs_fruit.

Be careful when mixing shares with and without vfs_fruit. OS X clients negotiate SMB2 AAPL protocol extensions on the first tcon, so mixing shares with and without fruit will globally disable AAPL if the first tcon is without fruit.

Having shares with ADS support enabled for OS X client is worthwhile because it resembles the behaviour of Apples own SMB server implementation and it avoids certain severe performance degradations caused by Sambas case sensitivity semantics.

The OS X metadata and resource fork stream can be stored in a way compatible with Netatalk 3 by setting fruit:resource = file and fruit:metadata = netatalk.

OS X maps NTFS illegal characters to the Unicode private range in SMB requests. By setting fruit:encoding = native, all mapped characters are converted to native ASCII characters.

Finally, share access modes are optionally checked against Netatalk AFP sharing modes by setting fruit:locking = netatalk.

This module is not stackable other than described in this manpage.

GLOBAL OPTIONS

The following options must be set in the global smb.conf section and wont take effect when set per share.

fruit:aapl = yes | no

A global option whether to enable Apples SMB2+ extension codenamed AAPL. Default yes. This extension enhances several deficiencies when connecting from Macs:

Β·

directory enumeration is enriched with Mac relevant filesystem metadata (UNIX mode, FinderInfo, resource fork size and effective permission), as a result the Mac client doesnt need to fetch this metadata individually per directory entry resulting in an often tremendous performance increase.

Β·

The ability to query and modify the UNIX mode of directory entries.

Theres a set of per share options that come into play when fruit:aapl is enabled. These options, listed below, can be used to disable the computation of specific Mac metadata in the directory enumeration context, all are enabled by default:

Β·

readdir_attr:aapl_rsize = yes | no

Β·

readdir_attr:aapl_finder_info = yes | no

Β·

readdir_attr:aapl_max_access = yes | no

See below for a description of these options.

fruit:nfs_aces = yes | no

A global option whether support for querying and modifying the UNIX mode of directory entries via NFS ACEs is enabled, default yes.

fruit:copyfile = yes | no

A global option whether to enable OS X specific copychunk ioctl that requests a copy of a whole file along with all attached metadata.

WARNING: the copyfile request is blocking the client while the server does the copy.

The default is no.

fruit:model = MacSamba

This option defines the model string inside the AAPL extension and will determine the appearance of the icon representing the Samba server in the Finder window.

The default is MacSamba.

OPTIONS

The following options can be set either in the global smb.conf section or per share.

fruit:resource = [ file | xattr | stream ]

Controls where the OS X resource fork is stored.

Due to a spelling bug in all Samba versions older than 4.6.0, this option can also be given as fruit:ressource, ie with two s.

Settings:

Β·

file (default) - use a ._ AppleDouble file compatible with OS X and Netatalk

Β·

xattr - use a xattr, requires a filesystem with large xattr support and a file IO API compatible with xattrs, this boils down to Solaris and derived platforms and ZFS

Β·

stream (experimental) - pass the stream on to the next module in the VFS stack. Warning: this option should not be used with the streams_xattr module due to the extended attributes size limitations of most filesystems.

fruit:time machine = [ yes | no ]

Controls if Time Machine support via the FULLSYNC volume capability is advertised to clients.

Β·

yes - Enables Time Machine support for this share. Also registers the share with mDNS in case Samba is built with mDNS support.

Β·

no (default) Disables advertising Time Machine support.

This option enforces the following settings per share (or for all shares if enabled globally):

Β·

durable handles = yes

Β·

kernel oplocks = no

Β·

kernel share modes = no

Β·

posix locking = no

fruit:time machine max size = SIZE [K|M|G|T|P]

Useful for Time Machine: limits the reported disksize, thus preventing Time Machine from using the whole real disk space for backup. The option takes a number plus an optional unit.

IMPORTANT: This is an approximated calculation that only takes into account the contents of Time Machine sparsebundle images. Therefore you MUST NOT use this volume to store other content when using this option, because it would NOT be accounted.

The calculation works by reading the band size from the Info.plist XML file of the sparsebundle, reading the bands/ directory counting the number of band files, and then multiplying one with the other.

fruit:metadata = [ stream | netatalk ]

Controls where the OS X metadata stream is stored:

Β·

netatalk (default) - use Netatalk compatible xattr

Β·

stream - pass the stream on to the next module in the VFS stack

fruit:locking = [ netatalk | none ]

Β·

none (default) - no cross protocol locking

Β·

netatalk - use cross protocol locking with Netatalk

fruit:encoding = [ native | private ]

Controls how the set of illegal NTFS ASCII character, commonly used by OS X clients, are stored in the filesystem.

Important: this is known to not fully work with fruit:metadata=stream or fruit:resource=stream.

Β·

private (default) - store characters as encoded by the OS X client: mapped to the Unicode private range

Β·

native - store characters with their native ASCII value. Important: this option requires the use of vfs_catia in the VFS module stack as shown in the examples section.

fruit:veto_appledouble = yes | no

Note: this option only applies when fruit:resource is set to file (the default).

When fruit:resource is set to file, vfs_fruit may create ._ AppleDouble files. This options controls whether these ._ AppleDouble files are vetoed which prevents the client from accessing them.

Vetoing ._ files may break some applications, e.g. extracting Mac ZIP archives from Mac clients fails, because they contain ._ files. rsync will also be unable to sync files beginning with underscores, as the temporary files it uses for these will start with ._ and so cannot be created.

Setting this option to false will fix this, but the abstraction leak of exposing the internally created ._ files may have other unknown side effects.

The default is yes.

fruit:posix_rename = yes | no

Whether to enable POSIX directory rename behaviour for OS X clients. Without this, directories cant be renamed if any client has any file inside it (recursive!) open.

The default is yes.

readdir_attr:aapl_rsize = yes | no

Return resource fork size in SMB2 FIND responses.

The default is yes.

readdir_attr:aapl_finder_info = yes | no

Return FinderInfo in SMB2 FIND responses.

The default is yes.

readdir_attr:aapl_max_access = yes | no

Return the users effective maximum permissions in SMB2 FIND responses. This is an expensive computation, setting this to off pretends the use has maximum effective permissions.

The default is yes.

fruit:wipe_intentionally_left_blank_rfork = yes | no

Whether to wipe Resource Fork data that matches the special 286 bytes sized placeholder blob that macOS client create on occasion. The blob contains a string β€œThis resource fork intentionally left blank”, the remaining bytes being mostly zero. There being no one use of this data, it is probably safe to discard it. When this option is enabled, this module truncates the Resource Fork stream to 0 bytes.

The default is no.

fruit:delete_empty_adfiles = yes | no

Whether to delete empty AppleDouble files. Empty means that the resource fork entry in the AppleDouble files is of size 0, or the size is exactly 286 bytes and the content matches a special boilerplate resource fork created my macOS.

The default is no.

fruit:zero_file_id = yes | no

Whether to return zero to queries of on-disk file identifier if the client has negotiated AAPL.

Mac applications and / or the Mac SMB client code expect the on-disk file identifier to have the semantics of HFS+ Catalog Node Identifier (CNID). Samba provides File-IDs based on a files inode number which gets recycled across file creation and deletion and can therefore not be used for Mac client. Returning a file identifier of zero causes the Mac client to stop using and trusting the file id returned from the server.

The default is yes.

fruit:convert_adouble = yes | no

Whether an attempt shall be made to convert ._ AppleDouble sidecar files to native streams (xattrs when using vfs_streams_xattr). The main use case for this conversion is transparent migration from a server config without streams support where the macOS client created those AppleDouble sidecar files.

The default is yes.

fruit:validate_afpinfo = yes | no

Apple clients use the AFP_AfpInfo stream to store structured file metadata. As part of the marshaled data stored in the stream the first eight bytes contain some header information. Apples SMB server as well as Samba will validate this header bytes processing a client write request on this stream, and, if the validation fails, fail the write. While this validation is generally correct, in some data migration scenarios clients may try to migrate data from 3rd-party SMB servers to Samba servers where the header information is broken for whatever reason. To allow migration and header fix-up in these scenarios, the validation can be temporarily disabled by setting this option to no.

The default is yes.

EXAMPLES

    [share]
	vfs objects = catia fruit streams_xattr
	fruit:resource = file
	fruit:metadata = netatalk
	fruit:locking = netatalk
	fruit:encoding = native

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

183 - Linux cli command wpa_action

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wpa_action and provides detailed information about the command wpa_action, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wpa_action.

NAME πŸ–₯️ wpa_action πŸ–₯️

wpa_cli action script

SYNOPSIS

wpa_action IFACE ACTION

DESCRIPTION

wpa_action is a shell script designed to control the ifupdown framework according to ACTION events received from wpa_supplicant. wpa_cli receives CONNECTED and DISCONNECTED events from wpa_supplicant via the crtl_iface socket and gives the ACTION event to the wpa_action script as an argument, along with the IFACE to be acted upon.

wpa_action also receives an environment variable from wpa_cli, WPA_ID_STR, containing an alphanumeric identification string for the CURRENT network block. WPA_ID_STR is provided by the ‘id_str’ network block option of wpa_supplicant.conf, and provides a means to map the ACTION to a LOGICAL interface configured in the interfaces file.

If either the ifupdown interfaces or ifstate file cannot be found, wpa_action will exit silently (status 0). wpa_action will search the following locations for their existence:

	/etc/network/run/ifstate
	/run/network/ifstate
	/etc/network/interfaces

IFACE

Network interface to be acted upon, for example ’eth1’ or ‘wlan0’.

ACTION

An ACTION to be performed on the IFACE.

CONNECTED
wpa_supplicant has completed authentication. ifup IFACE=WPA_ID_STR is invoked and the action is logged to syslog. Network settings for the LOGICAL interface WPA_ID_STR are applied.

DISCONNECTED
wpa_supplicant has detected disconnection. ifdown IFACE=WPA_ID_STR is invoked and the action is logged to syslog. Network settings for the LOGICAL interface WPA_ID_STR are undone.

stop
The ‘stop’ ACTION is a called manually by the user, to stop the wpa_cli daemon, invoke ifdown IFACE (if the IFACE is present in the ifstate file) and stop the wpa_supplicant daemon.

reload
The ‘reload’ ACTION can be used to reload the wpa_supplicant configuration file specified by wpa-roam . ‘restart’ is a synonym for ‘reload’ and can be used equally. The action is logged to /var/log/wpa_action.log.

ENVIRONMENT

An alphanumeric identification string provided by the ‘id_str’ network block option of wpa_supplicant.conf is exported to wpa_action as an environment variable, WPA_ID_STR. When ‘id_str’ is not configured for the CURRENT network block, ‘default’ is substituted for the absent WPA_ID_STR environment variable.

A unique network identifier, WPA_ID, is exported to wpa_action. It is the number assigned to the CURRENT wpa_supplicant network block (network_id).

USAGE

The only reasons for wpa_action to be explicitly executed by the user is to stop wpa_cli from controlling ifupdown or reload the wpa_supplicant.conf file after editing.

wpa_action eth1 stop

Otherwise, wpa_action is given as an argument to a wpa_cli daemon.

wpa_cli -i eth1 -a /usr/sbin/wpa_action -B

This can be done by using the wpa-roam option in the interfaces file. wpa-roam takes one argument, a user provided wpa_supplicant.conf file.

The inet METHOD must be ‘manual’ for this interface, as it will be configured according to wpa_cli action events. Also supply a ‘default’ interfaces stanza using the dhcp inet METHOD so that networks without an ‘id_str’ option can fallback to attempting to receive an ip via dhcp. If one or more networks requires additional network configuration, provide an unique ‘id_str’ for each network, and an interfaces stanza using the ‘id_str’ value as a LOGICAL interface. The following interfaces file is configured to use dhcp for any network without an ‘id_str’, a static ip for the network with an ‘id_str’ of ‘home_static’ and dhcp plus an additional post-up command for the network with an ‘id_str’ of ‘uni’.

An example wpa_supplicant.conf configured to roam between 3 different networks:

network={ ssid=“foo” id_str=“uni” key_mgmt=NONE }

network={
	ssid="bar"
	id_str="home_static"
	psk=123456789...
}

network={
	ssid=""
	key_mgmt=NONE
}

The corresponding interfaces file would contain LOGICAL interfaces, that correlate to each unique ‘id_str’ provided by the configuration file:

iface eth1 inet manual wpa-driver wext wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

iface uni inet dhcp

iface home_static inet static
        address 192.168.0.20
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

SEE ALSO

wpa_cli(8), wpa_supplicant(8), wpa_supplicant.conf(5), ifup(8), interfaces(5)

AUTHOR

This manual page was written by Kel Modderman <[email protected]> for the Debian GNU system (but may be used by others).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

184 - Linux cli command update-initramfs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-initramfs and provides detailed information about the command update-initramfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-initramfs.

NAME πŸ–₯️ update-initramfs πŸ–₯️

initramfs - generate an initramfs image

SYNOPSIS

update-initramfs {-c|-d|-u} [-k version] [-v] [-b directory]
update-initramfs -h

DESCRIPTION

The update-initramfs script manages your initramfs images on your local box. It keeps track of the existing initramfs archives in /boot. There are three modes of operation create, update or delete. You must at least specify one of those modes.

The initramfs is a gzipped cpio archive. At boot time, the kernel unpacks that archive into RAM disk, mounts and uses it as initial root file system. All finding of the root device happens in this early userspace.

OPTIONS

-k version
Set the specific kernel version for whom the initramfs will be generated. For example the output of uname -r for your currently running kernel. This argument is optional for update. The default is the latest kernel version.

The use of “all” for the version string specifies that update-initramfs should operate on all installed kernel versions (with -c), or on all installed kernel versions that already have an initramfs (with -d or -u).

-c
This mode creates a new initramfs.

-u
This mode updates an existing initramfs.

-d
This mode deletes an existing initramfs.

-v
This option increases the amount of information you are given during the chosen action.

-b directory
Set an different bootdir for the image creation.

-h, –help
Print a short help page describing the available options in update-initramfs.

EXAMPLES

Update the initramfs of the newest kernel:

update-initramfs -u

Create the initramfs for a specific kernel:

update-initramfs -c -k 2.6.18-1-686

FILES

/etc/initramfs-tools/update-initramfs.conf

AUTHOR

The initramfs-tools are written by Maximilian Attems <[email protected]>, Jeff Bailey <[email protected]> and numerous others.

SEE ALSO

initramfs.conf(5), initramfs-tools(7), mkinitramfs(8), lsinitramfs(8).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

185 - Linux cli command systemd-tmpfiles-setup.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tmpfiles-setup.service and provides detailed information about the command systemd-tmpfiles-setup.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tmpfiles-setup.service.

NAME πŸ–₯️ systemd-tmpfiles-setup.service πŸ–₯️

tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer - Create, delete, and clean up files and directories

SYNOPSIS

systemd-tmpfiles [OPTIONS…] [CONFIGFILE…]

System units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-setup-dev-early.service

systemd-tmpfiles-setup-dev.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

User units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

DESCRIPTION

systemd-tmpfiles creates, deletes, and cleans up files and directories, using the configuration file format and location specified in tmpfiles.d(5). Historically, it was designed to manage volatile and temporary files, as the name suggests, but it provides generic file management functionality and can be used to manage any kind of files. It must be invoked with one or more commands –create, –remove, and –clean, to select the respective subset of operations.

If invoked with no arguments, directives from the configuration files found in the directories specified by tmpfiles.d(5). When invoked with positional arguments, if option **–replace=**PATH is specified, arguments specified on the command line are used instead of the configuration file PATH. Otherwise, just the configuration specified by the command line arguments is executed. If the string “-” is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.

System services (systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service) invoke systemd-tmpfiles to create system files and to perform system wide cleanup. Those services read administrator-controlled configuration files in tmpfiles.d/ directories. User services (systemd-tmpfiles-setup.service, systemd-tmpfiles-clean.service) also invoke systemd-tmpfiles, but it reads a separate set of files, which includes user-controlled files under ~/.config/user-tmpfiles.d/ and ~/.local/share/user-tmpfiles.d/, and administrator-controlled files under /usr/share/user-tmpfiles.d/. Users may use this to create and clean up files under their control, but the system instance performs global cleanup and is not influenced by user configuration. Note that this means a time-based cleanup configured in the system instance, such as the one typically configured for /tmp/, will thus also affect files created by the user instance if they are placed in /tmp/, even if the user instances time-based cleanup is turned off.

To re-apply settings after configuration has been modified, simply restart systemd-tmpfiles-clean.service, which will apply any settings which can be safely executed at runtime. To debug systemd-tmpfiles, it may be useful to invoke it directly from the command line with increased log level (see $SYSTEMD_LOG_LEVEL below).

COMMANDS AND OPTIONS

The following commands are understood:

–create

If this command is passed, all files and directories marked with f, F, w, d, D, v, p, L, c, b, m in the configuration files are created or written to. Files and directories marked with z, Z, t, T, a, and A have their ownership, access mode and security labels set.

–clean

If this command is passed, all files and directories with an age parameter configured will be cleaned up.

–remove

If this command is passed, the contents of directories marked with D or R, and files or directories themselves marked with r or R are removed unless an exclusive or shared BSD lock is taken on them (see flock(2)).

–purge

If this option is passed, all files and directories marked for creation by the tmpfiles.d/ files specified on the command line will be deleted. Specifically, this acts on all files and directories marked with f, F, d, D, v, q, Q, p, L, c, b, C, w, e. If this switch is used at least one tmpfiles.d/ file (or - for standard input) must be specified on the command line or the invocation will be refused, for safety reasons (as otherwise much of the installed system files might be removed).

The primary usecase for this option is to automatically remove files and directories that originally have been created on behalf of an installed packaged at package removal time.

It is recommended to first run this command in combination with –dry-run (see below) to verify which files and directories will be deleted.

Warning! This is usually not the command you want! In most cases –remove is what you are looking for.

Added in version 256.

–user

Execute “user” configuration, i.e. tmpfiles.d files in user configuration directories.

Added in version 236.

–boot

Also execute lines with an exclamation mark. Lines that are not safe to be executed on a running system may be marked in this way. systemd-tmpfiles is executed in early boot with –boot specified and will execute those lines. When invoked again later, it should be called without –boot.

Added in version 209.

–graceful

Ignore configuration lines pertaining to unknown users or groups. This option is intended to be used in early boot before all users or groups have been created.

Added in version 254.

–dry-run

Process the configuration and print what operations would be performed, but dont actually change anything in the file system.

Added in version 256.

**–prefix=**path

Only apply rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 212.

**–exclude-prefix=**path

Ignore rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 207.

-E

A shortcut for “–exclude-prefix=/dev –exclude-prefix=/proc –exclude-prefix=/run –exclude-prefix=/sys”, i.e. exclude the hierarchies typically backed by virtual or memory file systems. This is useful in combination with –root=, if the specified directory tree contains an OS tree without these virtual/memory file systems mounted in, as it is typically not desirable to create any files and directories below these subdirectories if they are supposed to be overmounted during runtime.

Added in version 247.

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths.

When this option is used, the libc Name Service Switch (NSS) is bypassed for resolving users and groups. Instead the files /etc/passwd and /etc/group inside the alternate root are read directly. This means that users/groups not listed in these files will not be resolved, i.e. LDAP NIS and other complex databases are not considered.

Consider combining this with -E to ensure the invocation does not create files or directories below mount points in the OS image operated on that are typically overmounted during runtime.

Added in version 212.

**–image=**image

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Implies -E.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–replace=**PATH

When this option is given, one or more positional arguments must be specified. All configuration files found in the directories listed in tmpfiles.d(5) will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file PATH.

This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority.

Added in version 238.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

It is possible to combine –create, –clean, and –remove in one invocation (in which case removal and cleanup are executed before creation of new files). For example, during boot the following command line is executed to ensure that all temporary and volatile directories are removed and created according to the configuration file:

systemd-tmpfiles –remove –create

CREDENTIALS

systemd-tmpfiles supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

tmpfiles.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other tmpfiles.d/ drop-in configuration file. If this credential is passed it is processed after all of the drop-in files read from the file system. The lines in the credential can hence augment existing lines of the OS, but not override them.

Added in version 252.

Note that by default the systemd-tmpfiles-setup.service unit file (and related unit files) is set up to inherit the “tmpfiles.extra” credential from the service manager.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

UNPRIVILEGED –CLEANUP OPERATION

systemd-tmpfiles tries to avoid changing the access and modification times on the directories it accesses, which requires CAP_FOWNER privileges. When running as non-root, directories which are checked for files to clean up will have their access time bumped, which might prevent their cleanup.

EXIT STATUS

On success, 0 is returned. If the configuration was syntactically invalid (syntax errors, missing arguments, …), so some lines had to be ignored, but no other errors occurred, 65 is returned (EX_DATAERR from /usr/include/sysexits.h). If the configuration was syntactically valid, but could not be executed (lack of permissions, creation of files in missing directories, invalid contents when writing to /sys/ values, …), 73 is returned (EX_CANTCREAT from /usr/include/sysexits.h). Otherwise, 1 is returned (EXIT_FAILURE from /usr/include/stdlib.h).

Note: when creating items, if the target already exists, but is of the wrong type or otherwise does not match the requested state, and forced operation has not been requested with “+”, a message is emitted, but the failure is otherwise ignored.

SEE ALSO

systemd(1), tmpfiles.d(5)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

186 - Linux cli command xtables-monitor

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xtables-monitor and provides detailed information about the command xtables-monitor, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xtables-monitor.

NAME πŸ–₯️ xtables-monitor πŸ–₯️

monitor β€” show changes to rule set and trace-events

SYNOPSIS

xtables-monitor [-t] [-e] [-4||-6]

.SH DESCRIPTION

xtables-monitor is used to monitor changes to the ruleset or to show rule evaluation events for packets tagged using the TRACE target. xtables-monitor will run until the user aborts execution, typically by using CTRL-C.

OPTIONS

-e, –event

Watch for updates to the rule set.
Updates include creation of new tables, chains and rules and the name of the program that caused the rule update.

-t, –trace
Watch for trace events generated by packets that have been tagged using the TRACE target.

-4
Restrict output to IPv4.

-6
Restrict output to IPv6.

EXAMPLE OUTPUT

xtables-monitor –trace
1 TRACE: 2 fc475095 raw:PREROUTING:rule:0x3:CONTINUE -4 -t raw -A PREROUTING -p icmp -j TRACE 2 PACKET: 0 fc475095 IN=lo LL=0x304 0000000000000000000000000800 SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x0 TTL=64 ID=38349DF 3 TRACE: 2 fc475095 raw:PREROUTING:return: 4 TRACE: 2 fc475095 raw:PREROUTING:policy:ACCEPT 5 TRACE: 2 fc475095 filter:INPUT:return: 6 TRACE: 2 fc475095 filter:INPUT:policy:DROP 7 TRACE: 2 0df9d3d8 raw:PREROUTING:rule:0x3:CONTINUE -4 -t raw -A PREROUTING -p icmp -j TRACE

The first line shows a packet entering rule set evaluation. The protocol number is shown (AF_INET in this case), then a packet identifier number that allows one to correlate messages coming from rule set evaluation of this packet. After this, the rule that was matched by the packet is shown. This is the TRACE rule that turns on tracing events for this packet.

The second line dumps information about the packet. Incoming interface and packet headers such as source and destination addresses are shown.

The third line shows that the packet completed traversal of the raw table PREROUTING chain, and is returning, followed by use of the chain policy to make accept/drop decision (the example shows accept being applied). The fifth line shows that the packet leaves the filter INPUT chain, i.e., no rules in the filter table’s INPUT chain matched the packet. It then got DROPPED by the policy of the INPUT table, as shown by line six. The last line shows another packet arriving – the packet id is different.

When using the TRACE target, it is usually a good idea to only select packets that are relevant, for example via

iptables -t raw -A PREROUTING -p tcp --dport 80 --syn -m limit --limit 1/s -j TRACE

xtables-monitor –event
1 EVENT: nft: NEW table: table filter ip flags 0 use 4 handle 444 2 EVENT: # nft: ip filter INPUT use 2 type filter hook input prio 0 policy drop packets 0 bytes 0 3 EVENT: # nft: ip filter FORWARD use 0 type filter hook forward prio 0 policy accept packets 0 bytes 0 4 EVENT: # nft: ip filter OUTPUT use 0 type filter hook output prio 0 policy accept packets 0 bytes 0 5 EVENT: -4 -t filter -N TCP 6 EVENT: -4 -t filter -A TCP -s 192.168.0.0/16 -p tcp -m tcp –dport 22 -j ACCEPT 7 EVENT: -4 -t filter -A TCP -p tcp -m multiport –dports 80,443 -j ACCEPT 8 EVENT: -4 -t filter -A INPUT -p tcp -j TCP 9 EVENT: -4 -t filter -A INPUT -m conntrack –ctstate RELATED,ESTABLISHED -j ACCEPT 10 NEWGEN: GENID=13904 PID=25167 NAME=iptables-nftables-restore

This example shows event monitoring. Line one shows creation of a table (filter in this case), followed by three base hooks INPUT, FORWARD and OUTPUT. The iptables-nftables tools all create tables and base chains automatically when needed, so this is expected when a table was not yet initialized or when it is re-created from scratch by iptables-nftables-restore. Line five shows a new user-defined chain (TCP) being added, followed by addition a few rules. the last line shows that a new ruleset generation has become active, i.e., the rule set changes are now active. This also lists the process id and the program name.

LIMITATIONS

xtables-monitor only works with rules added using iptables-nftables, rules added using iptables-legacy cannot be monitored.

BUGS

Should be reported or by sending email to [email protected] or by filing a report on https://bugzilla.netfilter.org/.

SEE ALSO

iptables(8), xtables(8), nft(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

187 - Linux cli command systemd-sysext

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-sysext and provides detailed information about the command systemd-sysext, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-sysext.

NAME πŸ–₯️ systemd-sysext πŸ–₯️

sysext, systemd-sysext.service, systemd-confext, systemd-confext.service - Activates System Extension Images

SYNOPSIS

systemd-sysext [OPTIONS…] COMMAND

systemd-sysext.service

systemd-confext [OPTIONS…] COMMAND

systemd-confext.service

DESCRIPTION

systemd-sysext activates/deactivates system extension images. System extension images may – dynamically at runtime β€” extend the /usr/ and /opt/ directory hierarchies with additional files. This is particularly useful on immutable system images where a /usr/ and/or /opt/ hierarchy residing on a read-only file system shall be extended temporarily at runtime without making any persistent modifications.

System extension images should contain files and directories similar in fashion to regular operating system tree. When one or more system extension images are activated, their /usr/ and /opt/ hierarchies are combined via “overlayfs” with the same hierarchies of the host OS, and the host /usr/ and /opt/ overmounted with it (“merging”). When they are deactivated, the mount point is disassembled β€” again revealing the unmodified original host version of the hierarchy (“unmerging”). Merging thus makes the extensions resources suddenly appear below the /usr/ and /opt/ hierarchies as if they were included in the base OS image itself. Unmerging makes them disappear again, leaving in place only the files that were shipped with the base OS image itself.

Files and directories contained in the extension images outside of the /usr/ and /opt/ hierarchies are not merged, and hence have no effect when included in a system extension image. In particular, files in the /etc/ and /var/ included in a system extension image will not appear in the respective hierarchies after activation.

System extension images are strictly read-only by default. On mutable host file systems, /usr/ and /opt/ hierarchies become read-only while extensions are merged, unless mutability is enabled. Mutability may be enabled via the –mutable= option; see “Mutability” below for more information.

System extensions are supposed to be purely additive, i.e. they are supposed to include only files that do not exist in the underlying basic OS image. However, the underlying mechanism (overlayfs) also allows overlaying or removing files, but it is recommended not to make use of this.

System extension images may be provided in the following formats:

1.

Plain directories or btrfs subvolumes containing the OS tree

2.

Disk images with a GPT disk label, following the Discoverable Partitions Specification[1]

3.

Disk images lacking a partition table, with a naked Linux file system (e.g. erofs, squashfs or ext4)

These image formats are the same ones that systemd-nspawn(1) supports via its –directory=/–image= switches and those that the service manager supports via RootDirectory=/RootImage=. Similar to them they may optionally carry Verity authentication information.

System extensions are searched for in the directories /etc/extensions/, /run/extensions/ and /var/lib/extensions/. The first two listed directories are not suitable for carrying large binary images, however are still useful for carrying symlinks to them. The primary place for installing system extensions is /var/lib/extensions/. Any directories found in these search directories are considered directory based extension images; any files with the .raw suffix are considered disk image based extension images. When invoked in the initrd, the additional directory /.extra/sysext/ is included in the directories that are searched for extension images. Note however, that by default a tighter image policy applies to images found there, though, see below. This directory is populated by systemd-stub(7) with extension images found in the systems EFI System Partition.

During boot OS extension images are activated automatically, if the systemd-sysext.service is enabled. Note that this service runs only after the underlying file systems where system extensions may be located have been mounted. This means they are not suitable for shipping resources that are processed by subsystems running in earliest boot. Specifically, OS extension images are not suitable for shipping system services or systemd-sysusers(8) definitions. See the Portable Services[2] page for a simple mechanism for shipping system services in disk images, in a similar fashion to OS extensions. Note the different isolation on these two mechanisms: while system extension directly extend the underlying OS image with additional files that appear in a way very similar to as if they were shipped in the OS image itself and thus imply no security isolation, portable services imply service level sandboxing in one way or another. The systemd-sysext.service service is guaranteed to finish start-up before basic.target is reached; i.e. at the time regular services initialize (those which do not use DefaultDependencies=no), the files and directories system extensions provide are available in /usr/ and /opt/ and may be accessed.

Note that there is no concept of enabling/disabling installed system extension images: all installed extension images are automatically activated at boot. However, you can place an empty directory named like the extension (no .raw) in /etc/extensions/ to “mask” an extension with the same name in a system folder with lower precedence.

A simple mechanism for version compatibility is enforced: a system extension image must carry a /usr/lib/extension-release.d/extension-release.NAME file, which must match its image name, that is compared with the host os-release file: the contained ID= fields have to match unless “_any” is set for the extension. If the extension ID= is not “_any”, the SYSEXT_LEVEL= field (if defined) has to match. If the latter is not defined, the VERSION_ID= field has to match instead. If the extension defines the ARCHITECTURE= field and the value is not “_any” it has to match the kernels architecture reported by uname(2) but the used architecture identifiers are the same as for ConditionArchitecture= described in systemd.unit(5). EXTENSION_RELOAD_MANAGER= can be set to 1 if the extension requires a service manager reload after application of the extension. Note that for the reasons mentioned earlier: Portable Services[2] remain the recommended way to ship system services. System extensions should not ship a /usr/lib/os-release file (as that would be merged into the host /usr/ tree, overriding the host OS version data, which is not desirable). The extension-release file follows the same format and semantics, and carries the same content, as the os-release file of the OS, but it describes the resources carried in the extension image.

The systemd-confext concept follows the same principle as the systemd-sysext(1) functionality but instead of working on /usr and /opt, confext will extend only /etc. Files and directories contained in the confext images outside of the /etc/ hierarchy are not merged, and hence have no effect when included in the image. Formats for these images are of the same as sysext images. The merged hierarchy will be mounted with “nosuid” and (if not disabled via –noexec=false) “noexec”.

Just like sysexts, confexts are strictly read-only by default. Merging confexts on mutable host file systems will result in /etc/ becoming read-only. As with sysexts, mutability can be enabled via the –mutable= option. Refer to “Mutability” below for more information.

Confexts are looked for in the directories /run/confexts/, /var/lib/confexts/, /usr/lib/confexts/ and /usr/local/lib/confexts/. The first listed directory is not suitable for carrying large binary images, however is still useful for carrying symlinks to them. The primary place for installing configuration extensions is /var/lib/confexts/. Any directories found in these search directories are considered directory based confext images; any files with the .raw suffix are considered disk image based confext images.

Again, just like sysext images, the confext images will contain a /etc/extension-release.d/extension-release.NAME file, which must match the image name (with the usual escape hatch of the user.extension-release.strict xattr(7)), and again with content being one or more of ID=, VERSION_ID=, and CONFEXT_LEVEL. Confext images will then be checked and matched against the base OS layer.

USES

The primary use case for system images are immutable environments where debugging and development tools shall optionally be made available, but not included in the immutable base OS image itself (e.g. strace(1) and gdb(1) shall be an optionally installable addition in order to make debugging/development easier). System extension images should not be misunderstood as a generic software packaging framework, as no dependency scheme is available: system extensions should carry all files they need themselves, except for those already shipped in the underlying host system image. Typically, system extension images are built at the same time as the base OS image β€” within the same build system.

Another use case for the system extension concept is temporarily overriding OS supplied resources with newer ones, for example to install a locally compiled development version of some low-level component over the immutable OS image without doing a full OS rebuild or modifying the nominally immutable image. (e.g. “install” a locally built package with DESTDIR=/var/lib/extensions/mytest make install && systemd-sysext refresh, making it available in /usr/ as if it was installed in the OS image itself.) This case works regardless if the underlying host /usr/ is managed as immutable disk image or is a traditional package manager controlled (i.e. writable) tree.

With systemd-confext one can perform runtime reconfiguration of OS services. Sometimes, there is a need to swap certain configuration parameter values or restart only a specific service without deployment of new code or a complete OS deployment. In other words, we want to be able to tie the most frequently configured options to runtime updateable flags that can be changed without a system reboot. This will help reduce servicing times when there is a need for changing the OS configuration. It also provides a reliable tool for managing configuration because all old configuration files disappear when the systemd-confext image is removed.

MUTABILITY

By default, merging system extensions on mutable host file systems will render /usr/ and /opt/ hierarchies read-only. Merging configuration extensions will have the same effect on /etc/. Mutable mode allows writes to these locations when extensions are merged.

The following modes are supported:

1.

disabled: Force immutable mode even if write routing directories exist below /var/lib/extensions.mutable/. This is the default.

2.

auto: Automatic mode. Mutability is disabled by default and only enabled if a corresponding write routing directory exists below /var/lib/extensions.mutable/.

3.

enabled: Force mutable mode and automatically create write routing directories below /var/lib/extensions.mutable/ when required.

4.

import: Force immutable mode like disabled above, but merge the contents of directories below /var/lib/extensions.mutable/ into the host file system.

5.

ephemeral: Force mutable mode like enabled above, but instead of using write routing directory below /var/lib/extensions.mutable/, systemd-sysext will use empty ephemeral directories. This means that the modifications made in the merged hierarchies will be gone when the hierarchies are unmerged.

6.

ephemeral-import: Force mutable mode like ephemeral above, but instead of ignoring the contents of write routing directories under /var/lib/extensions.mutable/, merge them into the host file system, like import does.

See “Options” below on specifying modes using the –mutable= command line option.

With exception of the ephemeral mode, the mutable mode routes writes to subdirectories in /var/lib/extensions.mutable/.

Writes to /usr/ are directed to /var/lib/extensions.mutable/usr/

writes to /opt/ are directed to /var/lib/extensions.mutable/opt/, and

writes to /etc/ land in /var/lib/extensions.mutable/etc/.

If usr/, opt/, or etc/ in /var/lib/extensions.mutable/ are symlinks, then writes are directed to the symlinks targets. Consequently, to retain mutability of a host file system, create symlinks

/var/lib/extensions.mutable/etc/ β†’ /etc/

/var/lib/extensions.mutable/usr/ β†’ /usr/

/var/lib/extensions.mutable/opt/ β†’ /opt/

to route writes back to the original base directory hierarchy.

Alternatively, a temporary file system may be mounted to /var/lib/extensions.mutable/, or symlinks in /var/lib/extensions.mutable/ may point to sub-directories on a temporary file system (e.g. below /tmp/) to only allow ephemeral changes. Note that this is not the same as ephemeral mode, because the temporary file system will still exist after unmerging.

Added in version 256.

COMMANDS

The following commands are understood by both the sysext and confext concepts:

status

When invoked without any command verb, or when status is specified the current merge status is shown, separately (for both /usr/ and /opt/ of sysext and for /etc/ of confext).

Added in version 248.

merge

Merges all currently installed system extension images into /usr/ and /opt/, by overmounting these hierarchies with an “overlayfs” file system combining the underlying hierarchies with those included in the extension images. This command will fail if the hierarchies are already merged. For confext, the merge happens into the /etc/ directory instead.

Added in version 248.

unmerge

Unmerges all currently installed system extension images from /usr/ and /opt/ for sysext and /etc/, for confext, by unmounting the “overlayfs” file systems created by merge prior.

Added in version 248.

refresh

A combination of unmerge and merge: if already mounted the existing “overlayfs” instance is unmounted temporarily, and then replaced by a new version. This command is useful after installing/removing system extension images, in order to update the “overlayfs” file system accordingly. If no system extensions are installed when this command is executed, the equivalent of unmerge is executed, without establishing any new “overlayfs” instance. Note that currently theres a brief moment where neither the old nor the new “overlayfs” file system is mounted. This implies that all resources supplied by a system extension will briefly disappear β€” even if it exists continuously during the refresh operation.

Added in version 248.

list

A brief list of installed extension images is shown.

Added in version 248.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

OPTIONS

–root=

Operate relative to the specified root directory, i.e. establish the “overlayfs” mount not on the top-level host /usr/ and /opt/ hierarchies for sysext or /etc/ for confext, but below some specified root directory.

Added in version 248.

–force

When merging system extensions into /usr/ and /opt/ for sysext and /etc/ for confext, ignore version incompatibilities, i.e. force merging regardless of whether the version information included in the images matches the host or not.

Added in version 248.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on system extension disk images. If not specified defaults to “root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent” for system extensions, i.e. only the root and /usr/ file systems in the image are used. For configuration extensions defaults to “root=verity+signed+encrypted+unprotected+absent”. When run in the initrd and operating on a system extension image stored in the /.extra/sysext/ directory a slightly stricter policy is used by default: “root=signed+absent:usr=signed+absent”, see above for details.

Added in version 254.

**–mutable=BOOL|auto|**import

Set mutable mode.

no

force immutable mode even with write routing directories present. This is the default.

Added in version 256.

auto

enable mutable mode individually for /usr/, /opt/, and /etc/ if write routing sub-directories or symlinks are present in /var/lib/extensions.mutable/; disable otherwise. See “Mutability” above for more information on write routing.

Added in version 256.

yes

force mutable mode. Write routing directories will be created in /var/lib/extensions.mutable/ if not present.

Added in version 256.

import

immutable mode, but with contents of write routing directories in /var/lib/extensions.mutable/ also merged into the host file system.

Added in version 256.

ephemeral

force mutable mode, but with contents of write routing directories in /var/lib/extensions.mutable/ being ignored, and modifications of the host file system being discarded after unmerge.

Added in version 256.

ephemeral-import

force mutable mode, with contents of write routing directories in /var/lib/extensions.mutable/ being merged into the host file system, but with the modifications made to the host file system being discarded after unmerge.

Added in version 256.

Added in version 256.

**–noexec=**BOOL

When merging configuration extensions into /etc/ the “MS_NOEXEC” mount flag is used by default. This option can be used to disable it.

Added in version 254.

–no-reload

When used with merge, unmerge or refresh, do not reload daemon after executing the changes even if an extension that is applied requires a reload via the EXTENSION_RELOAD_MANAGER= set to 1.

Added in version 255.

–no-pager

Do not pipe output into a pager.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

EXIT STATUS

On success, 0 is returned.

SEE ALSO

systemd(1), systemd-nspawn(1), systemd-stub(7), importctl(1)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

Portable Services

https://systemd.io/PORTABLE_SERVICES

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

188 - Linux cli command vfs_catia

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_catia and provides detailed information about the command vfs_catia, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_catia.

NAME πŸ–₯️ vfs_catia πŸ–₯️

translate illegal characters in Catia filenames

SYNOPSIS

vfs objects = catia

DESCRIPTION

This VFS module is part of the samba(7) suite.

The Catia CAD package commonly creates filenames that use characters that are illegal in CIFS filenames. The vfs_catia VFS module implements a character mapping so that these files can be shared with CIFS clients.

This module is stackable.

The parameter “catia:mappings” specifies the mapping on a per-character basis, see below.

OPTIONS

catia:mappings = SERVER_HEX_CHAR:CLIENT_HEX_CHAR

SERVER_HEX_CHAR specifies a 0x prefixed hexedecimal character code that, when included in a Samba server-side filename, will be mapped to CLIENT_HEX_CHAR for the CIFS client.

The same mapping occurs in the opposite direction. Multiple character mappings are separated by a comma.

EXAMPLES

Map server-side quotation-marks (") to client-side diaeresis (Β¨) on filenames in the [CAD] share:

    [CAD]
	path = /data/cad
	vfs objects = catia
	catia:mappings = 0x22:0xa8

Perform comprehensive mapping of common Catia filename characters:

    [CAD]
	path = /data/cad
	vfs objects = catia
	catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6

Server-side filename to be translated (Note that the path delimiter “/” is not used here):

a:a*a?a"a<a>a|a

Resulting filename, as seen by the client:

aÿa÷a€a¿a¨a«a»a¦a

CAVEATS

Character mapping must work in BOTH directions (server -> client and client -> server) to get unique and existing file names!

A NOT working example:

    [CAD]
	path = /data/cad
	vfs objects = catia
	catia:mappings = 0x3a:0x5f

Here the colon “:” is mapped to the underscore “_”.

Assuming a server-side filename “a:should_work”, which is translated to “a_should_work” for the client.

BUT the reverse mapping from client “a_should_work” to server will result in “a:should:work” - something like “file not found” will be returned.

VERSION

This man page is part of Samba versions from 3.5.0 to 4.0.6.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

New version written by Guenter Kukkukk [email protected]

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

189 - Linux cli command tc-nat

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-nat and provides detailed information about the command tc-nat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-nat.

NAME πŸ–₯️ tc-nat πŸ–₯️

stateless native address translation action

SYNOPSIS

tcaction nat DIRECTION OLD NEW

DIRECTION := { ingress | egress }

OLD := IPV4_ADDR_SPEC

NEW := IPV4_ADDR_SPEC

IPV4_ADDR_SPEC := { default | any | all | in_addr[/{prefix|netmask}]

DESCRIPTION

The nat action allows one to perform NAT without the overhead of conntrack, which is desirable if the number of flows or addresses to perform NAT on is large. This action is best used in combination with the u32 filter to allow for efficient lookups of a large number of stateless NAT rules in constant time.

OPTIONS

ingress
Translate destination addresses, i.e. perform DNAT.

egress
Translate source addresses, i.e. perform SNAT.

OLD
Specifies addresses which should be translated.

NEW
Specifies addresses which OLD should be translated into.

NOTES

The accepted address format in OLD and NEW is quite flexible. It may either consist of one of the keywords default, any or all, representing the all-zero IP address or a combination of IP address and netmask or prefix length separated by a slash (/) sign. In any case, the mask (or prefix length) value of OLD is used for NEW as well so that a one-to-one mapping of addresses is assured.

Address translation is done using a combination of binary operations. First, the original (source or destination) address is matched against the value of OLD. If the original address fits, the new address is created by taking the leading bits from NEW (defined by the netmask of OLD) and taking the remaining bits from the original address.

There is rudimental support for upper layer protocols, namely TCP, UDP and ICMP. While for the first two only checksum recalculation is performed, the action also takes care of embedded IP headers in ICMP packets by translating the respective address therein, too.

SEE ALSO

tc(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

190 - Linux cli command vfs_full_audit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_full_audit and provides detailed information about the command vfs_full_audit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_full_audit.

NAME πŸ–₯️ vfs_full_audit πŸ–₯️

record Samba VFS operations in the system log

SYNOPSIS

vfs objects = full_audit

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_full_audit VFS module records selected client operations to the system log using syslog(3).

vfs_full_audit is able to record the complete set of Samba VFS operations:

aio_force

audit_file

brl_lock_windows

brl_unlock_windows

chdir

close

closedir

connect

connectpath

create_dfs_pathat

create_file

disconnect

disk_free

durable_cookie

durable_disconnect

durable_reconnect

fallocate

fchflags

fchmod

fchown

fcntl

fdopendir

fget_compression

fget_dos_attributes

fget_nt_acl

fgetxattr

file_id_create

filesystem_sharemode

flistxattr

fntimes

freaddir_attr

fremovexattr

fs_capabilities

fsctl

fset_dos_attributes

fset_nt_acl

fsetxattr

fs_file_id

fstat

fstatat

fstreaminfo

fsync_recv

fsync_send

ftruncate

get_alloc_size

get_dfs_referrals

get_dos_attributes_recv

get_dos_attributes_send

getlock

get_quota

get_real_filename

get_real_filename_at

get_shadow_copy_data

getwd

getxattrat_recv

getxattrat_send

is_offline

lchown

linkat

linux_setlease

lock

lseek

lstat

mkdirat

mknodat

ntimes

offload_read_recv

offload_read_send

offload_write_recv

offload_write_send

open

openat

parent_pathname

pread

pread_recv

pread_send

pwrite

pwrite_recv

pwrite_send

read

read_dfs_pathat

readdir

readlinkat

realpath

recvfile

removexattr

renameat

rewinddir

sendfile

set_compression

set_offline

set_quota

snap_check_path

snap_create

snap_delete

stat

statvfs

strict_lock_check

symlinkat

sys_acl_blob_get_fd

sys_acl_delete_def_fd

sys_acl_get_fd

sys_acl_set_fd

translate_name

unlinkat

write

In addition to these operations, vfs_full_audit recognizes the special operation names “all” and “none “, which refer to all the VFS operations and none of the VFS operations respectively.

If an unknown operation name is used (for example an operation name is miss-spelled), the module will fail to load and clients will be refused connections to a share using this module.

vfs_full_audit records operations in fixed format consisting of fields separated by | characters. The format is:

  smbd_audit: PREFIX|OPERATION|RESULT|FILE

The record fields are:

Β·

PREFIX - the result of the full_audit:prefix string after variable substitutions

Β·

OPERATION - the name of the VFS operation

Β·

RESULT - whether the operation succeeded or failed

Β·

FILE - the name of the file or directory the operation was performed on

This module is stackable.

OPTIONS

full_audit:prefix = STRING

Prepend audit messages with STRING. STRING is processed for standard substitution variables listed in smb.conf(5). The default prefix is “%u|%I”.

full_audit:success = LIST

LIST is a list of VFS operations that should be recorded if they succeed. Operations are specified using the names listed above. Operations can be unset by prefixing the names with “!”. The default is none operations.

full_audit:failure = LIST

LIST is a list of VFS operations that should be recorded if they failed. Operations are specified using the names listed above. Operations can be unset by prefixing the names with “!”. The default is none operations.

full_audit:facility = FACILITY

Log messages to the named syslog(3) facility.

full_audit:priority = PRIORITY

Log messages with the named syslog(3) priority.

full_audit:syslog = true/false

Log messages to syslog (default) or as a debug level 1 message.

full_audit:log_secdesc = true/false

Log an sddl form of the security descriptor coming in when a client sets an acl. Defaults to false.

EXAMPLES

Log file and directory open operations on the [records] share using the LOCAL7 facility and ALERT priority, including the username and IP address. Logging excludes the open VFS function on failures:

    [records]
	path = /data/records
	vfs objects = full_audit
	full_audit:prefix = %u|%I
	full_audit:success = open opendir
	full_audit:failure = all !open
	full_audit:facility = LOCAL7
	full_audit:priority = ALERT

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

191 - Linux cli command systemd-shutdown

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-shutdown and provides detailed information about the command systemd-shutdown, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-shutdown.

NAME πŸ–₯️ systemd-shutdown πŸ–₯️

poweroff.service, systemd-halt.service, systemd-reboot.service, systemd-kexec.service, systemd-shutdown - System shutdown logic

SYNOPSIS

systemd-poweroff.service

systemd-halt.service

systemd-reboot.service

systemd-kexec.service

/usr/lib/systemd/systemd-shutdown

/usr/lib/systemd/system-shutdown/

DESCRIPTION

systemd-poweroff.service is a system service that is pulled in by poweroff.target and is responsible for the actual system power-off operation. Similarly, systemd-halt.service is pulled in by halt.target, systemd-reboot.service by reboot.target and systemd-kexec.service by kexec.target to execute the respective actions.

When these services are run, they ensure that PID 1 is replaced by the /usr/lib/systemd/systemd-shutdown tool which is then responsible for the actual shutdown. Before shutting down, this binary will try to unmount all remaining file systems (or at least remount them read-only), disable all remaining swap devices, detach all remaining storage devices and kill all remaining processes.

It is necessary to have this code in a separate binary because otherwise rebooting after an upgrade might be broken β€” the running PID 1 could still depend on libraries which are not available any more, thus keeping the file system busy, which then cannot be re-mounted read-only.

Shortly before executing the actual system power-off/halt/reboot/kexec systemd-shutdown will run all executables in /usr/lib/systemd/system-shutdown/ and pass one arguments to them: either “poweroff”, “halt”, “reboot”, or “kexec”, depending on the chosen action. All executables in this directory are executed in parallel, and execution of the action is not continued before all executables finished. Note that these executables are run after all services have been shut down, and after most mounts have been unmounted (the root file system as well as /run/ and various API file systems are still around though). This means any programs dropped into this directory must be prepared to run in such a limited execution environment and not rely on external services or hierarchies such as /var/ to be around (or writable).

Note that systemd-poweroff.service (and the related units) should never be executed directly. Instead, trigger system shutdown with a command such as “systemctl poweroff”.

Another form of shutdown is provided by the systemd-soft-reboot.service(8) functionality. It reboots only the OS userspace, leaving the kernel, firmware, and hardware as it is.

SEE ALSO

systemd(1), systemctl(1), systemd.special(7), reboot(2), systemd-suspend.service(8), systemd-soft-reboot.service(8), bootup(7)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

192 - Linux cli command tipc-socket

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tipc-socket and provides detailed information about the command tipc-socket, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tipc-socket.

NAME πŸ–₯️ tipc-socket πŸ–₯️

socket - show TIPC socket (port) information

SYNOPSIS

tipc socket list

OPTIONS

Options (flags) that can be passed anywhere in the command chain.

-h,** –help**
Show help about last valid command. For example tipc socket –help will show socket help and tipc –help will show general help. The position of the option in the string is irrelevant.

DESCRIPTION

A TIPC socket is represented by an unsigned integer.

Bound state

A bound socket has a logical TIPC port name associated with it.

Connected state

A connected socket is directly connected to another socket creating a point to point connection between TIPC sockets. If the connection to X was made using a logical port name Y that name will show up as **connected to **X **via **Y

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

tipc(8), tipc-bearer(8) tipc-link(8), tipc-media(8), tipc-nametable(8), tipc-node(8),

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Richard Alpe <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

193 - Linux cli command vfs_expand_msdfs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_expand_msdfs and provides detailed information about the command vfs_expand_msdfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_expand_msdfs.

NAME πŸ–₯️ vfs_expand_msdfs πŸ–₯️

Expand msdfs links depending on client IP

SYNOPSIS

vfs objects = expand_msdfs

DESCRIPTION

This VFS module is part of the samba(7) suite.

With this module, the link target is not directly a server and share, but this module expects the target to reference a file, containing a table. The file is referenced by means of the msdfs symlink target according to msdfs:@table-filename@/share. The file table-filename is supposed to contain a list of destinations that are looked at from top to bottom:

192.168.234 local.samba.org 192.168 remote.samba.org default.samba.org

With this, clients from network 192.168.234/24 are redirected to host local.samba.org, clients from 192.168/16 are redirected to remote.samba.org and all other clients go to default.samba.org.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

194 - Linux cli command wpa_background

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wpa_background and provides detailed information about the command wpa_background, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wpa_background.

NAME πŸ–₯️ wpa_background πŸ–₯️

Background information on Wi-Fi Protected Access and IEEE 802.11i

WPA

The original security mechanism of IEEE 802.11 standard was not designed to be strong and has proven to be insufficient for most networks that require some kind of security. Task group I (Security) of IEEE 802.11 working group (http://www.ieee802.org/11/) has worked to address the flaws of the base standard and has in practice completed its work in May 2004. The IEEE 802.11i amendment to the IEEE 802.11 standard was approved in June 2004 and published in July 2004.

Wi-Fi Alliance (http://www.wi-fi.org/) used a draft version of the IEEE 802.11i work (draft 3.0) to define a subset of the security enhancements that can be implemented with existing wlan hardware. This is called Wi-Fi Protected Access<TM> (WPA). This has now become a mandatory component of interoperability testing and certification done by Wi-Fi Alliance. Wi-Fi provides information about WPA at its web site (http://www.wi-fi.org/OpenSection/protected_access.asp).

IEEE 802.11 standard defined wired equivalent privacy (WEP) algorithm for protecting wireless networks. WEP uses RC4 with 40-bit keys, 24-bit initialization vector (IV), and CRC32 to protect against packet forgery. All these choices have proven to be insufficient: key space is too small against current attacks, RC4 key scheduling is insufficient (beginning of the pseudorandom stream should be skipped), IV space is too small and IV reuse makes attacks easier, there is no replay protection, and non-keyed authentication does not protect against bit flipping packet data.

WPA is an intermediate solution for the security issues. It uses Temporal Key Integrity Protocol (TKIP) to replace WEP. TKIP is a compromise on strong security and possibility to use existing hardware. It still uses RC4 for the encryption like WEP, but with per-packet RC4 keys. In addition, it implements replay protection, keyed packet authentication mechanism (Michael MIC).

Keys can be managed using two different mechanisms. WPA can either use an external authentication server (e.g., RADIUS) and EAP just like IEEE 802.1X is using or pre-shared keys without need for additional servers. Wi-Fi calls these “WPA-Enterprise” and “WPA-Personal”, respectively. Both mechanisms will generate a master session key for the Authenticator (AP) and Supplicant (client station).

WPA implements a new key handshake (4-Way Handshake and Group Key Handshake) for generating and exchanging data encryption keys between the Authenticator and Supplicant. This handshake is also used to verify that both Authenticator and Supplicant know the master session key. These handshakes are identical regardless of the selected key management mechanism (only the method for generating master session key changes).

IEEE 802.11I / WPA2

The design for parts of IEEE 802.11i that were not included in WPA has finished (May 2004) and this amendment to IEEE 802.11 was approved in June 2004. Wi-Fi Alliance is using the final IEEE 802.11i as a new version of WPA called WPA2. This includes, e.g., support for more robust encryption algorithm (CCMP: AES in Counter mode with CBC-MAC) to replace TKIP and optimizations for handoff (reduced number of messages in initial key handshake, pre-authentication, and PMKSA caching).

SEE ALSO

wpa_supplicant(8)

LEGAL

wpa_supplicant is copyright (c) 2003-2022, Jouni Malinen <[email protected]> and contributors. All Rights Reserved.

This program is licensed under the BSD license (the one with advertisement clause removed).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

195 - Linux cli command telinit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command telinit and provides detailed information about the command telinit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the telinit.

NAME πŸ–₯️ telinit πŸ–₯️

Change SysV runlevel

SYNOPSIS

telinit [OPTIONS…] {COMMAND}

DESCRIPTION

telinit may be used to change the SysV system runlevel. Since the concept of SysV runlevels is obsolete the runlevel requests will be transparently translated into systemd unit activation requests.

OPTIONS

The following options are understood:

–help

Print a short help text and exit.

–no-wall

Do not send wall message before reboot/halt/power-off.

The following commands are understood:

0

Power-off the machine. This is translated into an activation request for poweroff.target and is equivalent to systemctl poweroff.

6

Reboot the machine. This is translated into an activation request for reboot.target and is equivalent to systemctl reboot.

2, 3, 4, 5

Change the SysV runlevel. This is translated into an activation request for runlevel2.target, runlevel3.target, … and is equivalent to systemctl isolate runlevel2.target, systemctl isolate runlevel3.target, …

1, s, S

Change into system rescue mode. This is translated into an activation request for rescue.target and is equivalent to systemctl rescue.

q, Q

Reload daemon configuration. This is equivalent to systemctl daemon-reload.

u, U

Serialize state, reexecute daemon and deserialize state again. This is equivalent to systemctl daemon-reexec.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

NOTES

This is a legacy command available for compatibility only. It should not be used anymore, as the concept of runlevels is obsolete.

SEE ALSO

systemd(1), systemctl(1), wall(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

196 - Linux cli command tc-matchall

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-matchall and provides detailed information about the command tc-matchall, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-matchall.

NAME πŸ–₯️ tc-matchall πŸ–₯️

traffic control filter that matches every packet

SYNOPSIS

tc filtermatchall [ skip_sw | skip_hw ] [ action ACTION_SPEC ] [ classid CLASSID ]

DESCRIPTION

The matchall filter allows one to classify every packet that flows on the port and run a action on it.

OPTIONS

action* ACTION_SPEC*
Apply an action from the generic actions framework on matching packets.

classid* CLASSID*
Push matching packets into the class identified by CLASSID.

skip_sw
Do not process filter by software. If hardware has no offload support for this filter, or TC offload is not enabled for the interface, operation will fail.

skip_hw
Do not process filter by hardware.

EXAMPLES

To create ingress mirroring from port eth1 to port eth2:

tc qdisc  add dev eth1 handle ffff: clsact
tc filter add dev eth1 ingress                \
        matchall skip_sw                      \
        action mirred egress mirror           \
        dev eth2

The first command creates a clsact qdisc with handle ffff: on device eth1 where the second command attaches a matchall filters on it that mirrors the packets to device eth2 for ingress.

To create egress mirroring from port eth1 to port eth2:

tc qdisc add dev eth1 handle ffff: clsact
tc filter add dev eth1 egress                  \
        matchall skip_sw                       \
        action mirred egress mirror            \
        dev eth2

The first command creates a clsact qdisc with handle ffff: on device eth1 where the second command attaches a matchall filters on it that mirrors the packets to device eth2 for egress.

To sample one of every 100 packets flowing into interface eth0 to psample group 12:

tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: matchall \
     action sample rate 100 group 12

SEE ALSO

tc(8),

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

197 - Linux cli command tc-fw

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-fw and provides detailed information about the command tc-fw, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-fw.

NAME πŸ–₯️ tc-fw πŸ–₯️

fwmark traffic control filter

SYNOPSIS

tc filterfw [ classid CLASSID ] [ action ACTION_SPEC ]

DESCRIPTION

the fw filter allows one to classify packets based on a previously set fwmark by iptables. If the masked value of the fwmark matches the filter’s masked handle, the filter matches. By default, all 32 bits of the handle and the fwmark are masked. iptables allows one to mark single packets with the MARK target, or whole connections using CONNMARK. The benefit of using this filter instead of doing the heavy-lifting with tc itself is that on one hand it might be convenient to keep packet filtering and classification in one place, possibly having to match a packet just once, and on the other users familiar with iptables but not tc will have a less hard time adding QoS to their setups.

OPTIONS

classid* CLASSID*
Push matching packets to the class identified by CLASSID.

action* ACTION_SPEC*
Apply an action from the generic actions framework on matching packets.

EXAMPLES

Take e.g. the following tc filter statement:

tc filter add … handle 6 fw classid 1:1

will match if the packet’s fwmark value is 6. This is a sample iptables statement marking packets coming in on eth0:

iptables -t mangle -A PREROUTING -i eth0 -j MARK –set-mark 6

Specific bits of the packet’s fwmark can be set using the skbedit action. For example, to only set one bit of the fwmark without changing any other bit:

tc filter add … action skbedit mark 0x8/0x8

The fw filter can then be used to match on this bit by masking the handle:

tc filter add … handle 0x8/0x8 fw action drop

This is useful when different bits of the fwmark are assigned different meanings.

SEE ALSO

tc(8), iptables(8), iptables-extensions(8), tc-skbedit(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

198 - Linux cli command systemd-pcrphase-initrd.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pcrphase-initrd.service and provides detailed information about the command systemd-pcrphase-initrd.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pcrphase-initrd.service.

NAME πŸ–₯️ systemd-pcrphase-initrd.service πŸ–₯️

pcrphase.service, systemd-pcrphase-sysinit.service, systemd-pcrphase-initrd.service, systemd-pcrmachine.service, systemd-pcrfs-root.service, [email protected], systemd-pcrextend - Measure boot phase into TPM2 PCR 11, machine ID and file system identity into PCR 15

SYNOPSIS

systemd-pcrphase.service

systemd-pcrphase-sysinit.service

systemd-pcrphase-initrd.service

systemd-pcrmachine.service

systemd-pcrfs-root.service

[email protected]

/usr/lib/systemd/systemd-pcrextend [STRING]

DESCRIPTION

systemd-pcrphase.service, systemd-pcrphase-sysinit.service, and systemd-pcrphase-initrd.service are system services that measure specific strings into TPM2 PCR 11 during boot at various milestones of the boot process.

systemd-pcrmachine.service is a system service that measures the machine ID (see machine-id(5)) into PCR 15.

systemd-pcrfs-root.service and [email protected] are services that measure file system identity information (i.e. mount point, file system type, label and UUID, partition label and UUID) into PCR 15. systemd-pcrfs-root.service does so for the root file system, [email protected] is a template unit that measures the file system indicated by its instance identifier instead.

These services require systemd-stub(7) to be used in a unified kernel image (UKI). They execute no operation when the stub has not been used to invoke the kernel. The stub will measure the invoked kernel and associated vendor resources into PCR 11 before handing control to it; once userspace is invoked these services then will extend TPM2 PCR 11 with certain literal strings indicating phases of the boot process. During a regular boot process PCR 11 is extended with the following strings:

1.

“enter-initrd” β€” early when the initrd initializes, before activating system extension images for the initrd. It acts as a barrier between the time where the kernel initializes and where the initrd starts operating and enables system extension images, i.e. code shipped outside of the UKI. (This extension happens when the systemd-pcrphase-initrd.service(8) service is started.)

2.

“leave-initrd” β€” when the initrd is about to transition into the host file system. It acts as barrier between initrd code and host OS code. (This extension happens when the systemd-pcrphase-initrd.service service is stopped.)

3.

“sysinit” β€” when basic system initialization is complete (which includes local file systems having been mounted), and the system begins starting regular system services. (This extension happens when the systemd-pcrphase-sysinit.service(8) service is started.)

4.

“ready” β€” during later boot-up, after remote file systems have been activated (i.e. after remote-fs.target), but before users are permitted to log in (i.e. before systemd-user-sessions.service). It acts as barrier between the time where unprivileged regular users are still prohibited to log in and where they are allowed to log in. (This extension happens when the systemd-pcrphase.service service is started.)

5.

“shutdown” β€” when the system shutdown begins. It acts as barrier between the time the system is fully up and running and where it is about to shut down. (This extension happens when the systemd-pcrphase.service service is stopped.)

6.

“final” β€” at the end of system shutdown. It acts as barrier between the time the service manager still runs and when it transitions into the final shutdown phase where service management is not available anymore. (This extension happens when the systemd-pcrphase-sysinit.service(8) service is stopped.)

During a regular system lifecycle, PCR 11 is extended with the strings “enter-initrd”, “leave-initrd”, “sysinit”, “ready”, “shutdown”, and “final”.

Specific phases of the boot process may be referenced via the series of strings measured, separated by colons (the “phase path”). For example, the phase path for the regular system runtime is “enter-initrd:leave-initrd:sysinit:ready”, while the one for the initrd is just “enter-initrd”. The phase path for the boot phase before the initrd is an empty string; because thats hard to pass around a single colon (":") may be used instead. Note that the aforementioned six strings are just the default strings and individual systems might measure other strings at other times, and thus implement different and more fine-grained boot phases to bind policy to.

By binding policy of TPM2 objects to a specific phase path it is possible to restrict access to them to specific phases of the boot process, for example making it impossible to access the root file systems encryption key after the system transitioned from the initrd into the host root file system.

Use systemd-measure(1) to pre-calculate expected PCR 11 values for specific boot phases (via the –phase= switch).

systemd-pcrfs-root.service and [email protected] are automatically pulled into the initial transaction by systemd-gpt-auto-generator(8) for the root and /var/ file systems. systemd-fstab-generator(8) will do this for all mounts with the x-systemd.pcrfs mount option in /etc/fstab.

OPTIONS

The /usr/lib/systemd/system-pcrextend executable may also be invoked from the command line, where it expects the word to extend into PCR 11, as well as the following switches:

–bank=

Takes the PCR banks to extend the specified word into. If not specified the tool automatically determines all enabled PCR banks and measures the word into all of them.

Added in version 252.

–pcr=

Takes the index of the PCR to extend. If –machine-id or –file-system= are specified defaults to 15, otherwise defaults to 11.

Added in version 255.

**–tpm2-device=**PATH

Controls which TPM2 device to use. Expects a device node path referring to the TPM2 chip (e.g. /dev/tpmrm0). Alternatively the special value “auto” may be specified, in order to automatically determine the device node of a suitable TPM2 device (of which there must be exactly one). The special value “list” may be used to enumerate all suitable TPM2 devices currently discovered.

Added in version 252.

–graceful

If no TPM2 firmware, kernel subsystem, kernel driver or device support is found, exit with exit status 0 (i.e. indicate success). If this is not specified any attempt to measure without a TPM2 device will cause the invocation to fail.

Added in version 253.

–machine-id

Instead of measuring a word specified on the command line into PCR 11, measure the hosts machine ID into PCR 15.

Added in version 253.

–file-system=

Instead of measuring a word specified on the command line into PCR 11, measure identity information of the specified file system into PCR 15. The parameter must be the path to the established mount point of the file system to measure.

Added in version 253.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

FILES

/run/log/systemd/tpm2-measure.log

Measurements are logged into an event log file maintained in /run/log/systemd/tpm2-measure.log, which contains a JSON-SEQ[1] series of objects that follow the general structure of the TCG Canonical Event Log Format (CEL-JSON)[2] event objects (but lack the “recnum” field).

A LOCK_EX BSD file lock (flock(2)) on the log file is acquired while the measurement is made and the file is updated. Thus, applications that intend to acquire a consistent quote from the TPM with the associated snapshot of the event log should acquire a LOCK_SH lock while doing so.

Added in version 252.

SEE ALSO

systemd(1), systemd-stub(7), systemd-measure(1), systemd-gpt-auto-generator(8), systemd-fstab-generator(8), TPM2 PCR Measurements Made by systemd[3]

NOTES

JSON-SEQ

https://www.rfc-editor.org/rfc/rfc7464.html

TCG Canonical Event Log Format (CEL-JSON)

https://trustedcomputinggroup.org/resource/canonical-event-log-format/

TPM2 PCR Measurements Made by systemd

https://systemd.io/TPM2_PCR_MEASUREMENTS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

199 - Linux cli command update-fonts-alias

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-fonts-alias and provides detailed information about the command update-fonts-alias, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-fonts-alias.

NAME πŸ–₯️ update-fonts-alias πŸ–₯️

fonts-alias - compile fonts.alias files

SYNOPSIS

update-fonts-alias [OPTION] directory …

DESCRIPTION

update-fonts-alias assembles a fonts.alias file in an X font directory using one or more alias files found in a subdirectory of /etc/X11/fonts/. It is typically invoked only from the post-installation and post-removal scripts of a package containing X Window System fonts that provide aliases for their XLFD names, but may be invoked at any time to reconstruct fonts.alias files. For each directory, which is simply the last component of its path (such as β€˜75dpi’ or β€˜misc’), update-fonts-alias will assemble either /usr/lib/X11/fonts/directory/fonts.alias or /usr/share/fonts/X11/directory/fonts.alias from the files found in /etc/X11/fonts/directory/package.alias.

This enables multiple packages to provide aliases for fonts in the same directory. No font package actually provides the fonts.alias file in the X font directory itself, so there is no danger of overwriting one package’s aliases with those of another.

For instance, the two packages β€˜xfonts-base’ and β€˜xfonts-base-transcoded’ may both install fonts into the directory /usr/lib/X11/fonts/misc. They each place their fonts.alias files in /etc/X11/fonts/misc/xfonts-base.alias and /etc/X11/fonts/misc/xfonts-base-transcoded.alias (respectively). update-fonts-alias concatenates these two files (as well as any others that match /etc/X11/fonts/misc/*.alias) into /usr/lib/X11/fonts/misc/fonts.alias.

The format of fonts.alias files is described in the mkfontdir(1x) manual page.

An example of how to use update-fonts-alias in package maintainer scripts is provided in the Debian Policy Manual.

OPTIONS

-h, –help displays a brief usage message and exits.

OPERANDS

update-fonts-alias takes one or more X font directory names to operate on as operands. Only the final path component of the directory name should be specified; e.g.,

update-fonts-alias 75dpi

is correct, while β€˜update-fonts-alias /usr/X11R6/lib/X11/fonts/75dpi’ and β€˜update-fonts-alias /usr/lib/X11/fonts/75dpi’ are not.

ENVIRONMENT

COLUMNS
indicates the width of the terminal device in character cells. This value is used for formatting diagnostic messages. If not set, the terminal is queried using stty(1) to determine its width. If that fails, a value of β€˜80’ is assumed.

DIAGNOSTICS

Errors

usage error: one or more font directories must be provided
update-fonts-alias was invoked without operands. Supply one or more X font directory names to operate on.

usage error: unrecognized option
update-fonts-alias was invoked with an unrecognized option argument. Use only the options documented in β€œOPTIONS”, above.

fatal error: path to X font directory must be used
A directory name was supplied that was not an X font directory name. Supply X font directory names only.

Warnings

warning: absolute path directory was provided
Usage of absolute paths is deprecated. Use only the final component of the X font directory name for directory.

warning: directory does not exist or is not a directory
The supplied directory was invalid. update-fonts-alias skipped it.

EXIT STATUS

0
update-fonts-alias ran successfully.

1
update-fonts-alias experienced a fatal error; see the section on diagnostic messages above.

2
update-fonts-alias was invoked with invalid arguments.

BUGS

See the Debian Bug Tracking System ⟨URL: https://bugs.debian.org/xfonts-utils ⟩. If you wish to report a bug in update-fonts-alias, please see /usr/share/doc/debian/bug-reporting.txt or the reportbug(1) command.

AUTHOR

update-fonts-alias was written by Branden Robinson.

SEE ALSO

mkfontdir(1x)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

200 - Linux cli command tc-simple

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-simple and provides detailed information about the command tc-simple, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-simple.

NAME πŸ–₯️ tc-simple πŸ–₯️

basic example action

SYNOPSIS

tcaction simple [ sdata* STRING* ] [ index* INDEX* ] [ CONTROL ]

CONTROL := { reclassify | pipe | drop | continue | ok }

DESCRIPTION

This is a pedagogical example rather than an actually useful action. Upon every access, it prints the given STRING which may be of arbitrary length.

OPTIONS

sdata* STRING*
The actual string to print.

index* INDEX*
Optional action index value.

CONTROL
Indicate how tc should proceed after executing the action. For a description of the possible CONTROL values, see tc-actions(8).

EXAMPLES

The following example makes the kernel yell “Incoming ICMP!” every time it sees an incoming ICMP on eth0. Steps are:

  1. Add an ingress qdisc point to eth0

  2. Start a chain on ingress of eth0 that first matches ICMP then invokes the simple action to shout.

  3. display stats and show that no packet has been seen by the action

  4. Send one ping packet to google (expect to receive a response back)

  5. grep the logs to see the logged message

  6. display stats again and observe increment by 1

  $ tc qdisc add dev eth0 ingress
  $ tc filter add dev eth0 parent ffff: protocol ip prio 5 \
	 u32 match ip protocol 1 0xff flowid 1:1 action simple sdata "Incoming ICMP"

  $ sudo tc -s filter ls dev eth0 parent ffff:
   filter protocol ip pref 5 u32
   filter protocol ip pref 5 u32 fh 800: ht divisor 1
   filter protocol ip pref 5 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
     match 00010000/00ff0000 at 8
	action order 1: Simple <Incoming ICMP>
	 index 4 ref 1 bind 1 installed 29 sec used 29 sec
	 Action statistics:
		Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0)
		backlog 0b 0p requeues 0


  $ ping -c 1 www.google.ca
  PING www.google.ca (74.125.225.120) 56(84) bytes of data.
  64 bytes from ord08s08-in-f24.1e100.net (74.125.225.120): icmp_req=1 ttl=53 time=31.3 ms

  --- www.google.ca ping statistics ---
  1 packets transmitted, 1 received, 0% packet loss, time 0ms
  rtt min/avg/max/mdev = 31.316/31.316/31.316/0.000 ms

  $ dmesg | grep simple
  [135354.473951] simple: Incoming ICMP_1

  $ sudo tc/tc -s filter ls dev eth0 parent ffff:
  filter protocol ip pref 5 u32
  filter protocol ip pref 5 u32 fh 800: ht divisor 1
  filter protocol ip pref 5 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1
    match 00010000/00ff0000 at 8
	action order 1: Simple <Incoming ICMP>
	 index 4 ref 1 bind 1 installed 206 sec used 67 sec
	Action statistics:
	Sent 84 bytes 1 pkt (dropped 0, overlimits 0 requeues 0)
	backlog 0b 0p requeues 0

SEE ALSO

tc(8) tc-actions(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

201 - Linux cli command tipc-bearer

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tipc-bearer and provides detailed information about the command tipc-bearer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tipc-bearer.

NAME πŸ–₯️ tipc-bearer πŸ–₯️

bearer - show or modify TIPC bearers

SYNOPSIS

tipc bearer add media udp name *NAME ***remoteip **REMOTEIP

tipc bearer enable [ domain DOMAIN ] [ priority PRIORITY ] media
{ { eth | ib } device DEVICE } |
{ udp name NAME localip LOCALIP [ localport LOCALPORT ] [ remoteip REMOTEIP ] [ remoteport REMOTEPORT ] }

tipc bearer disable media
{ { eth | ib } device *DEVICE *} |
{ udp name NAME }

tipc bearer set { **priority ** PRIORITY | tolerance TOLERANCE | window WINDOW } media
{ { eth | ib } device DEVICE } |
{ udp name NAME }

tipc bearer get [ priority | tolerance | window ] media
{ { eth | ib } device DEVICE } |
{ udp name NAME [ **localip **| **localport **| **remoteip **| **remoteport **] }

tipc bearer list

OPTIONS

Options (flags) that can be passed anywhere in the command chain.

-h,** –help**
Show help about last valid command. For example tipc bearer –help will show bearer help and tipc –help will show general help. The position of the option in the string is irrelevant.

DESCRIPTION

Bearer identification

**media **MEDIA

Specifies the TIPC media type for a particular bearer to operate on. Different media types have different ways of identifying a unique bearer. For example, **ib **and eth identify a bearer with a DEVICE while udp identify a bearer with a *LOCALIP *and a NAME

ib - Infiniband

eth - Ethernet

udp - User Datagram Protocol (UDP)

**name **NAME

Logical bearer identifier valid for bearers on udp media.

**device **DEVICE

Physical bearer device valid for bearers on eth and ib media.

Bearer properties

domain

The addressing domain (region) in which a bearer will establish links and accept link establish requests.

priority

Default link priority inherited by all links subsequently established over a bearer. A single bearer can only host one link to a particular node. This means the default link priority for a bearer typically affects which bearer to use when communicating with a particular node in an multi bearer setup. For more info about link priority see tipc-link(8)

tolerance

Default link tolerance inherited by all links subsequently established over a bearer. For more info about link tolerance see tipc-link(8)

window

Default link window inherited by all links subsequently established over a bearer. For more info about the link window size see tipc-link(8)

UDP bearer options

**localip **LOCALIP

Specify a local IP v4/v6 address for a udp bearer.

**localport **LOCALPORT

Specify the local port for a udp bearer. The default port 6118 is used if no port is specified.

**remoteip **REMOTEIP

Specify a remote IP for a udp bearer. If no remote IP is specified a udp bearer runs in multicast mode and tries to auto-discover its neighbours. The multicast IP address is generated based on the TIPC network ID. If a remote IP is specified the udp bearer runs in point-to-point mode.

Multiple remoteip addresses can be added via the bearer add command. Adding one or more unicast remoteip addresses to an existing udp bearer puts the bearer in replicast mode where IP multicast is emulated by sending multiple unicast messages to each configured remoteip. When a peer sees a TIPC discovery message from an unknown peer the peer address is automatically added to the remoteip (replicast) list, thus only one side of a link needs to be manually configured. A remoteip address cannot be added to a multicast bearer.

**remoteport **REMOTEPORT

Specify the remote port for a udp bearer. The default port 6118 is used if no port is specified.

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

tipc(8), tipc-link(8), tipc-media(8), tipc-nametable(8), tipc-node(8), tipc-peer(8), tipc-socket(8)

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Richard Alpe <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

202 - Linux cli command systemd-tmpfiles-setup-dev.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tmpfiles-setup-dev.service and provides detailed information about the command systemd-tmpfiles-setup-dev.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tmpfiles-setup-dev.service.

NAME πŸ–₯️ systemd-tmpfiles-setup-dev.service πŸ–₯️

tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer - Create, delete, and clean up files and directories

SYNOPSIS

systemd-tmpfiles [OPTIONS…] [CONFIGFILE…]

System units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-setup-dev-early.service

systemd-tmpfiles-setup-dev.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

User units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

DESCRIPTION

systemd-tmpfiles creates, deletes, and cleans up files and directories, using the configuration file format and location specified in tmpfiles.d(5). Historically, it was designed to manage volatile and temporary files, as the name suggests, but it provides generic file management functionality and can be used to manage any kind of files. It must be invoked with one or more commands –create, –remove, and –clean, to select the respective subset of operations.

If invoked with no arguments, directives from the configuration files found in the directories specified by tmpfiles.d(5). When invoked with positional arguments, if option **–replace=**PATH is specified, arguments specified on the command line are used instead of the configuration file PATH. Otherwise, just the configuration specified by the command line arguments is executed. If the string “-” is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.

System services (systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service) invoke systemd-tmpfiles to create system files and to perform system wide cleanup. Those services read administrator-controlled configuration files in tmpfiles.d/ directories. User services (systemd-tmpfiles-setup.service, systemd-tmpfiles-clean.service) also invoke systemd-tmpfiles, but it reads a separate set of files, which includes user-controlled files under ~/.config/user-tmpfiles.d/ and ~/.local/share/user-tmpfiles.d/, and administrator-controlled files under /usr/share/user-tmpfiles.d/. Users may use this to create and clean up files under their control, but the system instance performs global cleanup and is not influenced by user configuration. Note that this means a time-based cleanup configured in the system instance, such as the one typically configured for /tmp/, will thus also affect files created by the user instance if they are placed in /tmp/, even if the user instances time-based cleanup is turned off.

To re-apply settings after configuration has been modified, simply restart systemd-tmpfiles-clean.service, which will apply any settings which can be safely executed at runtime. To debug systemd-tmpfiles, it may be useful to invoke it directly from the command line with increased log level (see $SYSTEMD_LOG_LEVEL below).

COMMANDS AND OPTIONS

The following commands are understood:

–create

If this command is passed, all files and directories marked with f, F, w, d, D, v, p, L, c, b, m in the configuration files are created or written to. Files and directories marked with z, Z, t, T, a, and A have their ownership, access mode and security labels set.

–clean

If this command is passed, all files and directories with an age parameter configured will be cleaned up.

–remove

If this command is passed, the contents of directories marked with D or R, and files or directories themselves marked with r or R are removed unless an exclusive or shared BSD lock is taken on them (see flock(2)).

–purge

If this option is passed, all files and directories marked for creation by the tmpfiles.d/ files specified on the command line will be deleted. Specifically, this acts on all files and directories marked with f, F, d, D, v, q, Q, p, L, c, b, C, w, e. If this switch is used at least one tmpfiles.d/ file (or - for standard input) must be specified on the command line or the invocation will be refused, for safety reasons (as otherwise much of the installed system files might be removed).

The primary usecase for this option is to automatically remove files and directories that originally have been created on behalf of an installed packaged at package removal time.

It is recommended to first run this command in combination with –dry-run (see below) to verify which files and directories will be deleted.

Warning! This is usually not the command you want! In most cases –remove is what you are looking for.

Added in version 256.

–user

Execute “user” configuration, i.e. tmpfiles.d files in user configuration directories.

Added in version 236.

–boot

Also execute lines with an exclamation mark. Lines that are not safe to be executed on a running system may be marked in this way. systemd-tmpfiles is executed in early boot with –boot specified and will execute those lines. When invoked again later, it should be called without –boot.

Added in version 209.

–graceful

Ignore configuration lines pertaining to unknown users or groups. This option is intended to be used in early boot before all users or groups have been created.

Added in version 254.

–dry-run

Process the configuration and print what operations would be performed, but dont actually change anything in the file system.

Added in version 256.

**–prefix=**path

Only apply rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 212.

**–exclude-prefix=**path

Ignore rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 207.

-E

A shortcut for “–exclude-prefix=/dev –exclude-prefix=/proc –exclude-prefix=/run –exclude-prefix=/sys”, i.e. exclude the hierarchies typically backed by virtual or memory file systems. This is useful in combination with –root=, if the specified directory tree contains an OS tree without these virtual/memory file systems mounted in, as it is typically not desirable to create any files and directories below these subdirectories if they are supposed to be overmounted during runtime.

Added in version 247.

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths.

When this option is used, the libc Name Service Switch (NSS) is bypassed for resolving users and groups. Instead the files /etc/passwd and /etc/group inside the alternate root are read directly. This means that users/groups not listed in these files will not be resolved, i.e. LDAP NIS and other complex databases are not considered.

Consider combining this with -E to ensure the invocation does not create files or directories below mount points in the OS image operated on that are typically overmounted during runtime.

Added in version 212.

**–image=**image

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Implies -E.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–replace=**PATH

When this option is given, one or more positional arguments must be specified. All configuration files found in the directories listed in tmpfiles.d(5) will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file PATH.

This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority.

Added in version 238.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

It is possible to combine –create, –clean, and –remove in one invocation (in which case removal and cleanup are executed before creation of new files). For example, during boot the following command line is executed to ensure that all temporary and volatile directories are removed and created according to the configuration file:

systemd-tmpfiles –remove –create

CREDENTIALS

systemd-tmpfiles supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

tmpfiles.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other tmpfiles.d/ drop-in configuration file. If this credential is passed it is processed after all of the drop-in files read from the file system. The lines in the credential can hence augment existing lines of the OS, but not override them.

Added in version 252.

Note that by default the systemd-tmpfiles-setup.service unit file (and related unit files) is set up to inherit the “tmpfiles.extra” credential from the service manager.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

UNPRIVILEGED –CLEANUP OPERATION

systemd-tmpfiles tries to avoid changing the access and modification times on the directories it accesses, which requires CAP_FOWNER privileges. When running as non-root, directories which are checked for files to clean up will have their access time bumped, which might prevent their cleanup.

EXIT STATUS

On success, 0 is returned. If the configuration was syntactically invalid (syntax errors, missing arguments, …), so some lines had to be ignored, but no other errors occurred, 65 is returned (EX_DATAERR from /usr/include/sysexits.h). If the configuration was syntactically valid, but could not be executed (lack of permissions, creation of files in missing directories, invalid contents when writing to /sys/ values, …), 73 is returned (EX_CANTCREAT from /usr/include/sysexits.h). Otherwise, 1 is returned (EXIT_FAILURE from /usr/include/stdlib.h).

Note: when creating items, if the target already exists, but is of the wrong type or otherwise does not match the requested state, and forced operation has not been requested with “+”, a message is emitted, but the failure is otherwise ignored.

SEE ALSO

systemd(1), tmpfiles.d(5)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

203 - Linux cli command tc-mqprio

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-mqprio and provides detailed information about the command tc-mqprio, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-mqprio.

NAME πŸ–₯️ tc-mqprio πŸ–₯️

Multiqueue Priority Qdisc (Offloaded Hardware QOS)

SYNOPSIS

tc qdisc … dev dev ( parent classid | root) [ handle major: ] mqprio

[ num_tc tcs ] [ map P0 P1 P2… ] [ queues count1@offset1 count2@offset2 … ]

[ hw 1|0 ] [ mode dcb|channel ] [ shaper dcb|bw_rlimit ]

[ min_rate min_rate1 min_rate2 … ] [ max_rate max_rate1 max_rate2 … ]

[ fp FP0 FP1 FP2 … ]

DESCRIPTION

The MQPRIO qdisc is a simple queuing discipline that allows mapping traffic flows to hardware queue ranges using priorities and a configurable priority to traffic class mapping. A traffic class in this context is a set of contiguous qdisc classes which map 1:1 to a set of hardware exposed queues.

By default the qdisc allocates a pfifo qdisc (packet limited first in, first out queue) per TX queue exposed by the lower layer device. Other queuing disciplines may be added subsequently. Packets are enqueued using the map parameter and hashed across the indicated queues in the offset and count. By default these parameters are configured by the hardware driver to match the hardware QOS structures.

Channel mode supports full offload of the mqprio options, the traffic classes, the queue configurations and QOS attributes to the hardware. Enabled hardware can provide hardware QOS with the ability to steer traffic flows to designated traffic classes provided by this qdisc. Hardware based QOS is configured using the shaper parameter. bw_rlimit with minimum and maximum bandwidth rates can be used for setting transmission rates on each traffic class. Also further qdiscs may be added to the classes of MQPRIO to create more complex configurations.

ALGORITHM

On creation with ’tc qdisc add’, eight traffic classes are created mapping priorities 0..7 to traffic classes 0..7 and priorities greater than 7 to traffic class 0. This requires base driver support and the creation will fail on devices that do not support hardware QOS schemes.

These defaults can be overridden using the qdisc parameters. Providing the ‘hw 0’ flag allows software to run without hardware coordination.

If hardware coordination is being used and arguments are provided that the hardware can not support then an error is returned. For many users hardware defaults should work reasonably well.

As one specific example numerous Ethernet cards support the 802.1Q link strict priority transmission selection algorithm (TSA). MQPRIO enabled hardware in conjunction with the classification methods below can provide hardware offloaded support for this TSA.

CLASSIFICATION

Multiple methods are available to set the SKB priority which MQPRIO uses to select which traffic class to enqueue the packet.

From user space
A process with sufficient privileges can encode the destination class directly with SO_PRIORITY, see socket(7).

with iptables/nftables
An iptables/nftables rule can be created to match traffic flows and set the priority. iptables(8)

with net_prio cgroups
The net_prio cgroup can be used to set the priority of all sockets belong to an application. See kernel and cgroup documentation for details.

QDISC PARAMETERS

num_tc
Number of traffic classes to use. Up to 16 classes supported. You cannot have more classes than queues

map
The priority to traffic class map. Maps priorities 0..15 to a specified traffic class.

queues
Provide count and offset of queue range for each traffic class. In the format, count@offset. Queue ranges for each traffic classes cannot overlap and must be a contiguous range of queues.

hw
Set to 1 to support hardware offload. Set to 0 to configure user specified values in software only. The default value of this parameter is 1

mode
Set to channel for full use of the mqprio options. Use dcb to offload only TC values and use hardware QOS defaults. Supported with ‘hw’ set to 1 only.

shaper
Use bw_rlimit to set bandwidth rate limits for a traffic class. Use dcb for hardware QOS defaults. Supported with ‘hw’ set to 1 only.

min_rate
Minimum value of bandwidth rate limit for a traffic class. Supported only when the ‘shaper’ argument is set to ‘bw_rlimit’.

max_rate
Maximum value of bandwidth rate limit for a traffic class. Supported only when the ‘shaper’ argument is set to ‘bw_rlimit’.

fp
Selects whether traffic classes are express (deliver packets via the eMAC) or preemptible (deliver packets via the pMAC), according to IEEE 802.1Q-2018 clause 6.7.2 Frame preemption. Takes the form of an array (one element per traffic class) with values being ‘E’ (for express) or ‘P’ (for preemptible).

Multiple priorities which map to the same traffic class, as well as multiple TXQs which map to the same traffic class, must have the same FP attributes. To interpret the FP as an attribute per priority, the ‘map’ argument can be used for translation. To interpret FP as an attribute per TXQ, the ‘queues’ argument can be used for translation.

Traffic classes are express by default. The argument is supported only with ‘hw’ set to 1. Preemptible traffic classes are accepted only if the device has a MAC Merge layer configurable through ethtool(8).

SEE ALSO

ethtool(8)

EXAMPLE

The following example shows how to attach priorities to 4 traffic classes (“num_tc 4”), and then how to pair these traffic classes with 4 hardware queues with mqprio, with hardware coordination (“hw 1”, or does not specified, because 1 is the default value). Traffic class 0 (tc0) is mapped to hardware queue 0 (q0), tc1 is mapped to q1, tc2 is mapped to q2, and tc3 is mapped q3.

# tc qdisc add dev eth0 root mqprio               num_tc 4               map 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3               queues 1@0 1@1 1@2 1@3               hw 1

The next example shows how to attach priorities to 3 traffic classes (“num_tc 3”), and how to pair these traffic classes with 4 queues, without hardware coordination (“hw 0”). Traffic class 0 (tc0) is mapped to hardware queue 0 (q0), tc1 is mapped to q1, tc2 and is mapped to q2 and q3, where the queue selection between these two queues is somewhat randomly decided.

# tc qdisc add dev eth0 root mqprio               num_tc 3               map 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 2               queues 1@0 1@1 2@2               hw 0

In both cases from above the priority values from 0 to 3 (prio0-3) are mapped to tc0, prio4-7 are mapped to tc1, and the prio8-11 are mapped to tc2 (“map” attribute). The last four priority values (prio12-15) are mapped in different ways in the two examples. They are mapped to tc3 in the first example and mapped to tc2 in the second example. The values of these two examples are the following:

β”Œβ”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”¬β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚Prioβ”‚ tc β”‚ queue β”‚ β”‚Prioβ”‚ tc β”‚ queue β”‚ β”œβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€ β”œβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€ β”‚ 0 β”‚ 0 β”‚ 0 β”‚ β”‚ 0 β”‚ 0 β”‚ 0 β”‚ β”‚ 1 β”‚ 0 β”‚ 0 β”‚ β”‚ 1 β”‚ 0 β”‚ 0 β”‚ β”‚ 2 β”‚ 0 β”‚ 0 β”‚ β”‚ 2 β”‚ 0 β”‚ 0 β”‚ β”‚ 3 β”‚ 0 β”‚ 0 β”‚ β”‚ 3 β”‚ 0 β”‚ 0 β”‚ β”‚ 4 β”‚ 1 β”‚ 1 β”‚ β”‚ 4 β”‚ 1 β”‚ 1 β”‚ β”‚ 5 β”‚ 1 β”‚ 1 β”‚ β”‚ 5 β”‚ 1 β”‚ 1 β”‚ β”‚ 6 β”‚ 1 β”‚ 1 β”‚ β”‚ 6 β”‚ 1 β”‚ 1 β”‚ β”‚ 7 β”‚ 1 β”‚ 1 β”‚ β”‚ 7 β”‚ 1 β”‚ 1 β”‚ β”‚ 8 β”‚ 2 β”‚ 2 β”‚ β”‚ 8 β”‚ 2 β”‚ 2 or 3 β”‚ β”‚ 9 β”‚ 2 β”‚ 2 β”‚ β”‚ 9 β”‚ 2 β”‚ 2 or 3 β”‚ β”‚ 10 β”‚ 2 β”‚ 2 β”‚ β”‚ 10 β”‚ 2 β”‚ 2 or 3 β”‚ β”‚ 11 β”‚ 2 β”‚ 2 β”‚ β”‚ 11 β”‚ 2 β”‚ 2 or 3 β”‚ β”‚ 12 β”‚ 3 β”‚ 3 β”‚ β”‚ 12 β”‚ 2 β”‚ 2 or 3 β”‚ β”‚ 13 β”‚ 3 β”‚ 3 β”‚ β”‚ 13 β”‚ 2 β”‚ 2 or 3 β”‚ β”‚ 14 β”‚ 3 β”‚ 3 β”‚ β”‚ 14 β”‚ 2 β”‚ 2 or 3 β”‚ β”‚ 15 β”‚ 3 β”‚ 3 β”‚ β”‚ 15 β”‚ 2 β”‚ 2 or 3 β”‚ β””β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜ example1 example2

Another example of queue mapping is the following. There are 5 traffic classes, and there are 8 hardware queues.

# tc qdisc add dev eth0 root mqprio               num_tc 5               map 0 0 0 1 1 1 1 2 2 3 3 4 4 4 4 4               queues 1@0 2@1 1@3 1@4 3@5

The value mapping is the following for this example:

β”Œβ”€β”€β”€β”€β”€β”€β”€β” tc0─────Queue 0│◄────1@0 β”œβ”€β”€β”€β”€β”€β”€β”€β”€ β”Œβ”€β”€Queue 1│◄────2@1 tc1─── β”œβ”€β”€β”€β”€β”€β”€β”€β”€ └──Queue 2β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€ tc2─────Queue 3│◄────1@3 β”œβ”€β”€β”€β”€β”€β”€β”€β”€ tc3─────Queue 4│◄────1@4 β”œβ”€β”€β”€β”€β”€β”€β”€β”€ β”Œβ”€β”€Queue 5│◄────3@5 β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€ tc4──┼──Queue 6β”‚ β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€ └──Queue 7β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”˜

AUTHORS

John Fastabend, <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

204 - Linux cli command vfs_widelinks

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_widelinks and provides detailed information about the command vfs_widelinks, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_widelinks.

NAME πŸ–₯️ vfs_widelinks πŸ–₯️

make a Samba share ignore filesystem symbolic links inside a share

SYNOPSIS

vfs objects = widelinks

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_widelinks VFS module hides the existence of symbolic links in the filesystem inside a share. It is used in Samba version 4.13 and above to implement the smb.conf"wide links = yes" functionality that used to be inside the core smbd code. The module should not be loaded explicitly by smb.conf as part of the “vfs objects =” parameter, but is loaded implicitly when “wide links = yes” is enabled. This is to prevent existing smb.conf files from having to be modified to keep the existing insecure “wide links” functionality on a share.

Please note that “wide links = yes” functionality is a deliberately insecure option, and should never be used in Samba installations. On Linux, bind mounts can be used instead to implement anything “wide links = yes” can enable. This module has been created to provide backwards compatibility with existing users of “wide links = yes” installations, but this use cannot be recommended and is not endorsed by the Samba developers.

Note that this implicit loading may become explicit in a later Samba release, and administrators wishing to keep the insecure “wide links” functionality may have to add this module into their “vfs objects =” module list. The Samba project release notes and this manpage will be updated to reflect this when this change is made.

This module is stackable.

EXAMPLES

No examples listed. This module is implicitly loaded by smbd as needed.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

205 - Linux cli command update-language-dat

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-language-dat and provides detailed information about the command update-language-dat, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-language-dat.

NAME πŸ–₯️ update-language-dat πŸ–₯️

language - generate hyphenation configuration for TeX engines

SYNOPSIS

update-language(-dat,-def,-lua) [OPTIONS …]

DESCRIPTION

Generate hyphenation configuration files language.dat, .def, .dat.lua

When called as update-language, all three configurations files are generated. Otherwise only the selected one.

OPTIONS

-c, –conf-file=FILE
file giving additional hyphen specifications

-o, –output-file=FILE file to write the output to

-d, –output-dir=DIR
directory where files are written

–checks
perform sanity checks on the generated config file

-q, –quiet
don’t write anything to the standard output during normal operation

-h, -?, –help
display this help message and exit

–version
output version information and exit

FILES

The default output directory is

/var/lib/texmf/tex/generic/config

The default output files are

for update-language-dat
language.dat

for update-language-def
language.def

for update-language-lua
language.dat.lua

If -o/–output-file is given, it overrides all defaults.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

206 - Linux cli command tc-sample

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-sample and provides detailed information about the command tc-sample, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-sample.

NAME πŸ–₯️ tc-sample πŸ–₯️

packet sampling tc action

SYNOPSIS

tcaction sample rate RATE group GROUP [ trunc SIZE ] [ index INDEX ]

tc … **action sample index ** INDEX

DESCRIPTION

The sample action allows sampling packets matching classifier.

The packets are chosen randomly according to the rate parameter, and are sampled using the psample generic netlink channel. The user can also specify packet truncation to save user-kernel traffic. Each sample includes some informative metadata about the original packet, which is sent using netlink attributes, alongside the original packet data.

The user can either specify the sample action parameters as presented in the first form above, or use an existing sample action using its index, as presented in the second form.

SAMPLED PACKETS METADATA FIELDS

The metadata are delivered to userspace applications using the psample generic netlink channel, where each sample includes the following netlink attributes:

PSAMPLE_ATTR_IIFINDEX
The input interface index of the packet, if there is one.

PSAMPLE_ATTR_OIFINDEX
The output interface index of the packet. This field is not relevant on ingress sampling

PSAMPLE_ATTR_ORIGSIZE
The size of the original packet (before truncation)

PSAMPLE_ATTR_SAMPLE_GROUP
The psample group the packet was sent to

PSAMPLE_ATTR_GROUP_SEQ
A sequence number of the sampled packet. This number is incremented with each sampled packet of the current psample group

PSAMPLE_ATTR_SAMPLE_RATE
The rate the packet was sampled with

OPTIONS

rate* RATE*
The packet sample rate. RATE is the expected ratio between observed packets and sampled packets. For example, RATE of 100 will lead to an average of one sampled packet out of every 100 observed.

trunc* SIZE*
Upon set, defines the maximum size of the sampled packets, and causes truncation if needed

group* GROUP*
The psample group the packet will be sent to. The psample module defines the concept of groups, which allows the user to match specific sampled packets in the case of multiple sampling rules, thus identify only the packets that came from a specific rule.

index* INDEX*
Is a unique ID for an action. When creating new action instance, this parameter allows one to set the new action index. When using existing action, this parameter allows one to specify the existing action index. The index must 32bit unsigned integer greater than zero.

EXAMPLES

Sample one of every 100 packets flowing into interface eth0 to psample group 12:

tc qdisc add dev eth0 handle ffff: ingress tc filter add dev eth0 parent ffff: matchall
action sample rate 100 group 12 index 19

Use the same action instance to sample eth1 too:

tc qdisc add dev eth1 handle ffff: ingress tc filter add dev eth1 parent ffff: matchall
action sample index 19

SEE ALSO

tc(8), tc-matchall(8) psample(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

207 - Linux cli command tipc-nametable

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tipc-nametable and provides detailed information about the command tipc-nametable, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tipc-nametable.

NAME πŸ–₯️ tipc-nametable πŸ–₯️

nametable - show TIPC nametable

SYNOPSIS

tipc nametable show

OPTIONS

Options (flags) that can be passed anywhere in the command chain.

-h,** –help**
-j,** -json**
Output results in JavaScript Object Notation (JSON).

-p,** -pretty**
The default JSON format is compact and more efficient to parse but hard for most users to read. This flag adds indentation for readability.

Show help about last valid command. For example tipc nametable –help will show nametable help and tipc –help will show general help. The position of the option in the string is irrelevant.

DESCRIPTION

The nametable shows TIPC publication information.

Nametable format

Type

The 32-bit type field of the port name. The type field often indicates the class of service provided by a port.

Lower

The lower bound of the 32-bit instance field of the port name. The instance field is often used as a sub-class indicator.

Upper

The upper bound of the 32-bit instance field of the port name. The instance field is often used as a sub-class indicator. A difference in **lower **and upper means the socket is bound to the port name range [lower,upper]

Port Identity

The unique socket (port) identifier within the TIPC cluster. The port identity consists of a node identity followed by a socket reference number.

Publication

The publication ID is a random number used internally to represent a publication.

Scope

The publication scope specifies the visibility of a bound port name. The scope can be specified to comprise three different domains: node, **cluster **and zone. Applications residing within the specified scope can see and access the port using the displayed port name.

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

tipc(8), tipc-bearer(8), tipc-link(8), tipc-media(8), tipc-node(8), tipc-peer(8), tipc-socket(8)

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Richard Alpe <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

208 - Linux cli command systemd-remount-fs.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-remount-fs.service and provides detailed information about the command systemd-remount-fs.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-remount-fs.service.

NAME πŸ–₯️ systemd-remount-fs.service πŸ–₯️

remount-fs.service, systemd-remount-fs - Remount root and kernel file systems

SYNOPSIS

systemd-remount-fs.service

/usr/lib/systemd/systemd-remount-fs

DESCRIPTION

systemd-remount-fs.service is an early boot service that applies mount options listed in fstab(5), or gathered from the partition table (when systemd-gpt-auto-generator(8) is active) to the root file system, the /usr/ file system, and the kernel API file systems. This is required so that the mount options of these file systems β€” which are pre-mounted by the kernel, the initrd, container environments or system manager code β€” are updated to those configured in /etc/fstab and the other sources. This service ignores normal file systems and only changes the root file system (i.e. /), /usr/, and the virtual kernel API file systems such as /proc/, /sys/ or /dev/. This service executes no operation if no configuration is found (/etc/fstab does not exist or lists no entries for the mentioned file systems, or the partition table does not contain relevant entries).

For a longer discussion of kernel API file systems see API File Systems[1].

Note: systemd-remount-fs.service is usually pulled in by systemd-fstab-generator(8), hence it is also affected by the kernel command line option fstab=, which may be used to disable the generator. It may also pulled in by systemd-gpt-auto-generator(8), which is affected by systemd.gpt_auto and other options.

SEE ALSO

systemd(1), fstab(5), mount(8), systemd-fstab-generator(8), systemd-gpt-auto-generator(8)

NOTES

API File Systems

https://systemd.io/API_FILE_SYSTEMS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

209 - Linux cli command tc-bpf

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-bpf and provides detailed information about the command tc-bpf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-bpf.

NAME πŸ–₯️ tc-bpf πŸ–₯️

BPF programmable classifier and actions for ingress/egress queueing disciplines

SYNOPSIS

eBPF classifier (filter) or action:

tc filter … bpf [ object-file OBJ_FILE ] [ section CLS_NAME ] [ export UDS_FILE ] [ verbose ] [ direct-action | da ] [ skip_hw | skip_sw ] [ police POLICE_SPEC ] [ action ACTION_SPEC ] [ classid CLASSID ]
tc action … bpf [ object-file OBJ_FILE ] [ section CLS_NAME ] [ export UDS_FILE ] [ verbose ]

cBPF classifier (filter) or action:

tc filter … bpf [ bytecode-file BPF_FILE | bytecode BPF_BYTECODE ] [ police POLICE_SPEC ] [ action ACTION_SPEC ] [ classid CLASSID ]
tc action … bpf [ bytecode-file BPF_FILE | bytecode BPF_BYTECODE ]

DESCRIPTION

Extended Berkeley Packet Filter ( eBPF ) and classic Berkeley Packet Filter (originally known as BPF, for better distinction referred to as cBPF here) are both available as a fully programmable and highly efficient classifier and actions. They both offer a minimal instruction set for implementing small programs which can safely be loaded into the kernel and thus executed in a tiny virtual machine from kernel space. An in-kernel verifier guarantees that a specified program always terminates and neither crashes nor leaks data from the kernel.

In Linux, it’s generally considered that eBPF is the successor of cBPF. The kernel internally transforms cBPF expressions into eBPF expressions and executes the latter. Execution of them can be performed in an interpreter or at setup time, they can be just-in-time compiled (JIT’ed) to run as native machine code.

Currently, the eBPF JIT compiler is available for the following architectures:

  • x86_64 (since Linux 3.18)
  • arm64 (since Linux 3.18)

  • s390 (since Linux 4.1)

  • ppc64 (since Linux 4.8)

  • sparc64 (since Linux 4.12)

  • mips64 (since Linux 4.13)

  • arm32 (since Linux 4.14)

  • x86_32 (since Linux 4.18)

Whereas the following architectures have cBPF, but did not (yet) switch to eBPF JIT support:

  • ppc32
  • sparc32

  • mips32

eBPF’s instruction set has similar underlying principles as the cBPF instruction set, it however is modelled closer to the underlying architecture to better mimic native instruction sets with the aim to achieve a better run-time performance. It is designed to be JIT’ed with a one to one mapping, which can also open up the possibility for compilers to generate optimized eBPF code through an eBPF backend that performs almost as fast as natively compiled code. Given that LLVM provides such an eBPF backend, eBPF programs can therefore easily be programmed in a subset of the C language. Other than that, eBPF infrastructure also comes with a construct called “maps”. eBPF maps are key/value stores that are shared between multiple eBPF programs, but also between eBPF programs and user space applications.

For the traffic control subsystem, classifier and actions that can be attached to ingress and egress qdiscs can be written in eBPF or cBPF. The advantage over other classifier and actions is that eBPF/cBPF provides the generic framework, while users can implement their highly specialized use cases efficiently. This means that the classifier or action written that way will not suffer from feature bloat, and can therefore execute its task highly efficient. It allows for non-linear classification and even merging the action part into the classification. Combined with efficient eBPF map data structures, user space can push new policies like classids into the kernel without reloading a classifier, or it can gather statistics that are pushed into one map and use another one for dynamically load balancing traffic based on the determined load, just to provide a few examples.

PARAMETERS

object-file

points to an object file that has an executable and linkable format (ELF) and contains eBPF opcodes and eBPF map definitions. The LLVM compiler infrastructure with clang(1) as a C language front end is one project that supports emitting eBPF object files that can be passed to the eBPF classifier (more details in the EXAMPLES section). This option is mandatory when an eBPF classifier or action is to be loaded.

section

is the name of the ELF section from the object file, where the eBPF classifier or action resides. By default the section name for the classifier is called “classifier”, and for the action “action”. Given that a single object file can contain multiple classifier and actions, the corresponding section name needs to be specified, if it differs from the defaults.

export

points to a Unix domain socket file. In case the eBPF object file also contains a section named “maps” with eBPF map specifications, then the map file descriptors can be handed off via the Unix domain socket to an eBPF “agent” herding all descriptors after tc lifetime. This can be some third party application implementing the IPC counterpart for the import, that uses them for calling into bpf(2) system call to read out or update eBPF map data from user space, for example, for monitoring purposes or to push down new policies.

verbose

if set, it will dump the eBPF verifier output, even if loading the eBPF program was successful. By default, only on error, the verifier log is being emitted to the user.

direct-action | da

instructs eBPF classifier to not invoke external TC actions, instead use the TC actions return codes (TC_ACT_OK, TC_ACT_SHOT etc.) for classifiers.

skip_hw | skip_sw

hardware offload control flags. By default TC will try to offload filters to hardware if possible. skip_hw explicitly disables the attempt to offload. skip_sw forces the offload and disables running the eBPF program in the kernel. If hardware offload is not possible and this flag was set kernel will report an error and filter will not be installed at all.

police

is an optional parameter for an eBPF/cBPF classifier that specifies a police in tc(1) which is attached to the classifier, for example, on an ingress qdisc.

action

is an optional parameter for an eBPF/cBPF classifier that specifies a subsequent action in tc(1) which is attached to a classifier.

classid

flowid

provides the default traffic control class identifier for this eBPF/cBPF classifier. The default class identifier can also be overwritten by the return code of the eBPF/cBPF program. A default return code of -1 specifies the here provided default class identifier to be used. A return code of the eBPF/cBPF program of 0 implies that no match took place, and a return code other than these two will override the default classid. This allows for efficient, non-linear classification with only a single eBPF/cBPF program as opposed to having multiple individual programs for various class identifiers which would need to reparse packet contents.

bytecode

is being used for loading cBPF classifier and actions only. The cBPF bytecode is directly passed as a text string in the form of ’s,c t f k,c t f k,c t f k,…’ , where s denotes the number of subsequent 4-tuples. One such 4-tuple consists of c t f k decimals, where c represents the cBPF opcode, t the jump true offset target, f the jump false offset target and k the immediate constant/literal. There are various tools that generate code in this loadable format, for example, bpf_asm that ships with the Linux kernel source tree under tools/net/ , so it is certainly not expected to hack this by hand. The bytecode or bytecode-file option is mandatory when a cBPF classifier or action is to be loaded.

bytecode-file

also being used to load a cBPF classifier or action. It’s effectively the same as bytecode only that the cBPF bytecode is not passed directly via command line, but rather resides in a text file.

EXAMPLES

eBPF TOOLING

A full blown example including eBPF agent code can be found inside the iproute2 source package under: examples/bpf/

As prerequisites, the kernel needs to have the eBPF system call namely bpf(2) enabled and ships with cls_bpf and act_bpf kernel modules for the traffic control subsystem. To enable eBPF/eBPF JIT support, depending which of the two the given architecture supports:

echo 1 > /proc/sys/net/core/bpf_jit_enable

A given restricted C file can be compiled via LLVM as:

clang -O2 -emit-llvm -c bpf.c -o - | llc -march=bpf -filetype=obj -o bpf.o

The compiler invocation might still simplify in future, so for now, it’s quite handy to alias this construct in one way or another, for example:

__bcc() {
        clang -O2 -emit-llvm -c $1 -o - | \
        llc -march=bpf -filetype=obj -o "`basename $1 .c`.o"
}

alias bcc=__bcc

A minimal, stand-alone unit, which matches on all traffic with the default classid (return code of -1) looks like:

#include <linux/bpf.h>

#ifndef __section
# define __section(x)  __attribute__((section(x), used))
#endif

__section("classifier") int cls_main(struct __sk_buff *skb)
{
        return -1;
}

char __license[] __section("license") = "GPL";

More examples can be found further below in subsection eBPF PROGRAMMING as focus here will be on tooling.

There can be various other sections, for example, also for actions. Thus, an object file in eBPF can contain multiple entrance points. Always a specific entrance point, however, must be specified when configuring with tc. A license must be part of the restricted C code and the license string syntax is the same as with Linux kernel modules. The kernel reserves its right that some eBPF helper functions can be restricted to GPL compatible licenses only, and thus may reject a program from loading into the kernel when such a license mismatch occurs.

The resulting object file from the compilation can be inspected with the usual set of tools that also operate on normal object files, for example objdump(1) for inspecting ELF section headers:

objdump -h bpf.o
[...]
3 classifier    000007f8  0000000000000000  0000000000000000  00000040  2**3
                CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
4 action-mark   00000088  0000000000000000  0000000000000000  00000838  2**3
                CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
5 action-rand   00000098  0000000000000000  0000000000000000  000008c0  2**3
                CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
6 maps          00000030  0000000000000000  0000000000000000  00000958  2**2
                CONTENTS, ALLOC, LOAD, DATA
7 license       00000004  0000000000000000  0000000000000000  00000988  2**0
                CONTENTS, ALLOC, LOAD, DATA
[...]

Adding an eBPF classifier from an object file that contains a classifier in the default ELF section is trivial (note that instead of “object-file” also shortcuts such as “obj” can be used):

bcc bpf.c
tc filter add dev em1 parent 1: bpf obj bpf.o flowid 1:1

In case the classifier resides in ELF section “mycls”, then that same command needs to be invoked as:

tc filter add dev em1 parent 1: bpf obj bpf.o sec mycls flowid 1:1

Dumping the classifier configuration will tell the location of the classifier, in other words that it’s from object file “bpf.o” under section “mycls”:

tc filter show dev em1
filter parent 1: protocol all pref 49152 bpf
filter parent 1: protocol all pref 49152 bpf handle 0x1 flowid 1:1 bpf.o:[mycls]

The same program can also be installed on ingress qdisc side as opposed to egress …

tc qdisc add dev em1 handle ffff: ingress
tc filter add dev em1 parent ffff: bpf obj bpf.o sec mycls flowid ffff:1

… and again dumped from there:

tc filter show dev em1 parent ffff:
filter protocol all pref 49152 bpf
filter protocol all pref 49152 bpf handle 0x1 flowid ffff:1 bpf.o:[mycls]

Attaching a classifier and action on ingress has the restriction that it doesn’t have an actual underlying queueing discipline. What ingress can do is to classify, mangle, redirect or drop packets. When queueing is required on ingress side, then ingress must redirect packets to the ifb device, otherwise policing can be used. Moreover, ingress can be used to have an early drop point of unwanted packets before they hit upper layers of the networking stack, perform network accounting with eBPF maps that could be shared with egress, or have an early mangle and/or redirection point to different networking devices.

Multiple eBPF actions and classifier can be placed into a single object file within various sections. In that case, non-default section names must be provided, which is the case for both actions in this example:

*tc filter add dev em1 parent 1: bpf obj bpf.o flowid 1:1 *

*action bpf obj bpf.o sec action-mark *
action bpf obj bpf.o sec action-rand ok

The advantage of this is that the classifier and the two actions can then share eBPF maps with each other, if implemented in the programs.

In order to access eBPF maps from user space beyond tc(8) setup lifetime, the ownership can be transferred to an eBPF agent via Unix domain sockets. There are two possibilities for implementing this:

1) implementation of an own eBPF agent that takes care of setting up the Unix domain socket and implementing the protocol that tc(8) dictates. A code example of this can be found inside the iproute2 source package under: examples/bpf/

2) use tc exec for transferring the eBPF map file descriptors through a Unix domain socket, and spawning an application such as sh(1) . This approach’s advantage is that tc will place the file descriptors into the environment and thus make them available just like stdin, stdout, stderr file descriptors, meaning, in case user applications run from within this fd-owner shell, they can terminate and restart without losing eBPF maps file descriptors. Example invocation with the previous classifier and action mixture:

tc exec bpf imp /tmp/bpf
*tc filter add dev em1 parent 1: bpf obj bpf.o exp /tmp/bpf flowid 1:1 *

*action bpf obj bpf.o sec action-mark *
action bpf obj bpf.o sec action-rand ok

Assuming that eBPF maps are shared with classifier and actions, it’s enough to export them once, for example, from within the classifier or action command. tc will setup all eBPF map file descriptors at the time when the object file is first parsed.

When a shell has been spawned, the environment will have a couple of eBPF related variables. BPF_NUM_MAPS provides the total number of maps that have been transferred over the Unix domain socket. BPF_MAP<X>’s value is the file descriptor number that can be accessed in eBPF agent applications, in other words, it can directly be used as the file descriptor value for the bpf(2) system call to retrieve or alter eBPF map values. <X> denotes the identifier of the eBPF map. It corresponds to the id member of struct bpf_elf_map from the tc eBPF map specification.

The environment in this example looks as follows:

sh# env | grep BPF
    BPF_NUM_MAPS=3
    BPF_MAP1=6
    BPF_MAP0=5
    BPF_MAP2=7
sh# ls -la /proc/self/fd
    [...]
    lrwx------. 1 root root 64 Apr 14 16:46 5 -> anon_inode:bpf-map
    lrwx------. 1 root root 64 Apr 14 16:46 6 -> anon_inode:bpf-map
    lrwx------. 1 root root 64 Apr 14 16:46 7 -> anon_inode:bpf-map
sh# my_bpf_agent

eBPF agents are very useful in that they can prepopulate eBPF maps from user space, monitor statistics via maps and based on that feedback, for example, rewrite classids in eBPF map values during runtime. Given that eBPF agents are implemented as normal applications, they can also dynamically receive traffic control policies from external controllers and thus push them down into eBPF maps to dynamically adapt to network conditions. Moreover, eBPF maps can also be shared with other eBPF program types (e.g. tracing), thus very powerful combination can therefore be implemented.

eBPF PROGRAMMING

eBPF classifier and actions are being implemented in restricted C syntax (in future, there could additionally be new language frontends supported).

The header file linux/bpf.h provides eBPF helper functions that can be called from an eBPF program. This man page will only provide two minimal, stand-alone examples, have a look at examples/bpf from the iproute2 source package for a fully fledged flow dissector example to better demonstrate some of the possibilities with eBPF.

Supported 32 bit classifier return codes from the C program and their meanings:

0 , denotes a mismatch
-1 , denotes the default classid configured from the command line
else , everything else will override the default classid to provide a facility for non-linear matching

Supported 32 bit action return codes from the C program and their meanings ( linux/pkt_cls.h ):

TC_ACT_OK (0) , will terminate the packet processing pipeline and allows the packet to proceed
TC_ACT_SHOT (2) , will terminate the packet processing pipeline and drops the packet
TC_ACT_UNSPEC (-1) , will use the default action configured from tc (similarly as returning -1 from a classifier)
TC_ACT_PIPE (3) , will iterate to the next action, if available
TC_ACT_RECLASSIFY (1) , will terminate the packet processing pipeline and start classification from the beginning
else , everything else is an unspecified return code

Both classifier and action return codes are supported in eBPF and cBPF programs.

To demonstrate restricted C syntax, a minimal toy classifier example is provided, which assumes that egress packets, for instance originating from a container, have previously been marked in interval [0, 255]. The program keeps statistics on different marks for user space and maps the classid to the root qdisc with the marking itself as the minor handle:

#include <stdint.h>
#include <asm/types.h>

#include <linux/bpf.h>
#include <linux/pkt_sched.h>

#include "helpers.h"

struct tuple {
        long packets;
        long bytes;
};

#define BPF_MAP_ID_STATS        1 /* agent's map identifier */
#define BPF_MAX_MARK            256

struct bpf_elf_map __section("maps") map_stats = {
        .type           =       BPF_MAP_TYPE_ARRAY,
        .id             =       BPF_MAP_ID_STATS,
        .size_key       =       sizeof(uint32_t),
        .size_value     =       sizeof(struct tuple),
        .max_elem       =       BPF_MAX_MARK,
        .pinning        =       PIN_GLOBAL_NS,
};

static inline void cls_update_stats(const struct __sk_buff *skb,
                                    uint32_t mark)
{
        struct tuple *tu;

        tu = bpf_map_lookup_elem(&map_stats, &mark);
        if (likely(tu)) {
                __sync_fetch_and_add(&tu->packets, 1);
                __sync_fetch_and_add(&tu->bytes, skb->len);
        }
}

__section("cls") int cls_main(struct __sk_buff *skb)
{
        uint32_t mark = skb->mark;

        if (unlikely(mark >= BPF_MAX_MARK))
                return 0;

        cls_update_stats(skb, mark);

        return TC_H_MAKE(TC_H_ROOT, mark);
}

char __license[] __section("license") = "GPL";

Another small example is a port redirector which demuxes destination port 80 into the interval [8080, 8087] steered by RSS, that can then be attached to ingress qdisc. The exercise of adding the egress counterpart and IPv6 support is left to the reader:

#include <asm/types.h>
#include <asm/byteorder.h>

#include <linux/bpf.h>
#include <linux/filter.h>
#include <linux/in.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <linux/tcp.h>

#include "helpers.h"

static inline void set_tcp_dport(struct __sk_buff *skb, int nh_off,
                                 __u16 old_port, __u16 new_port)
{
        bpf_l4_csum_replace(skb, nh_off + offsetof(struct tcphdr, check),
                            old_port, new_port, sizeof(new_port));
        bpf_skb_store_bytes(skb, nh_off + offsetof(struct tcphdr, dest),
                            &new_port, sizeof(new_port), 0);
}

static inline int lb_do_ipv4(struct __sk_buff *skb, int nh_off)
{
        __u16 dport, dport_new = 8080, off;
        __u8 ip_proto, ip_vl;

        ip_proto = load_byte(skb, nh_off +
                             offsetof(struct iphdr, protocol));
        if (ip_proto != IPPROTO_TCP)
                return 0;

        ip_vl = load_byte(skb, nh_off);
        if (likely(ip_vl == 0x45))
                nh_off += sizeof(struct iphdr);
        else
                nh_off += (ip_vl & 0xF) << 2;

        dport = load_half(skb, nh_off + offsetof(struct tcphdr, dest));
        if (dport != 80)
                return 0;

        off = skb->queue_mapping & 7;
        set_tcp_dport(skb, nh_off - BPF_LL_OFF, __constant_htons(80),
                      __cpu_to_be16(dport_new + off));
        return -1;
}

__section("lb") int lb_main(struct __sk_buff *skb)
{
        int ret = 0, nh_off = BPF_LL_OFF + ETH_HLEN;

        if (likely(skb->protocol == __constant_htons(ETH_P_IP)))
                ret = lb_do_ipv4(skb, nh_off);

        return ret;
}

char __license[] __section("license") = "GPL";

The related helper header file helpers.h in both examples was:

/* Misc helper macros. */
#define __section(x) __attribute__((section(x), used))
#define offsetof(x, y) __builtin_offsetof(x, y)
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)

/* Object pinning settings */
#define PIN_NONE       0
#define PIN_OBJECT_NS  1
#define PIN_GLOBAL_NS  2

/* ELF map definition */
struct bpf_elf_map {
    __u32 type;
    __u32 size_key;
    __u32 size_value;
    __u32 max_elem;
    __u32 flags;
    __u32 id;
    __u32 pinning;
    __u32 inner_id;
    __u32 inner_idx;
};

/* Some used BPF function calls. */
static int (*bpf_skb_store_bytes)(void *ctx, int off, void *from,
                                  int len, int flags) =
      (void *) BPF_FUNC_skb_store_bytes;
static int (*bpf_l4_csum_replace)(void *ctx, int off, int from,
                                  int to, int flags) =
      (void *) BPF_FUNC_l4_csum_replace;
static void *(*bpf_map_lookup_elem)(void *map, void *key) =
      (void *) BPF_FUNC_map_lookup_elem;

/* Some used BPF intrinsics. */
unsigned long long load_byte(void *skb, unsigned long long off)
    asm ("llvm.bpf.load.byte");
unsigned long long load_half(void *skb, unsigned long long off)
    asm ("llvm.bpf.load.half");

Best practice, we recommend to only have a single eBPF classifier loaded in tc and perform all necessary matching and mangling from there instead of a list of individual classifier and separate actions. Just a single classifier tailored for a given use-case will be most efficient to run.

eBPF DEBUGGING

Both tc filter and action commands for bpf support an optional verbose parameter that can be used to inspect the eBPF verifier log. It is dumped by default in case of an error.

In case the eBPF/cBPF JIT compiler has been enabled, it can also be instructed to emit a debug output of the resulting opcode image into the kernel log, which can be read via dmesg(1) :

echo 2 > /proc/sys/net/core/bpf_jit_enable

The Linux kernel source tree ships additionally under tools/net/ a small helper called bpf_jit_disasm that reads out the opcode image dump from the kernel log and dumps the resulting disassembly:

bpf_jit_disasm -o

Other than that, the Linux kernel also contains an extensive eBPF/cBPF test suite module called test_bpf . Upon …

modprobe test_bpf

… it performs a diversity of test cases and dumps the results into the kernel log that can be inspected with dmesg(1) . The results can differ depending on whether the JIT compiler is enabled or not. In case of failed test cases, the module will fail to load. In such cases, we urge you to file a bug report to the related JIT authors, Linux kernel and networking mailing lists.

cBPF

Although we generally recommend switching to implementing eBPF classifier and actions, for the sake of completeness, a few words on how to program in cBPF will be lost here.

Likewise, the bpf_jit_enable switch can be enabled as mentioned already. Tooling such as bpf_jit_disasm is also independent whether eBPF or cBPF code is being loaded.

Unlike in eBPF, classifier and action are not implemented in restricted C, but rather in a minimal assembler-like language or with the help of other tooling.

The raw interface with tc takes opcodes directly. For example, the most minimal classifier matching on every packet resulting in the default classid of 1:1 looks like:

tc filter add dev em1 parent 1: bpf bytecode ‘1,6 0 0 4294967295,’ flowid 1:1

The first decimal of the bytecode sequence denotes the number of subsequent 4-tuples of cBPF opcodes. As mentioned, such a 4-tuple consists of c t f k decimals, where c represents the cBPF opcode, t the jump true offset target, f the jump false offset target and k the immediate constant/literal. Here, this denotes an unconditional return from the program with immediate value of -1.

Thus, for egress classification, Willem de Bruijn implemented a minimal stand-alone helper tool under the GNU General Public License version 2 for iptables(8) BPF extension, which abuses the libpcap internal classic BPF compiler, his code derived here for usage with tc(8) :

#include <pcap.h>
#include <stdio.h>

int main(int argc, char **argv)
{
        struct bpf_program prog;
        struct bpf_insn *ins;
        int i, ret, dlt = DLT_RAW;

        if (argc < 2 || argc > 3)
                return 1;
        if (argc == 3) {
                dlt = pcap_datalink_name_to_val(argv[1]);
                if (dlt == -1)
                        return 1;
        }

        ret = pcap_compile_nopcap(-1, dlt, &prog, argv[argc - 1],
                                  1, PCAP_NETMASK_UNKNOWN);
        if (ret)
                return 1;

        printf("%d,", prog.bf_len);
        ins = prog.bf_insns;

        for (i = 0; i < prog.bf_len - 1; ++ins, ++i)
                printf("%u %u %u %u,", ins->code,
                       ins->jt, ins->jf, ins->k);
        printf("%u %u %u %u",
               ins->code, ins->jt, ins->jf, ins->k);

        pcap_freecode(&prog);
        return 0;
}

Given this small helper, any tcpdump(8) filter expression can be abused as a classifier where a match will result in the default classid:

bpftool EN10MB ’tcp[tcpflags] & tcp-syn != 0’ > /var/bpf/tcp-syn
tc filter add dev em1 parent 1: bpf bytecode-file /var/bpf/tcp-syn flowid 1:1

Basically, such a minimal generator is equivalent to:

tcpdump -iem1 -ddd ’tcp[tcpflags] & tcp-syn != 0’ | tr ‘\n’ ‘,’ > /var/bpf/tcp-syn

Since libpcap does not support all Linux’ specific cBPF extensions in its compiler, the Linux kernel also ships under tools/net/ a minimal BPF assembler called bpf_asm for providing full control. For detailed syntax and semantics on implementing such programs by hand, see references under FURTHER READING .

Trivial toy example in bpf_asm for classifying IPv4/TCP packets, saved in a text file called foobar :

ldh [12]
jne #0x800, drop
ldb [23]
jneq #6, drop
ret #-1
drop: ret #0

Similarly, such a classifier can be loaded as:

bpf_asm foobar > /var/bpf/tcp-syn
tc filter add dev em1 parent 1: bpf bytecode-file /var/bpf/tcp-syn flowid 1:1

For BPF classifiers, the Linux kernel provides additionally under tools/net/ a small BPF debugger called bpf_dbg , which can be used to test a classifier against pcap files, single-step or add various breakpoints into the classifier program and dump register contents during runtime.

Implementing an action in classic BPF is rather limited in the sense that packet mangling is not supported. Therefore, it’s generally recommended to make the switch to eBPF, whenever possible.

FURTHER READING

Further and more technical details about the BPF architecture can be found in the Linux kernel source tree under Documentation/networking/filter.txt .

Further details on eBPF tc(8) examples can be found in the iproute2 source tree under examples/bpf/ .

SEE ALSO

tc(8), tc-ematch(8) bpf(2) bpf(4)

AUTHORS

Manpage written by Daniel Borkmann.

Please report corrections or improvements to the Linux kernel networking mailing list: <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

210 - Linux cli command unmkinitramfs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unmkinitramfs and provides detailed information about the command unmkinitramfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unmkinitramfs.

NAME πŸ–₯️ unmkinitramfs πŸ–₯️

extract content from an initramfs image

SYNOPSIS

unmkinitramfs [-v] initramfs-file directory
unmkinitramfs -h

DESCRIPTION

The unmkinitramfs command extracts the content of a given initramfs image using cpio. If the image contains multiple segments, each are passed to cpio in order.

OPTIONS

-h
Display usage information and exit.

-v
Display verbose messages about extraction.

USAGE EXAMPLES

Extract initramfs content of current running kernel:

unmkinitramfs /boot/initrd.img-$(uname -r) initramfs/

BUGS

unmkinitramfs cannot deal with multiple-segmented initramfs images, except where an early (uncompressed) initramfs with system firmware is prepended to the regular compressed initramfs.

AUTHOR

The initramfs-tools are written by Maximilian Attems <[email protected]> and numerous others.

SEE ALSO

initramfs-tools(7), lsinitramfs(8), mkinitramfs(8), update-initramfs(8).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

211 - Linux cli command systemd-suspend-then-hibernate.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-suspend-then-hibernate.service and provides detailed information about the command systemd-suspend-then-hibernate.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-suspend-then-hibernate.service.

NAME πŸ–₯️ systemd-suspend-then-hibernate.service πŸ–₯️

suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, systemd-suspend-then-hibernate.service, systemd-sleep - System sleep state logic

SYNOPSIS

systemd-suspend.service

systemd-hibernate.service

systemd-hybrid-sleep.service

systemd-suspend-then-hibernate.service

/usr/lib/systemd/system-sleep

DESCRIPTION

systemd-suspend.service is a system service that is pulled in by suspend.target and is responsible for the actual system suspend. Similarly, systemd-hibernate.service is pulled in by hibernate.target to execute the actual hibernation. Finally, systemd-hybrid-sleep.service is pulled in by hybrid-sleep.target to execute hybrid hibernation with system suspend and pulled in by suspend-then-hibernate.target to execute system suspend with a timeout that will activate hibernate later.

Immediately before entering system suspend and/or hibernation systemd-suspend.service (and the other mentioned units, respectively) will run all executables in /usr/lib/systemd/system-sleep/ and pass two arguments to them. The first argument will be “pre”, the second either “suspend”, “hibernate”, “hybrid-sleep”, or “suspend-then-hibernate” depending on the chosen action. An environment variable called “SYSTEMD_SLEEP_ACTION” will be set and contain the sleep action that is processing. This is primarily helpful for “suspend-then-hibernate” where the value of the variable will be “suspend”, “hibernate”, or “suspend-after-failed-hibernate” in cases where hibernation has failed. Immediately after leaving system suspend and/or hibernation the same executables are run, but the first argument is now “post”. All executables in this directory are executed in parallel, and execution of the action is not continued until all executables have finished. Note that user.slice will be frozen while the executables are running, so they should not attempt to communicate with any user services expecting a reply.

Note that scripts or binaries dropped in /usr/lib/systemd/system-sleep/ are intended for local use only and should be considered hacks. If applications want to react to system suspend/hibernation and resume, they should rather use the Inhibitor Locks[1].

Note that systemd-suspend.service, systemd-hibernate.service, systemd-hybrid-sleep.service, and systemd-suspend-then-hibernate.service should never be executed directly. Instead, trigger system sleep with a command such as systemctl suspend or systemctl hibernate.

Internally, this service will echo a string like “mem” into /sys/power/state, to trigger the actual system suspend. What exactly is written where can be configured in the [Sleep] section of /etc/systemd/sleep.conf or a sleep.conf.d file. See systemd-sleep.conf(5).

Note that by default these services freeze user.slice while they run. This prevents the execution of any process in any of the user sessions while the system is entering into and resuming from sleep. Thus, this prevents the hooks in /usr/lib/systemd/system-sleep/, or any other process for that matter, from communicating with any user session process during sleep.

OPTIONS

systemd-sleep understands the following commands:

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

suspend, hibernate, suspend-then-hibernate, hybrid-sleep

Suspend, hibernate, suspend then hibernate, or put the system to hybrid sleep.

Added in version 203.

SEE ALSO

systemd-sleep.conf(5), systemd(1), systemctl(1), systemd.special(7), systemd-halt.service(8)

NOTES

Inhibitor Locks

https://systemd.io/INHIBITOR_LOCKS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

212 - Linux cli command update-updmap

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-updmap and provides detailed information about the command update-updmap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-updmap.

files for all the system trees

This manual page documents

a program that was written for the Debian distribution.

is used to generate

and

configurations files

which is the link target of

and

which is the link target of

from the files with names ending in

located in

and

respectively.

Any TeX package shipping map files in one of the trees

or

should also provide files in one of the above directories containing the respective lines for

file.

In order to configure (enable additional entries, disable system provided entries, etc), the normal

mechanism should be used. Please see the man page details.

Executes additional checks that all necessary files are present in the kpathsea database. Don’t use this in maintainer scripts.

don’t write anything to the standard output during normal operation

print a summary of the command-line usage of

and exit

output version information and exit

Note that the

option, which turns on verbose mode, is deprecated. We are currently in a transition phase where quiet mode is still the default (therefore,

has no effect), but

will be verbose by default as soon as enough packages use

in their maintainer scripts.

The

files under

should contain valid configuration lines for

Usually, they will consist of lines of following one of these forms:

Map <foo.map> MixedMap <bar.map> KanjiMap <baz.map>

The

form should only be used if the font is available in both bitmap and scalable formats (this way, it won’t be declared in the default map file for Dvips that is used when

is set to

in

The KanjiMap form should only be used for map files defining Japanese font maps.

returns 0 on success, or a strictly positive integer on error.

This manual page was written by

and updated by

and

for the Debian distribution (and may be used by others).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

213 - Linux cli command update-tl-stacked-conffile

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-tl-stacked-conffile and provides detailed information about the command update-tl-stacked-conffile, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-tl-stacked-conffile.

files for all the system trees

This manual page documents

a program that was written for the Debian distribution.

is used to generate

and

configurations files

which is the link target of

and

which is the link target of

from the files with names ending in

located in

and

respectively.

Any TeX package shipping map files in one of the trees

or

should also provide files in one of the above directories containing the respective lines for

file.

In order to configure (enable additional entries, disable system provided entries, etc), the normal

mechanism should be used. Please see the man page details.

Executes additional checks that all necessary files are present in the kpathsea database. Don’t use this in maintainer scripts.

don’t write anything to the standard output during normal operation

print a summary of the command-line usage of

and exit

output version information and exit

Note that the

option, which turns on verbose mode, is deprecated. We are currently in a transition phase where quiet mode is still the default (therefore,

has no effect), but

will be verbose by default as soon as enough packages use

in their maintainer scripts.

The

files under

should contain valid configuration lines for

Usually, they will consist of lines of following one of these forms:

Map <foo.map> MixedMap <bar.map> KanjiMap <baz.map>

The

form should only be used if the font is available in both bitmap and scalable formats (this way, it won’t be declared in the default map file for Dvips that is used when

is set to

in

The KanjiMap form should only be used for map files defining Japanese font maps.

returns 0 on success, or a strictly positive integer on error.

This manual page was written by

and updated by

and

for the Debian distribution (and may be used by others).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

214 - Linux cli command updatedb.plocate

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command updatedb.plocate and provides detailed information about the command updatedb.plocate, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the updatedb.plocate.

NAME πŸ–₯️ updatedb.plocate πŸ–₯️

update a database for plocate

SYNOPSIS

updatedb [OPTION]…

DESCRIPTION

updatedb creates or updates a database used by locate(1). If the database already exists, its data is reused to avoid rereading directories that have not changed.

updatedb is usually run daily from a systemd.timer(8) to update the default database.

EXIT STATUS

updatedb returns with exit status 0 on success, 1 on error.

OPTIONS

The PRUNE_BIND_MOUNTS, PRUNEFS, PRUNENAMES and PRUNEPATHS variables, which are modified by some of the options, are documented in detail in updatedb.conf(5).

-f, –add-prunefs FS
Add entries in white-space-separated list FS to PRUNEFS.

-n, –add-prunenames NAMES
Add entries in white-space-separated list NAMES to PRUNENAMES.

-e, –add-prunepaths PATHS
Add entries in white-space-separated list PATHS to PRUNEPATHS.

–add-single-prunepath PATH
Add PATH to PRUNEPATHS. Note that this is currently the only way to add a path with a space in it.

-U, –database-root PATH
Store only results of scanning the file system subtree rooted at PATH to the generated database. The whole file system is scanned by default.

locate(1) outputs entries as absolute path names which don’t contain symbolic links, regardless of the form of PATH.

–debug-pruning
Write debugging information about pruning decisions to standard error output.

-h, –help
Write a summary of the available options to standard output and exit successfully.

-o, –output FILE
Write the database to FILE instead of using the default database.

–prune-bind-mounts FLAG
Set PRUNE_BIND_MOUNTS to FLAG, overriding the configuration file.

–prunefs FS
Set PRUNEFS to FS, overriding the configuration file.

–prunenames NAMES
Set PRUNENAMES to NAMES, overriding the configuration file.

–prunepaths PATHS
Set PRUNEPATHS to PATHS, overriding the configuration file.

-l, –require-visibility FLAG
Set the β€œrequire file visibility before reporting it” flag in the generated database to FLAG.

If FLAG is 0 or no, or if the database file is readable by “others” or it is not owned by plocate, locate(1) outputs the database entries even if the user running locate(1) could not have read the directory necessary to find out the file described by the database entry.

If FLAG is 1 or yes (the default), locate(1) checks the permissions of parent directories of each entry before reporting it to the invoking user. To make the file existence truly hidden from other users, the database group is set to plocate and the database permissions prohibit reading the database by users using other means than locate(1), which is set-gid plocate.

Note that the visibility flag is checked only if the database is owned by plocate and it is not readable by “others”.

-v, –verbose
Output path names of files to standard output, as soon as they are found.

-V, –version
Write information about the version and license of locate on standard output and exit successfully.

EXAMPLES

To create a private plocate database as a user other than root, run

updatedb -l 0 -o db_file -U source_directory

Note that all users that can read db_file can get the complete list of files in the subtree of source_directory.

FILES

/etc/updatedb.conf
A configuration file. See updatedb.conf(5). Uses exactly the same format as the one used by mlocate(1)’s updatedb, so they can be shared.

/var/lib/plocate/plocate.db
The database updated by default.

SECURITY

Databases built with –require-visibility no allow users to find names of files and directories of other users, which they would not otherwise be able to do.

AUTHOR

Miloslav Trmac <[email protected]>

Steinar H. Gunderson <[email protected]>

SEE ALSO

locate(1), updatedb.conf(5)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

215 - Linux cli command update-ieee-data

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-ieee-data and provides detailed information about the command update-ieee-data, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-ieee-data.

NAME πŸ–₯️ update-ieee-data πŸ–₯️

ieee-data - update data files from IEEE Standards Association such as the OUI and IAB lists

SYNOPSIS

update-ieee-data

DESCRIPTION

update-ieee-data fetches the current version of the OUI and IAB lists from IEEE Standards Association and installs it, if the installed versions is older than 5 days.

This utility requires curl, wget or libwww-perl to be installed.

OPTIONS

-q
Be quiet. Do not output messages.

-f
Force the update, even if the file is newer than 5 days.

FILES

/var/lib/ieee-data
Directory with the updated listings.

AUTHORS

Filippo Giunchedi <[email protected]> and Luciano Bello <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

216 - Linux cli command tdbbackup.tdbtools

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tdbbackup.tdbtools and provides detailed information about the command tdbbackup.tdbtools, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tdbbackup.tdbtools.

NAME πŸ–₯️ tdbbackup.tdbtools πŸ–₯️

tool for backing up and for validating the integrity of samba .tdb files

SYNOPSIS

tdbbackup [-s suffix] [-v] [-h] [-n hashsize] [-l]

DESCRIPTION

This tool is part of the samba(1) suite.

tdbbackup is a tool that may be used to backup samba .tdb files. This tool may also be used to verify the integrity of the .tdb files prior to samba startup or during normal operation. If it finds file damage and it finds a prior backup the backup file will be restored.

OPTIONS

-h

Get help information.

-s suffix

The -s option allows the administrator to specify a file backup extension. This way it is possible to keep a history of tdb backup files by using a new suffix for each backup.

-v

The -v will check the database for damages (corrupt data) which if detected causes the backup to be restored.

-n hashsize

The -n option sets the hash size for the new backup tdb.

-l

This options disables any locking, by passing TDB_NOLOCK to tdb_open_ex(). Only use this for database files which are not used by any other process! And also only if it is otherwise not possible to open the database, e.g. databases which were created with mutex locking.

COMMANDS

GENERAL INFORMATION

The tdbbackup utility can safely be run at any time. It was designed so that it can be used at any time to validate the integrity of tdb files, even during Samba operation. Typical usage for the command will be:

tdbbackup [-s suffix] *.tdb

Before restarting samba the following command may be run to validate .tdb files:

tdbbackup -v [-s suffix] *.tdb

Samba .tdb files are stored in various locations, be sure to run backup all .tdb file on the system. Important files includes:

Β·

secrets.tdb - usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba.

Β·

passdb.tdb - usual location is in the /usr/local/samba/private directory, or on some systems in /etc/samba.

Β·

*.tdb located in the /usr/local/samba/var directory or on some systems in the /var/cache or /var/lib/samba directories.

VERSION

This man page is correct for version 3 of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The tdbbackup man page was written by John H Terpstra.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

217 - Linux cli command systemd-reboot.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-reboot.service and provides detailed information about the command systemd-reboot.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-reboot.service.

NAME πŸ–₯️ systemd-reboot.service πŸ–₯️

poweroff.service, systemd-halt.service, systemd-reboot.service, systemd-kexec.service, systemd-shutdown - System shutdown logic

SYNOPSIS

systemd-poweroff.service

systemd-halt.service

systemd-reboot.service

systemd-kexec.service

/usr/lib/systemd/systemd-shutdown

/usr/lib/systemd/system-shutdown/

DESCRIPTION

systemd-poweroff.service is a system service that is pulled in by poweroff.target and is responsible for the actual system power-off operation. Similarly, systemd-halt.service is pulled in by halt.target, systemd-reboot.service by reboot.target and systemd-kexec.service by kexec.target to execute the respective actions.

When these services are run, they ensure that PID 1 is replaced by the /usr/lib/systemd/systemd-shutdown tool which is then responsible for the actual shutdown. Before shutting down, this binary will try to unmount all remaining file systems (or at least remount them read-only), disable all remaining swap devices, detach all remaining storage devices and kill all remaining processes.

It is necessary to have this code in a separate binary because otherwise rebooting after an upgrade might be broken β€” the running PID 1 could still depend on libraries which are not available any more, thus keeping the file system busy, which then cannot be re-mounted read-only.

Shortly before executing the actual system power-off/halt/reboot/kexec systemd-shutdown will run all executables in /usr/lib/systemd/system-shutdown/ and pass one arguments to them: either “poweroff”, “halt”, “reboot”, or “kexec”, depending on the chosen action. All executables in this directory are executed in parallel, and execution of the action is not continued before all executables finished. Note that these executables are run after all services have been shut down, and after most mounts have been unmounted (the root file system as well as /run/ and various API file systems are still around though). This means any programs dropped into this directory must be prepared to run in such a limited execution environment and not rely on external services or hierarchies such as /var/ to be around (or writable).

Note that systemd-poweroff.service (and the related units) should never be executed directly. Instead, trigger system shutdown with a command such as “systemctl poweroff”.

Another form of shutdown is provided by the systemd-soft-reboot.service(8) functionality. It reboots only the OS userspace, leaving the kernel, firmware, and hardware as it is.

SEE ALSO

systemd(1), systemctl(1), systemd.special(7), reboot(2), systemd-suspend.service(8), systemd-soft-reboot.service(8), bootup(7)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

218 - Linux cli command vfs_xattr_tdb

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_xattr_tdb and provides detailed information about the command vfs_xattr_tdb, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_xattr_tdb.

NAME πŸ–₯️ vfs_xattr_tdb πŸ–₯️

Save Extended Attributes (EAs) in a tdb file

SYNOPSIS

vfs objects = xattr_tdb

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_xattr_tdb VFS module stores Extended Attributes (EAs) in a tdb file. This enables the usage of Extended Attributes on OS and filesystems which do not support Extended Attributes by themselves.

This module is stackable.

OPTIONS

xattr_tdb:file = PATH

Name of the tdb file the EAs are stored in. If this option is not set, the default filename xattr.tdb is used.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

219 - Linux cli command vfs_acl_xattr

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_acl_xattr and provides detailed information about the command vfs_acl_xattr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_acl_xattr.

NAME πŸ–₯️ vfs_acl_xattr πŸ–₯️

Save NTFS-ACLs in Extended Attributes (EAs)

SYNOPSIS

vfs objects = acl_xattr

DESCRIPTION

This VFS module is part of the samba(7) suite.

This module is made for systems which do not support standardized NFS4 ACLs but only a deprecated POSIX ACL draft implementation. This is usually the case on Linux systems. Systems that do support just use NFSv4 ACLs directly instead of this module. Such support is usually provided by the filesystem VFS module specific to the underlying filesystem that supports NFS4 ACLs

The vfs_acl_xattr VFS module stores NTFS Access Control Lists (ACLs) in Extended Attributes (EAs). This enables the full mapping of Windows ACLs on Samba servers even if the ACL implementation is not capable of doing so.

The NT ACLs are stored in the security.NTACL extended attribute of files and directories in a form containing the Windows SID representing the users and groups in the ACL. This is different from the uid and gids stored in local filesystem ACLs and the mapping from users and groups to Windows SIDs must be consistent in order to maintain the meaning of the stored NT ACL That extended attribute is not listed by the Linux command getfattr -d filename. To show the current value, the name of the EA must be specified (e.g. getfattr -n security.NTACL filename).

This module forces the following parameters:

Β·

inherit acls = true

Β·

dos filemode = true

Β·

force unknown acl user = true

This module is stackable.

OPTIONS

acl_xattr:security_acl_name = NAME

This option allows to redefine the default location for the NTACL extended attribute (xattr). If not set, NTACL xattrs are written to security.NTACL which is a protected location, which means the content of the security.NTACL attribute is not accessible from normal users outside of Samba. When this option is set to use a user-defined value, e.g. user.NTACL then any user can potentially access and overwrite this information. The module prevents access to this xattr over SMB, but the xattr may still be accessed by other means (eg local access, SSH, NFS). This option must only be used when this consequence is clearly understood and when specific precautions are taken to avoid compromising the ACL content.

acl_xattr:ignore system acls = [yes|no]

When set to yes, a best effort mapping from/to the POSIX draft ACL layer will not be done by this module. The default is no, which means that Samba keeps setting and evaluating both the system ACLs and the NT ACLs. This is better if you need your system ACLs be set for local or NFS file access, too. If you only access the data via Samba you might set this to yes to achieve better NT ACL compatibility.

If acl_xattr:ignore system acls is set to yes, the following additional settings will be enforced:

Β·

create mask = 0666

Β·

directory mask = 0777

Β·

map archive = no

Β·

map hidden = no

Β·

map readonly = no

Β·

map system = no

Β·

store dos attributes = yes

acl_xattr:default acl style = [posix|windows|everyone]

This parameter determines the type of ACL that is synthesized in case a file or directory lacks an security.NTACL xattr.

When set to posix, an ACL will be synthesized based on the POSIX mode permissions for user, group and others, with an additional ACE for NT Authority\SYSTEM will full rights.

When set to windows, an ACL is synthesized the same way Windows does it, only including permissions for the owner and NT Authority\SYSTEM.

When set to everyone, an ACL is synthesized giving full permissions to everyone (S-1-1-0).

The default for this option is posix.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

220 - Linux cli command systemd-user-sessions

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-user-sessions and provides detailed information about the command systemd-user-sessions, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-user-sessions.

NAME πŸ–₯️ systemd-user-sessions πŸ–₯️

user-sessions.service, systemd-user-sessions - Permit user logins after boot, prohibit user logins at shutdown

SYNOPSIS

systemd-user-sessions.service

/usr/lib/systemd/systemd-user-sessions

DESCRIPTION

systemd-user-sessions.service is a service that controls user logins through pam_nologin(8). After basic system initialization is complete, it removes /run/nologin, thus permitting logins. Before system shutdown, it creates /run/nologin, thus prohibiting further logins.

SEE ALSO

systemd(1), systemd-logind.service(8), pam_nologin(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

221 - Linux cli command tc-vlan

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-vlan and provides detailed information about the command tc-vlan, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-vlan.

NAME πŸ–₯️ tc-vlan πŸ–₯️

vlan manipulation module

SYNOPSIS

tcaction vlan { pop | pop_eth | PUSH | MODIFY | PUSH_ETH } [ CONTROL ]

PUSH := push [ protocol VLANPROTO ] ** [ priority VLANPRIO ] id VLANID

MODIFY := modify [ protocol VLANPROTO ] ** [ priority VLANPRIO ] id VLANID

PUSH_ETH := push_eth dst_mac* LLADDR src_mac LLADDR *

CONTROL := { reclassify | pipe | drop | continue | pass | goto chain CHAIN_INDEX }

DESCRIPTION

The vlan action allows one to perform 802.1Q en- or decapsulation on a packet, reflected by the operation modes POP, PUSH and MODIFY. The POP mode is simple, as no further information is required to just drop the outer-most VLAN encapsulation. The PUSH and MODIFY modes require at least a VLANID and allow one to optionally choose the VLANPROTO to use.

The vlan action can also be used to add or remove the base Ethernet header. The pop_eth mode, which takes no argument, is used to remove the base Ethernet header. All existing VLANs must have been previously dropped. The opposite operation, adding a base Ethernet header, is done with the push_eth mode. In that case, the packet must have no MAC header (stacking MAC headers is not permitted). This mode is mostly useful when a previous action has encapsulated the whole original frame behind a network header and one needs to prepend an Ethernet header before forwarding the resulting packet.

OPTIONS

pop
Decapsulation mode, no further arguments allowed.

push
Encapsulation mode. Requires at least id option.

modify
Replace mode. Existing 802.1Q tag is replaced. Requires at least id option.

pop_eth
Ethernet header decapsulation mode. Only works on a plain Ethernet header: VLANs, if any, must be removed first.

push_eth
Ethernet header encapsulation mode. The Ethertype is automatically set using the network header type. Chaining Ethernet headers is not allowed: the packet must have no MAC header when using this mode. Requires the **dst_mac and src_mac **options.

id* VLANID*
Specify the VLAN ID to encapsulate into. VLANID is an unsigned 16bit integer, the format is detected automatically (e.g. prefix with ‘0x’ for hexadecimal interpretation, etc.).

protocol* VLANPROTO*
Choose the VLAN protocol to use. At the time of writing, the kernel accepts only 802.1Q or 802.1ad.

priority* VLANPRIO*
Choose the VLAN priority to use. Decimal number in range of 0-7.

dst_mac* LLADDR*
Choose the destination MAC address to use.

src_mac* LLADDR*
Choose the source MAC address to use.

CONTROL
How to continue after executing this action.

reclassify
Restarts classification by jumping back to the first filter attached to this action’s parent.

pipe
Continue with the next action, this is the default.

drop
Packet will be dropped without running further actions.

continue
Continue classification with next filter in line.

pass
Return to calling qdisc for packet processing. This ends the classification process.

EXAMPLES

The following example encapsulates incoming ICMP packets on eth0 from 10.0.0.2 into VLAN ID 123:

#tc qdisc add dev eth0 handle ffff: ingress #tc filter add dev eth0 parent ffff: pref 11 protocol ip
u32 match ip protocol 1 0xff flowid 1:1
match ip src 10.0.0.2 flowid 1:1
action vlan push id 123

Here is an example of the pop function: Incoming VLAN packets on eth0 are decapsulated and the classification process then restarted for the plain packet:

#tc qdisc add dev eth0 handle ffff: ingress #tc filter add dev $ETH parent ffff: pref 1 protocol 802.1Q
u32 match u32 0 0 flowid 1:1
action vlan pop reclassify

For an example of the pop_eth and push_eth modes, see tc-mpls(8).

SEE ALSO

tc(8), tc-mpls(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

222 - Linux cli command vfs_streams_xattr

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_streams_xattr and provides detailed information about the command vfs_streams_xattr, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_streams_xattr.

NAME πŸ–₯️ vfs_streams_xattr πŸ–₯️

Store alternate data streams in posix xattrs

SYNOPSIS

vfs objects = streams_xattr

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_streams_xattr enables storing of NTFS alternate data streams in the file system. As a normal posix file system does not support the concept of multiple data streams per file, the streams_xattr module stores the data in posix extended attributes (xattrs). The name of these attributes by default is user.DosStream.“ADS-NAME”. The prefix “user.DosStream.” can be changed with the module option streams_xattr:prefix, but be aware that this will also expose those ADS over the SMB extended attributes interface.

The file system that is shared with this module enabled must support xattrs.

Please note that most file systems have severe limitations on the size of xattrs. So this module might work for applications like IE that stores small zone information in streams but will fail for applications that store serious amounts of data in ADSs.

OPTIONS

streams_xattr:prefix = STRING

Name prefix used when storing an ADS in an xattr, defaults to user.DosStream.. Changing this will also expose ADS over the SMB extended attributes interface.

streams_xattr:store_stream_type = [yes|no]

Whether the xattr names for Alternate Data Streams of type “$DATA” are suffixed by the stream type string “:$DATA”. The default is yes.

EXAMPLES

    [share]
	vfs objects = streams_xattr

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

223 - Linux cli command vfs_preopen

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_preopen and provides detailed information about the command vfs_preopen, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_preopen.

NAME πŸ–₯️ vfs_preopen πŸ–₯️

Hide read latencies for applications reading numbered files

SYNOPSIS

vfs objects = preopen

DESCRIPTION

This VFS module is part of the samba(7) suite.

This module assists applications that want to read numbered files in sequence with very strict latency requirements. One area where this happens in video streaming applications that want to read one file per frame.

When you use this module, a number of helper processes is started that speculatively open files and read a number of bytes to prime the file system cache, so that later on when the real applications request comes along, no disk access is necessary.

This module is stackable.

OPTIONS

preopen:posix-basic-regex = BOOL (default: no)

preopen:posix-basic-regex = yes changes the meaning of the preopen:names option. Further details are described there.

preopen:names = /pattern1/pattern2/

preopen:names specifies the file name pattern(s) which should trigger the preopen helpers to do their work. We assume that the files are numbered incrementally. So if your file names are numbered FRAME00000.frm FRAME00001.frm and so on you would list them as preopen:names=/FRAME*.frm/. The default algorithm uses the first (at least 3) digits it finds in order to calculate the name of the next frames.

preopen:posix-basic-regex = yes changes the meaning of the preopen:names option. It means POSIX Basic Regular Expression strings are used as patterns. The key is each pattern requires exactly one subexpression starting with \ and ending with \ in order to specify the position of the digits representing the incrementing frame numbers. Given a file names like Movie7599Frame0v1234.txt, Movie7599Frame1v1234.txt, Movie7599Frame2v1234.txt up to Movie7599Frame9v1234.txt you can use preopen:names = /.*Frame\[0-9].*\txt/ in order to match just a single digits, this might not be a real world example, but it shows the flexibility that is possible here.

preopen:num_bytes = BYTES

Specifies the number of bytes the helpers should speculatively read, defaults to 1.

preopen:helpers = NUM-PROCS

Number of forked helper processes, defaults to 1.

preopen:queuelen = NUM-FILES

Number of files that should be speculatively opened. Defaults to the 10 subsequent files.

preopen:nomatch_log_level = LOGLEVEL

In order to debug or audit the usage of the preopen logic you can use this option to specify at what log level details about filenames not matching any pattern from preopen:names are logged.

Defaults to the log level 5. See also smb.conf(5) in the log level section for special handling of the preopen debug class.

preopen:match_log_level = LOGLEVEL

In order to debug or audit the usage of the preopen logic you can use this option to specify at what log level details about filenames actually matching a pattern from preopen:names are logged.

See also preopen:founddigits_log_level and preopen:push_log_level.

Defaults to the log level 5. See also smb.conf(5) in the log level section for special handling of the preopen debug class.

preopen:nodigits_log_level = LOGLEVEL

In order to debug or audit problems with the preopen configuration you can use this option to specify at what log level details about filenames actually matching a pattern from preopen:names, but at the same time dont contain the expected digits, are logged. This is typically something the administrator wants to notice and adjust the configuration in order to define more precisely where to find the digits in the filename.

Defaults to the log level 1. See also smb.conf(5) in the log level section for special handling of the preopen debug class.

preopen:founddigits_log_level = LOGLEVEL

In order to debug or audit the usage of the preopen logic you can use this option to specify at what log level details about filenames actually matching a pattern from preopen:names, and at the same time having valid expected digits, are logged. This means enough information is available in order to queue preopens.

Defaults to the log level 3. See also smb.conf(5) in the log level section for special handling of the preopen debug class.

preopen:reset_log_level = LOGLEVEL

If a matching filename belongs to a different pattern from preopen:names, a different parent directory or differs in a significant way from the last filename that was found before, the module needs to reset its internal queue state. This means that no more preopens will be pushed to helper processes belonging to the former queue state. In order to debug or audit such queue resets you can use this option to specify at what log level details are logged.

Defaults to the log level 5. See also smb.conf(5) in the log level section for special handling of the preopen debug class.

preopen:push_log_level = LOGLEVEL

In order to debug or audit the usage of the preopen logic you can use this option to specify at what log level details about filenames actually pushed to preopen helper processes are logged. This means they will actually be preopened soon.

Defaults to the log level 3. See also smb.conf(5) in the log level section for special handling of the preopen debug class.

preopen:queue_log_level = LOGLEVEL

In order to debug details about internal queue processing you can use this option to specify at what log level the details are logged.

Defaults to the log level 10. See also smb.conf(5) in the log level section for special handling of the preopen debug class.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The PREOPEN VFS module was created with contributions from Volker Lendecke and the developers at IBM.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

224 - Linux cli command tune2fs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tune2fs and provides detailed information about the command tune2fs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tune2fs.

NAME πŸ–₯️ tune2fs πŸ–₯️

adjust tunable file system parameters on ext2/ext3/ext4 file systems

SYNOPSIS

tune2fs [ -l ] [ -c max-mount-counts ] [ -e errors-behavior ] [ -f ] [ -i interval-between-checks ] [ -I new_inode_size ] [ -j ] [ -J journal-options ] [ -m reserved-blocks-percentage ] [ -o [^]mount-options*[,…]* ] [ -r reserved-blocks-count ] [ -u user ] [ -g group ] [ -C mount-count ] [ -E extended-options ] [ -L volume-label ] [ -M last-mounted-directory ] [ -O [^]feature[,…] ] [ -Q quota-options ] [ -T time-last-checked ] [ -U UUID ] [ -z undo_file ] device

DESCRIPTION

tune2fs allows the system administrator to adjust various tunable file system parameters on Linux ext2, ext3, or ext4 file systems. The current values of these options can be displayed by using the -l option to tune2fs(8) program, or by using the dumpe2fs(8) program.

The device specifier can either be a filename (i.e., /dev/sda1), or a LABEL or UUID specifier: “**LABEL=**volume-label” or “**UUID=**uuid”. (i.e., LABEL=home or UUID=e40486c6-84d5-4f2f-b99c-032281799c9d).

OPTIONS

-c* max-mount-counts*
Adjust the number of mounts after which the file system will be checked by e2fsck(8). If max-mount-counts is the string “random”, tune2fs will use a random value between 20 and 40. If max-mount-counts is 0 or -1, the number of times the file system is mounted will be disregarded by e2fsck(8) and the kernel.

Staggering the mount-counts at which file systems are forcibly checked will avoid all file systems being checked at one time when using journaled file systems.

Mount-count-dependent checking is disabled by default to avoid unanticipated long reboots while e2fsck does its work. If you are concerned about file system corruptions caused by potential hardware problems of kernel bugs, a better solution than mount-count-dependent checking is to use the e2scrub(8) program. This does require placing the file system on an LVM volume, however.

-C* mount-count*
Set the number of times the file system has been mounted. If set to a greater value than the max-mount-counts parameter set by the -c option, e2fsck(8) will check the file system at the next reboot.

-e* error-behavior*
Change the behavior of the kernel code when errors are detected. In all cases, a file system error will cause e2fsck(8) to check the file system on the next boot. error-behavior can be one of the following:

continue
Continue normal execution.

remount-ro
Remount file system read-only.

panic
Cause a kernel panic.

-E* extended-options*
Set extended options for the file system. Extended options are comma separated, and may take an argument using the equals (’=’) sign. The following extended options are supported:

clear_mmp
Reset the MMP block (if any) back to the clean state. Use only if absolutely certain the device is not currently mounted or being fscked, or major file system corruption can result. Needs ‘-f’.

**mmp_update_interval=**interval
Adjust the initial MMP update interval to interval seconds. Specifying an interval of 0 means to use the default interval. The specified interval must be less than 300 seconds. Requires that the mmp feature be enabled.

**stride=**stride-size
Configure the file system for a RAID array with stride-size file system blocks. This is the number of blocks read or written to disk before moving to next disk. This mostly affects placement of file system metadata like bitmaps at mke2fs(2) time to avoid placing them on a single disk, which can hurt the performance. It may also be used by block allocator.

**stripe_width=**stripe-width
Configure the file system for a RAID array with stripe-width file system blocks per stripe. This is typically be stride-size * N, where N is the number of data disks in the RAID (e.g. RAID 5 N+1, RAID 6 N+2). This allows the block allocator to prevent read-modify-write of the parity in a RAID stripe if possible when the data is written.

**hash_alg=**hash-alg
Set the default hash algorithm used for file systems with hashed b-tree directories. Valid algorithms accepted are: legacy, half_md4, and tea.

**encoding=**encoding-name
Enable the casefold feature in the super block and set encoding-name as the encoding to be used. If encoding-name is not specified, utf8 is used. The encoding cannot be altered if casefold was previously enabled.

**encoding_flags=**encoding-flags
Define parameters for file name character encoding operations. If a flag is not changed using this parameter, its default value is used. encoding-flags should be a comma-separated lists of flags to be enabled. The flags cannot be altered if casefold was previously enabled.

The only flag that can be set right now is strict which means that invalid strings should be rejected by the file system. In the default configuration, the strict flag is disabled.

**mount_opts=**mount_option_string
Set a set of default mount options which will be used when the file system is mounted. Unlike the bitmask-based default mount options which can be specified with the -o option, mount_option_string is an arbitrary string with a maximum length of 63 bytes, which is stored in the superblock.

The ext4 file system driver will first apply the bitmask-based default options, and then parse the mount_option_string, before parsing the mount options passed from the mount(8) program.

This superblock setting is only honored in 2.6.35+ kernels; and not at all by the ext2 and ext3 file system drivers.

**orphan_file_size=**size
Set size of the file for tracking unlinked but still open inodes and inodes with truncate in progress. Larger file allows for better scalability, reserving a few blocks per cpu is ideal.

force_fsck
Set a flag in the file system superblock indicating that errors have been found. This will force fsck to run at the next mount.

test_fs
Set a flag in the file system superblock indicating that it may be mounted using experimental kernel code, such as the ext4dev file system.

^test_fs
Clear the test_fs flag, indicating the file system should only be mounted using production-level file system code.

-f
Force the tune2fs operation to complete even in the face of errors. This option is useful when removing the has_journal file system feature from a file system which has an external journal (or is corrupted such that it appears to have an external journal), but that external journal is not available. If the file system appears to require journal replay, the -f flag must be specified twice to proceed.

WARNING: Removing an external journal from a file system which was not cleanly unmounted without first replaying the external journal can result in severe data loss and file system corruption.

-g* group*
Set the group which can use the reserved file system blocks. The group parameter can be a numerical gid or a group name. If a group name is given, it is converted to a numerical gid before it is stored in the superblock.

-i interval-between-checks[d|m|w]
Adjust the maximal time between two file system checks. No suffix or d will interpret the number interval-between-checks as days, m as months, and w as weeks. A value of zero will disable the time-dependent checking.

There are pros and cons to disabling these periodic checks; see the discussion under the -c (mount-count-dependent check) option for details.

-I
Change the inode size used by the file system. This requires rewriting the inode table, so it requires that the file system is checked for consistency first using e2fsck(8). This operation can also take a while and the file system can be corrupted and data lost if it is interrupted while in the middle of converting the file system. Backing up the file system before changing inode size is recommended.

File systems with an inode size of 128 bytes do not support timestamps beyond January 19, 2038. Inodes which are 256 bytes or larger will support extended timestamps, project id’s, and the ability to store some extended attributes in the inode table for improved performance.

-j
Add an ext3 journal to the file system. If the -J option is not specified, the default journal parameters will be used to create an appropriately sized journal (given the size of the file system) stored within the file system. Note that you must be using a kernel which has ext3 support in order to actually make use of the journal.

If this option is used to create a journal on a mounted file system, an immutable file, .journal, will be created in the top-level directory of the file system, as it is the only safe way to create the journal inode while the file system is mounted. While the ext3 journal is visible, it is not safe to delete it, or modify it while the file system is mounted; for this reason the file is marked immutable. While checking unmounted file systems, e2fsck(8) will automatically move .journal files to the invisible, reserved journal inode. For all file systems except for the root file system, this should happen automatically and naturally during the next reboot cycle. Since the root file system is mounted read-only, e2fsck(8) must be run from a rescue floppy in order to effect this transition.

On some distributions, such as Debian, if an initial ramdisk is used, the initrd scripts will automatically convert an ext2 root file system to ext3 if the /etc/fstab file specifies the ext3 file system for the root file system in order to avoid requiring the use of a rescue floppy to add an ext3 journal to the root file system.

-J journal-options
Override the default ext3 journal parameters. Journal options are comma separated, and may take an argument using the equals (’=’) sign. The following journal options are supported:

**size=**journal-size
Create a journal stored in the file system of size journal-size megabytes. The size of the journal must be at least 1024 file system blocks (i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.) and may be no more than 10,240,000 file system blocks. There must be enough free space in the file system to create a journal of that size.

**fast_commit_size=**fast-commit-size
Create an additional fast commit journal area of size fast-commit-size kilobytes. This option is only valid if fast_commit feature is enabled on the file system. If this option is not specified and if fast_commit feature is turned on, fast commit area size defaults to journal-size / 64 megabytes. The total size of the journal with fast_commit feature set is journal-size + ( fast-commit-size * 1024) megabytes. The total journal size may be no more than 10,240,000 file system blocks or half the total file system size (whichever is smaller).

location*=journal-location*
Specify the location of the journal. The argument journal-location can either be specified as a block number, or if the number has a units suffix (e.g., ‘M’, ‘G’, etc.) interpret it as the offset from the beginning of the file system.

**device=**external-journal
Attach the file system to the journal block device located on external-journal. The external journal must have been already created using the command

mke2fs -O journal_dev external-journal

Note that external-journal must be formatted with the same block size as file systems which will be using it. In addition, while there is support for attaching multiple file systems to a single external journal, the Linux kernel and e2fsck(8) do not currently support shared external journals yet.

Instead of specifying a device name directly, external-journal can also be specified by either **LABEL=**label or **UUID=**UUID to locate the external journal by either the volume label or UUID stored in the ext2 superblock at the start of the journal. Use dumpe2fs(8) to display a journal device’s volume label and UUID. See also the -L option of tune2fs(8).

Only one of the size or device options can be given for a file system.

-l
List the contents of the file system superblock, including the current values of the parameters that can be set via this program.

-L* volume-label*
Set the volume label of the file system. Ext2 file system labels can be at most 16 characters long; if volume-label is longer than 16 characters, tune2fs will truncate it and print a warning. For other file systems that support online label manipulation and are mounted tune2fs will work as well, but it will not attempt to truncate the volume-label at all. The volume label can be used by mount(8), fsck(8), and /etc/fstab(5) (and possibly others) by specifying **LABEL=**volume-label instead of a block special device name like /dev/hda5.

-m* reserved-blocks-percentage*
Set the percentage of the file system which may only be allocated by privileged processes. Reserving some number of file system blocks for use by privileged processes is done to avoid file system fragmentation, and to allow system daemons, such as syslogd(8), to continue to function correctly after non-privileged processes are prevented from writing to the file system. Normally, the default percentage of reserved blocks is 5%.

-M* last-mounted-directory*
Set the last-mounted directory for the file system.

-o [^]mount-option[,…]
Set or clear the indicated default mount options in the file system. Default mount options can be overridden by mount options specified either in /etc/fstab(5) or on the command line arguments to mount(8). Older kernels may not support this feature; in particular, kernels which predate 2.4.20 will almost certainly ignore the default mount options field in the superblock.

More than one mount option can be cleared or set by separating features with commas. Mount options prefixed with a caret character (’^’) will be cleared in the file system’s superblock; mount options without a prefix character or prefixed with a plus character (’+’) will be added to the file system.

The following mount options can be set or cleared using tune2fs:

debug
Enable debugging code for this file system.

bsdgroups
Emulate BSD behavior when creating new files: they will take the group-id of the directory in which they were created. The standard System V behavior is the default, where newly created files take on the fsgid of the current process, unless the directory has the setgid bit set, in which case it takes the gid from the parent directory, and also gets the setgid bit set if it is a directory itself.

user_xattr
Enable user-specified extended attributes.

acl
Enable Posix Access Control Lists.

uid16
Disables 32-bit UIDs and GIDs. This is for interoperability with older kernels which only store and expect 16-bit values.

journal_data
When the file system is mounted with journaling enabled, all data (not just metadata) is committed into the journal prior to being written into the main file system.

journal_data_ordered
When the file system is mounted with journaling enabled, all data is forced directly out to the main file system prior to its metadata being committed to the journal.

journal_data_writeback
When the file system is mounted with journaling enabled, data may be written into the main file system after its metadata has been committed to the journal. This may increase throughput, however, it may allow old data to appear in files after a crash and journal recovery.

nobarrier
The file system will be mounted with barrier operations in the journal disabled. (This option is currently only supported by the ext4 file system driver in 2.6.35+ kernels.)

block_validity
The file system will be mounted with the block_validity option enabled, which causes extra checks to be performed after reading or writing from the file system. This prevents corrupted metadata blocks from causing file system damage by overwriting parts of the inode table or block group descriptors. This comes at the cost of increased memory and CPU overhead, so it is enabled only for debugging purposes. (This option is currently only supported by the ext4 file system driver in 2.6.35+ kernels.)

discard
The file system will be mounted with the discard mount option. This will cause the file system driver to attempt to use the trim/discard feature of some storage devices (such as SSD’s and thin-provisioned drives available in some enterprise storage arrays) to inform the storage device that blocks belonging to deleted files can be reused for other purposes. (This option is currently only supported by the ext4 file system driver in 2.6.35+ kernels.)

nodelalloc
The file system will be mounted with the nodelalloc mount option. This will disable the delayed allocation feature. (This option is currently only supported by the ext4 file system driver in 2.6.35+ kernels.)

-O [^]feature[,…]
Set or clear the indicated file system features (options) in the file system. More than one file system feature can be cleared or set by separating features with commas. File System features prefixed with a caret character (’^’) will be cleared in the file system’s superblock; file system features without a prefix character or prefixed with a plus character (’+’) will be added to the file system. For a detailed description of the file system features, please see the man page ext4(5).

The following file system features can be set or cleared using tune2fs:

64bit
Enable the file system to be larger than 2^32 blocks.

casefold
Enable support for file system level casefolding. The option can be cleared only if filesystem has no directories with F attribute.

dir_index
Use hashed b-trees to speed up lookups for large directories.

dir_nlink
Allow more than 65000 subdirectories per directory.

ea_inode
Allow the value of each extended attribute to be placed in the data blocks of a separate inode if necessary, increasing the limit on the size and number of extended attributes per file. Tune2fs currently only supports setting this file system feature.

encrypt
Enable support for file system level encryption. Tune2fs currently only supports setting this file system feature.

extent
Enable the use of extent trees to store the location of data blocks in inodes. Tune2fs currently only supports setting this file system feature.

extra_isize
Enable the extended inode fields used by ext4.

filetype
Store file type information in directory entries.

flex_bg
Allow bitmaps and inode tables for a block group to be placed anywhere on the storage media. Tune2fs will not reorganize the location of the inode tables and allocation bitmaps, as mke2fs(8) will do when it creates a freshly formatted file system with flex_bg enabled.

has_journal
Use a journal to ensure file system consistency even across unclean shutdowns. Setting the file system feature is equivalent to using the -j option.

fast_commit
Enable fast commit journaling feature to improve fsync latency.

large_dir
Increase the limit on the number of files per directory. Tune2fs currently only supports setting this file system feature.

huge_file
Support files larger than 2 terabytes in size.

large_file
File System can contain files that are greater than 2GB.

metadata_csum
Store a checksum to protect the contents in each metadata block.

metadata_csum_seed
Allow the file system to store the metadata checksum seed in the superblock, enabling the administrator to change the UUID of a file system using the metadata_csum feature while it is mounted.

mmp
Enable or disable multiple mount protection (MMP) feature.

project
Enable project ID tracking. This is used for project quota tracking.

quota
Enable internal file system quota inodes.

read-only
Force the kernel to mount the file system read-only.

resize_inode
Reserve space so the block group descriptor table may grow in the future. Tune2fs only supports clearing this file system feature.

sparse_super
Limit the number of backup superblocks to save space on large file systems. Tune2fs currently only supports setting this file system feature.

stable_inodes
Prevent the file system from being shrunk or having its UUID changed, in order to allow the use of specialized encryption settings that make use of the inode numbers and UUID. Tune2fs currently only supports setting this file system feature.

uninit_bg
Allow the kernel to initialize bitmaps and inode tables lazily, and to keep a high watermark for the unused inodes in a file system, to reduce e2fsck(8) time. The first e2fsck run after enabling this feature will take the full time, but subsequent e2fsck runs will take only a fraction of the original time, depending on how full the file system is.

verity
Enable support for verity protected files. Tune2fs currently only supports setting this file system feature.

After setting or clearing sparse_super, uninit_bg, filetype, or resize_inode file system features, the file system may require being checked using e2fsck(8) to return the file system to a consistent state. Tune2fs will print a message requesting that the system administrator run e2fsck(8) if necessary. After setting the dir_index feature, e2fsck -D can be run to convert existing directories to the hashed B-tree format. Enabling certain file system features may prevent the file system from being mounted by kernels which do not support those features. In particular, the uninit_bg and flex_bg features are only supported by the ext4 file system.

-r* reserved-blocks-count*
Set the number of reserved file system blocks.

-Q* quota-options*
Sets ‘quota’ feature on the superblock and works on the quota files for the given quota type. Quota options could be one or more of the following:

[^]usrquota
Sets/clears user quota inode in the superblock.

[^]grpquota
Sets/clears group quota inode in the superblock.

[^]prjquota
Sets/clears project quota inode in the superblock.

-T* time-last-checked*
Set the time the file system was last checked using e2fsck. The time is interpreted using the current (local) timezone. This can be useful in scripts which use a Logical Volume Manager to make a consistent snapshot of a file system, and then check the file system during off hours to make sure it hasn’t been corrupted due to hardware problems, etc. If the file system was clean, then this option can be used to set the last checked time on the original file system. The format of time-last-checked is the international date format, with an optional time specifier, i.e. YYYYMMDD[HH[MM[SS]]]. The keyword now is also accepted, in which case the last checked time will be set to the current time.

-u* user*
Set the user who can use the reserved file system blocks. user can be a numerical uid or a user name. If a user name is given, it is converted to a numerical uid before it is stored in the superblock.

-U* UUID*
Set the universally unique identifier (UUID) of the file system to UUID. The format of the UUID is a series of hex digits separated by hyphens, like this: “c1b9d5a2-f162-11cf-9ece-0020afc76f16”. The UUID parameter may also be one of the following:

clear
clear the file system UUID

random
generate a new randomly-generated UUID

time
generate a new time-based UUID

The UUID may be used by mount(8), fsck(8), and /etc/fstab(5) (and possibly others) by specifying **UUID=**uuid instead of a block special device name like /dev/hda1.

See uuidgen(8) for more information. If the system does not have a good random number generator such as /dev/random or /dev/urandom, tune2fs will automatically use a time-based UUID instead of a randomly-generated UUID.

-z* undo_file*
Before overwriting a file system block, write the old contents of the block to an undo file. This undo file can be used with e2undo(8) to restore the old contents of the file system should something go wrong. If the empty string is passed as the undo_file argument, the undo file will be written to a file named tune2fs-device.e2undo in the directory specified via the E2FSPROGS_UNDO_DIR environment variable.

WARNING: The undo file cannot be used to recover from a power or system crash.

BUGS

We haven’t found any bugs yet. That doesn’t mean there aren’t any…

AUTHOR

tune2fs was written by Remy Card <[email protected]>. It is currently being maintained by Theodore Ts’o <[email protected]>. tune2fs uses the ext2fs library written by Theodore Ts’o <[email protected]>. This manual page was written by Christian Kuhtz <[email protected]>. Time-dependent checking was added by Uwe Ohse <[email protected]>.

AVAILABILITY

tune2fs is part of the e2fsprogs package and is available from http://e2fsprogs.sourceforge.net.

SEE ALSO

debugfs(8), dumpe2fs(8), e2fsck(8), mke2fs(8), ext4(5)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

225 - Linux cli command urlsnarf

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command urlsnarf and provides detailed information about the command urlsnarf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the urlsnarf.

NAME πŸ–₯️ urlsnarf πŸ–₯️

sniff HTTP requests in Common Log Format

SYNOPSIS

urlsnarf [-n] [-i interface | -p pcapfile] [[-v] pattern [expression]]

DESCRIPTION

urlsnarf outputs all requested URLs sniffed from HTTP traffic in CLF (Common Log Format, used by almost all web servers), suitable for offline post-processing with your favorite web log analysis tool (analog, wwwstat, etc.).

OPTIONS

-n
Do not resolve IP addresses to hostnames.

-i interface
Specify the interface to listen on.

-p pcapfile
Process packets from the specified PCAP capture file instead of the network.

-v
“Versus” mode. Invert the sense of matching, to select non-matching URLs. Specify the interface to listen on.

pattern
Specify regular expression for URL matching.

expression
Specify a tcpdump(8) filter expression to select traffic to sniff.

SEE ALSO

dsniff(8)

AUTHOR

Dug Song <[email protected]>
β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

226 - Linux cli command ubinize

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command ubinize and provides detailed information about the command ubinize, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the ubinize.

NAME πŸ–₯️ ubinize πŸ–₯️

a tool for generating UBI images

SYNOPSIS

ubinize [-o filename] [-p <bytes>] [-m <bytes>] [-s <bytes>] [-O <num>] [-e <num>] [-x <num>] [-Q <num>] [-v] [-h] [-V] [–output=<filename>] [–peb-size=<bytes>] [–min-io-size=<bytes>] [–sub-page-size=<bytes>] [–vid-hdr-offset=<num>] [–erase-counter=<num>] [–ubi-ver=<num>] [–image-seq=<num>] [–verbose] [–help] [–version] ini-file

DESCRIPTION

An UBI image may contain one or more UBI volumes which have to be defined in the input configuration ini-file. The ini file defines all the UBI volumes - their characteristics and the contents, but it does not define the characteristics of the flash the UBI image is generated for. Instead, the flash characteristics are defined via the command-line options. Note, if not sure about some of the command-line parameters, do not specify them and let the utility use default values.

OPTIONS

-o,** –output=file**
Specify output file

-p,** –peb-size=bytes**
Size of the physical eraseblock of the flash this UBI image is created for in bytes, kilobytes (KiB), or megabytes (MiB). This parameter is mandatory.

-m,** –min-io-size=bytes**
Minimum input/output unit size of the flash in bytes

-s,** –sub-page-size=bytes**
Minimum input/output unit used for UBI headers, e.g. sub-page size in case of NAND flash (equivalent to the minimum input/output unit size by default).

-O,** –vid-hdr-offset=num**
Offset if the VID header from start of the physical eraseblock (default is the next minimum I/O unit or sub-page after the EC header)

-e,** –erase-counter=num**
The erase counter value to put to EC headers (default is 0).

-x,** –ubi-ver=num**
UBI version number to put to EC headers (default is 1).

-Q,** –image-seq=num**
32-bit UBI image sequence number to use (by default a random number is picked).

-v,** –verbose**
Be verbose.

-h,** –help**
Print a help message and exit.

-V,** –version**
Print program version and exit.

EXAMPLE

ubinize -o ubi.img -p 16KiB -m 512 -s 256 cfg.ini

Create UBI image ubi.img as described by configuration file cfg.ini.

A physical erase block on the flash is 16KiB in size and has 512 byte pages with 256 byte sub-pages.

INI-FILE FORMAT

The input configuration ini-file describes all the volumes which have to be included to the output UBI image. Each volume is described in its own section which may be named arbitrarily. The section consists on “key=value” pairs, for example:

[jffs2-volume]
mode=ubi
image=../jffs2.img
vol_id=1
vol_size=30MiB
vol_type=dynamic
vol_name=jffs2_volume
vol_flags=autoresize
vol_alignment=1

This example configuration file tells the utility to create an UBI image with one volume with ID 1, volume size 30MiB, the volume is dynamic, has name jffs2_volume, autoresize volume flag, and alignment 1.

The image=../jffs2.img line tells the utility to take the contents of the volume from the ../jffs2.img file. The size of the image file has to be less or equivalent to the volume size (30MiB).

The mode=ubi line is mandatory and just tells that the section describes an UBI volume - other section modes may be added in the future.

Notes:

  • Size in vol_size might be specified kilobytes (KiB), megabytes (MiB), gigabytes (GiB) or bytes (no modifier).

  • If “vol_size” key is absent, the volume size is assumed to be equivalent to the size of the image file (defined by “image” key).

  • If the “image” is absent, the volume is assumed to be empty

  • Volume alignment must not be greater than the logical eraseblock size.

  • One ini file may contain arbitrary number of sections, the utility will put all the volumes which are described by these section to the output UBI image file.

AUTHORS

Man page written by David Oberhollenzer, based on the help text of
the ubinize utility written by Artem Bityutskiy and Oliver Lohmann.

REPORTING BUGS

Report mtd-utils bugs to the Linux mtd mailing list.

Linux mtd mailing list: <[email protected]>
Linux mtd home page: <http://www.linux-mtd.infradead.org/>

AVAILABILITY

The ubinize command is part of the mtd-utils package and is available from ftp://ftp.infradead.org/pub/mtd-utils/.

COPYRIGHT

Copyright Β© International Business Machines Corp., 2006
Copyright Β© 2008 Nokia Corporation
Copyright Β© 2016 sigma star gmbh

License GPLv2: GNU GPL version 2 <http://gnu.org/licenses/gpl2.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

mkfs.jffs2(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

227 - Linux cli command tc-ematch

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-ematch and provides detailed information about the command tc-ematch, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-ematch.

NAME πŸ–₯️ tc-ematch πŸ–₯️

extended matches for use with “basic”, “cgroup” or “flow” filters

SYNOPSIS

tc filter add .. basic match EXPR .. flowid ..

EXPR := TERM [ { and | or } EXPR ]

TERM := [ not ] { MATCH | ‘(’ EXPR ‘)’ }

MATCH := module ‘(’ ARGS ‘)’

ARGS := ARG1 ARG2"..

MATCHES

cmp

Simple comparison ematch: arithmetic compare of packet data to a given value.

cmp( ALIGN at OFFSET [ ATTRS ] { eq | lt | gt } VALUE")

ALIGN := { u8 | u16 | u32 }

ATTRS := [ layer LAYER ] [ mask MASK"][trans]

LAYER := { link | network | transport | 0..2"}

meta

Metadata ematch

meta( OBJECT { eq | lt |gt } OBJECT")

OBJECT := { META_ID | VALUE"}

META_ID := id [ shift SHIFT ] [ mask MASK"]

meta attributes:
random 32 bit random value

loadavg_1 Load average in last 5 minutes

nf_mark Netfilter mark

vlan Vlan tag

sk_rcvbuf Receive buffer size

sk_snd_queue Send queue length

A full list of meta attributes can be obtained via

# tc filter add dev eth1 basic match ‘meta(list)’

nbyte

match packet data byte sequence

nbyte( NEEDLE at OFFSET [ layer LAYER"])

NEEDLE := { string | c-escape-sequence }

OFFSET := int

LAYER := { link | network | transport | 0..2"}

u32

u32 ematch

u32( ALIGN VALUE MASK at [ nexthdr+ ] OFFSET")

ALIGN := { u8 | u16 | u32"}

ipset

test packet against ipset membership

ipset( SETNAME FLAGS")

SETNAME := string

FLAGS := { FLAG [, FLAGS"]}

The flag options are the same as those used by the iptables “set” match.

When using the ipset ematch with the “ip_set_hash:net,iface” set type, the interface can be queried using “src,dst (source ip address, outgoing interface) or “src,src” (source ip address, incoming interface) syntax.

ipt

test packet against xtables matches

ipt( [-6] -m MATCH_NAME FLAGS)

MATCH_NAME := string

FLAGS := { FLAG [, FLAGS"]}

The flag options are the same as those used by the xtable match used.

canid

ematch rule to match CAN frames

canid( IDLIST")

IDLIST := IDSPEC[IDLIST]

IDSPEC := { ’sff’ CANID | ’eff’ CANID"}

CANID := ID[:MASK]

ID, MASK":=hexadecimalnumber(i.e.0x123)

CAVEATS

The ematch syntax uses ‘(’ and ‘)’ to group expressions. All braces need to be escaped properly to prevent shell commandline from interpreting these directly.

When using the ipset ematch with the “ifb” device, the outgoing device will be the ifb device itself, e.g. “ifb0”. The original interface (i.e. the device the packet arrived on) is treated as the incoming interface.

EXAMPLE & USAGE

# tc filter add .. basic match …

# ‘cmp(u16 at 3 layer 2 mask 0xff00 gt 20)’

# ‘meta(nfmark gt 24)’ and ‘meta(tcindex mask 0xf0 eq 0xf0)’

# ’nbyte(“ababa” at 12 layer 1)’

# ‘u32(u16 0x1122 0xffff at nexthdr+4)’

Check if packet source ip address is member of set named bulk:

# ‘ipset(bulk src)’

Check if packet source ip and the interface the packet arrived on is member of “hash:net,iface” set named interactive:

# ‘ipset(interactive src,src)’

Check if packet matches an IPSec state with reqid 1:

# ‘ipt(-m policy –dir in –pol ipsec –reqid 1)’

AUTHOR

The extended match infrastructure was added by Thomas Graf.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

228 - Linux cli command systemd-tpm2-generator

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tpm2-generator and provides detailed information about the command systemd-tpm2-generator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tpm2-generator.

NAME πŸ–₯️ systemd-tpm2-generator πŸ–₯️

tpm2-generator - Generator for inserting TPM2 synchronization point in the boot process

SYNOPSIS

/usr/lib/systemd/system-generators/systemd-tpm2-generator

DESCRIPTION

systemd-tpm2-generator is a generator that adds a Wants= dependency from sysinit.target to tpm2.target when it detects that the firmware discovered a TPM2 device but the OS kernel so far did not. tpm2.target is supposed to act as synchronization point for all services that require TPM2 device access. See systemd.special(7) for details.

The systemd.tpm2_wait= kernel command line option may be used to override behaviour of the generator. It accepts a boolean value: if true then tpm2.target will be added as synchronization point even if the firmware has not detected a TPM2 device. If false, the target will not be inserted even if firmware reported a device but the OS kernel doesnt expose a device for it yet. The latter might be useful in environments where a suitable TPM2 driver for the available hardware is not available.

systemd-tpm2-generator implements systemd.generator(7).

SEE ALSO

systemd(1), systemd.special(7), kernel-command-line(7)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

229 - Linux cli command systemd-tmpfiles

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tmpfiles and provides detailed information about the command systemd-tmpfiles, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tmpfiles.

NAME πŸ–₯️ systemd-tmpfiles πŸ–₯️

tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer - Create, delete, and clean up files and directories

SYNOPSIS

systemd-tmpfiles [OPTIONS…] [CONFIGFILE…]

System units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-setup-dev-early.service

systemd-tmpfiles-setup-dev.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

User units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

DESCRIPTION

systemd-tmpfiles creates, deletes, and cleans up files and directories, using the configuration file format and location specified in tmpfiles.d(5). Historically, it was designed to manage volatile and temporary files, as the name suggests, but it provides generic file management functionality and can be used to manage any kind of files. It must be invoked with one or more commands –create, –remove, and –clean, to select the respective subset of operations.

If invoked with no arguments, directives from the configuration files found in the directories specified by tmpfiles.d(5). When invoked with positional arguments, if option **–replace=**PATH is specified, arguments specified on the command line are used instead of the configuration file PATH. Otherwise, just the configuration specified by the command line arguments is executed. If the string “-” is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.

System services (systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service) invoke systemd-tmpfiles to create system files and to perform system wide cleanup. Those services read administrator-controlled configuration files in tmpfiles.d/ directories. User services (systemd-tmpfiles-setup.service, systemd-tmpfiles-clean.service) also invoke systemd-tmpfiles, but it reads a separate set of files, which includes user-controlled files under ~/.config/user-tmpfiles.d/ and ~/.local/share/user-tmpfiles.d/, and administrator-controlled files under /usr/share/user-tmpfiles.d/. Users may use this to create and clean up files under their control, but the system instance performs global cleanup and is not influenced by user configuration. Note that this means a time-based cleanup configured in the system instance, such as the one typically configured for /tmp/, will thus also affect files created by the user instance if they are placed in /tmp/, even if the user instances time-based cleanup is turned off.

To re-apply settings after configuration has been modified, simply restart systemd-tmpfiles-clean.service, which will apply any settings which can be safely executed at runtime. To debug systemd-tmpfiles, it may be useful to invoke it directly from the command line with increased log level (see $SYSTEMD_LOG_LEVEL below).

COMMANDS AND OPTIONS

The following commands are understood:

–create

If this command is passed, all files and directories marked with f, F, w, d, D, v, p, L, c, b, m in the configuration files are created or written to. Files and directories marked with z, Z, t, T, a, and A have their ownership, access mode and security labels set.

–clean

If this command is passed, all files and directories with an age parameter configured will be cleaned up.

–remove

If this command is passed, the contents of directories marked with D or R, and files or directories themselves marked with r or R are removed unless an exclusive or shared BSD lock is taken on them (see flock(2)).

–purge

If this option is passed, all files and directories marked for creation by the tmpfiles.d/ files specified on the command line will be deleted. Specifically, this acts on all files and directories marked with f, F, d, D, v, q, Q, p, L, c, b, C, w, e. If this switch is used at least one tmpfiles.d/ file (or - for standard input) must be specified on the command line or the invocation will be refused, for safety reasons (as otherwise much of the installed system files might be removed).

The primary usecase for this option is to automatically remove files and directories that originally have been created on behalf of an installed packaged at package removal time.

It is recommended to first run this command in combination with –dry-run (see below) to verify which files and directories will be deleted.

Warning! This is usually not the command you want! In most cases –remove is what you are looking for.

Added in version 256.

–user

Execute “user” configuration, i.e. tmpfiles.d files in user configuration directories.

Added in version 236.

–boot

Also execute lines with an exclamation mark. Lines that are not safe to be executed on a running system may be marked in this way. systemd-tmpfiles is executed in early boot with –boot specified and will execute those lines. When invoked again later, it should be called without –boot.

Added in version 209.

–graceful

Ignore configuration lines pertaining to unknown users or groups. This option is intended to be used in early boot before all users or groups have been created.

Added in version 254.

–dry-run

Process the configuration and print what operations would be performed, but dont actually change anything in the file system.

Added in version 256.

**–prefix=**path

Only apply rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 212.

**–exclude-prefix=**path

Ignore rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 207.

-E

A shortcut for “–exclude-prefix=/dev –exclude-prefix=/proc –exclude-prefix=/run –exclude-prefix=/sys”, i.e. exclude the hierarchies typically backed by virtual or memory file systems. This is useful in combination with –root=, if the specified directory tree contains an OS tree without these virtual/memory file systems mounted in, as it is typically not desirable to create any files and directories below these subdirectories if they are supposed to be overmounted during runtime.

Added in version 247.

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths.

When this option is used, the libc Name Service Switch (NSS) is bypassed for resolving users and groups. Instead the files /etc/passwd and /etc/group inside the alternate root are read directly. This means that users/groups not listed in these files will not be resolved, i.e. LDAP NIS and other complex databases are not considered.

Consider combining this with -E to ensure the invocation does not create files or directories below mount points in the OS image operated on that are typically overmounted during runtime.

Added in version 212.

**–image=**image

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Implies -E.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–replace=**PATH

When this option is given, one or more positional arguments must be specified. All configuration files found in the directories listed in tmpfiles.d(5) will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file PATH.

This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority.

Added in version 238.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

It is possible to combine –create, –clean, and –remove in one invocation (in which case removal and cleanup are executed before creation of new files). For example, during boot the following command line is executed to ensure that all temporary and volatile directories are removed and created according to the configuration file:

systemd-tmpfiles –remove –create

CREDENTIALS

systemd-tmpfiles supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

tmpfiles.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other tmpfiles.d/ drop-in configuration file. If this credential is passed it is processed after all of the drop-in files read from the file system. The lines in the credential can hence augment existing lines of the OS, but not override them.

Added in version 252.

Note that by default the systemd-tmpfiles-setup.service unit file (and related unit files) is set up to inherit the “tmpfiles.extra” credential from the service manager.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

UNPRIVILEGED –CLEANUP OPERATION

systemd-tmpfiles tries to avoid changing the access and modification times on the directories it accesses, which requires CAP_FOWNER privileges. When running as non-root, directories which are checked for files to clean up will have their access time bumped, which might prevent their cleanup.

EXIT STATUS

On success, 0 is returned. If the configuration was syntactically invalid (syntax errors, missing arguments, …), so some lines had to be ignored, but no other errors occurred, 65 is returned (EX_DATAERR from /usr/include/sysexits.h). If the configuration was syntactically valid, but could not be executed (lack of permissions, creation of files in missing directories, invalid contents when writing to /sys/ values, …), 73 is returned (EX_CANTCREAT from /usr/include/sysexits.h). Otherwise, 1 is returned (EXIT_FAILURE from /usr/include/stdlib.h).

Note: when creating items, if the target already exists, but is of the wrong type or otherwise does not match the requested state, and forced operation has not been requested with “+”, a message is emitted, but the failure is otherwise ignored.

SEE ALSO

systemd(1), tmpfiles.d(5)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

230 - Linux cli command tc-stab

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-stab and provides detailed information about the command tc-stab, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-stab.

NAME πŸ–₯️ tc-stab πŸ–₯️

stab - Generic size table manipulations

SYNOPSIS

tc qdisc add ... stab
[ mtu BYTES ] [ tsize SLOTS ]
[ mpu BYTES ] [ overhead BYTES ]
[ linklayer { adsl | atm | ethernet } ] ...

OPTIONS

For the description of BYTES - please refer to the UNITS section of tc(8).

mtu

maximum packet size we create size table for, assumed 2048 if not specified explicitly

tsize

required table size, assumed 512 if not specified explicitly

mpu

minimum packet size used in computations

overhead

per-packet size overhead (can be negative) used in computations

linklayer

required linklayer specification.

DESCRIPTION

Size tables allow manipulation of packet sizes, as seen by the whole scheduler framework (of course, the actual packet size remains the same). Adjusted packet size is calculated only once - when a qdisc enqueues the packet. Initial root enqueue initializes it to the real packet’s size.

Each qdisc can use a different size table, but the adjusted size is stored in an area shared by whole qdisc hierarchy attached to the interface. The effect is that if you have such a setup, the last qdisc with a stab in a chain “wins”. For example, consider HFSC with simple pfifo attached to one of its leaf classes. If that pfifo qdisc has stab defined, it will override lengths calculated during HFSC’s enqueue; and in turn, whenever HFSC tries to dequeue a packet, it will use a potentially invalid size in its calculations. Normal setups will usually include stab defined only on root qdisc, but further overriding gives extra flexibility for less usual setups.

The initial size table is calculated by tc tool using mtu and tsize parameters. The algorithm sets each slot’s size to the smallest power of 2 value, so the whole mtu is covered by the size table. Neither tsize, nor mtu have to be power of 2 value, so the size table will usually support more than is required by mtu.

For example, with mtuΒ =Β 1500 and tsizeΒ =Β 128, a table with 128 slots will be created, where slot 0 will correspond to sizes 0-16, slot 1 to 17Β -Β 32, …, slot 127 to 2033Β -Β 2048. Sizes assigned to each slot depend on linklayer parameter.

Stab calculation is also safe for an unusual case, when a size assigned to a slot would be larger than 2^16-1 (you will lose the accuracy though).

During the kernel part of packet size adjustment, overhead will be added to original size, and then slot will be calculated. If the size would cause overflow, more than 1 slot will be used to get the final size. This of course will affect accuracy, but it’s only a guard against unusual situations.

Currently there are two methods of creating values stored in the size table - ethernet and atm (adsl):

ethernet

This is basically 1-1 mapping, so following our example from above (disregarding mpu for a moment) slot 0 would have 8, slot 1 would have 16 and so on, up to slot 127 with 2048. Note, that mpuΒ >Β 0 must be specified, and slots that would get less than specified by mpu will get mpu instead. If you don’t specify mpu, the size table will not be created at all (it wouldn’t make any difference), although any overhead value will be respected during calculations.

atm, adsl

ATM linklayer consists of 53 byte cells, where each of them provides 48 bytes for payload. Also all the cells must be fully utilized, thus the last one is padded if/as necessary.

When the size table is calculated, adjusted size that fits properly into lowest amount of cells is assigned to a slot. For example, a 100 byte long packet requires three 48-byte payloads, so the final size would require 3 ATM cells - 159 bytes.

For ATM size tables, 16Β bytes sized slots are perfectly enough. The default values of mtu and tsize create 4Β bytes sized slots.

TYPICAL OVERHEADS

The following values are typical for different adsl scenarios (based on [1] and [2]):

LLC based:
PPPoA - 14 (PPP - 2, ATM - 12)
PPPoE - 40+ (PPPoE - 8, ATM - 18, ethernet 14, possibly FCS - 4+padding)
Bridged - 32 (ATM - 18, ethernet 14, possibly FCS - 4+padding)
IPoA - 16 (ATM - 16)

VC Mux based:
PPPoA - 10 (PPP - 2, ATM - 8)
PPPoE - 32+ (PPPoE - 8, ATM - 10, ethernet 14, possibly FCS - 4+padding)
Bridged - 24+ (ATM - 10, ethernet 14, possibly FCS - 4+padding)
IPoA - 8 (ATM - 8)

There are a few important things regarding the above overheads:

  • IPoA in LLC case requires SNAP, instead of LLC-NLPID (see rfc2684) - this is the reason why it actually takes more space than PPPoA.

  • In rare cases, FCS might be preserved on protocols that include Ethernet frames (Bridged and PPPoE). In such situation, any Ethernet specific padding guaranteeing 64 bytes long frame size has to be included as well (see RFC2684). In the other words, it also guarantees that any packet you send will take minimum 2 atm cells. You should set mpu accordingly for that.

  • When the size table is consulted, and you’re shaping traffic for the sake of another modem/router, an Ethernet header (without padding) will already be added to initial packet’s length. You should compensate for that by subtracting 14 from the above overheads in this case. If you’re shaping directly on the router (for example, with speedtouch usb modem) using ppp daemon, you’re using raw ip interface without underlying layer2, so nothing will be added.

For more thorough explanations, please see [1] and [2].

ETHERNET CARDS CONSIDERATIONS

It’s often forgotten that modern network cards (even cheap ones on desktop motherboards) and/or their drivers often support different offloading mechanisms. In the context of traffic shaping, ’tso’ and ‘gso’ might cause undesirable effects, due to massive TCP segments being considered during traffic shaping (including stab calculations). For slow uplink interfaces, it’s good to use ethtool to turn off offloading features.

SEE ALSO

tc(8), tc-hfsc(7), tc-hfsc(8),
[1] http://ace-host.stuart.id.au/russell/files/tc/tc-atm/
[2] http://www.faqs.org/rfcs/rfc2684.html

Please direct bugreports and patches to: <[email protected]>

AUTHOR

Manpage created by Michal Soltys ([email protected])

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

231 - Linux cli command vfs_cap

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_cap and provides detailed information about the command vfs_cap, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_cap.

NAME πŸ–₯️ vfs_cap πŸ–₯️

CAP encode filenames

SYNOPSIS

vfs objects = cap

DESCRIPTION

This VFS module is part of the samba(7) suite.

CAP (Columbia Appletalk Protocol) encoding is a technique for representing non-ASCII filenames in ASCII. The vfs_cap VFS module translates filenames to and from CAP format, allowing users to name files in their native encoding.

CAP encoding is most commonly used in Japanese language environments.

This module is stackable.

EXAMPLES

On a system using GNU libiconv, use CAP encoding to support users in the Shift_JIS locale:

    [global]
	dos charset = CP932
	dos charset = CP932
	vfs objects = cap

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

232 - Linux cli command tcptraceroute.db

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tcptraceroute.db and provides detailed information about the command tcptraceroute.db, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tcptraceroute.db.

NAME πŸ–₯️ tcptraceroute.db πŸ–₯️

print the route packets trace to network host

SYNOPSIS

traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate,…]

[-i device] [-m max_ttl] [-p port] [-s src_addr]

[-q nqueries] [-N squeries] [-t tos]

[-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D]

[-P proto] [–sport=port] [-M method] [-O mod_options]

[–mtu] [–back]

host [packet_len]
traceroute6 [options]
tcptraceroute [options]
lft [options]

DESCRIPTION

traceroute tracks the route packets taken from an IP network on their way to a given host. It utilizes the IP protocol’s time to live (TTL) field and attempts to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to the host.

traceroute6 is equivalent to traceroute -6

tcptraceroute is equivalent to traceroute -T

lft , the Layer Four Traceroute, performs a TCP traceroute, like traceroute -T , but attempts to provide compatibility with the original such implementation, also called “lft”.

The only required parameter is the name or IP address of the destination host . The optional packet_len`gth is the total size of the probing packet (default 60 bytes for IPv4 and 80 for IPv6). The specified size can be ignored in some situations or increased up to a minimal value.

This program attempts to trace the route an IP packet would follow to some internet host by launching probe packets with a small ttl (time to live) then listening for an ICMP “time exceeded” reply from a gateway. We start our probes with a ttl of one and increase by one until we get an ICMP “port unreachable” (or TCP reset), which means we got to the “host”, or hit a max (which defaults to 30 hops). Three probes (by default) are sent at each ttl setting and a line is printed showing the ttl, address of the gateway and round trip time of each probe. The address can be followed by additional information when requested. If the probe answers come from different gateways, the address of each responding system will be printed. If there is no response within a certain timeout, an “*” (asterisk) is printed for that probe.

After the trip time, some additional annotation can be printed: !H, !N, or !P (host, network or protocol unreachable), !S (source route failed), !F (fragmentation needed), !X (communication administratively prohibited), !V (host precedence violation), !C (precedence cutoff in effect), or !<num> (ICMP unreachable code <num>). If almost all the probes result in some kind of unreachable, traceroute will give up and exit.

We don’t want the destination host to process the UDP probe packets, so the destination port is set to an unlikely value (you can change it with the -p flag). There is no such a problem for ICMP or TCP tracerouting (for TCP we use half-open technique, which prevents our probes to be seen by applications on the destination host).

In the modern network environment the traditional traceroute methods can not be always applicable, because of widespread use of firewalls. Such firewalls filter the “unlikely” UDP ports, or even ICMP echoes. To solve this, some additional tracerouting methods are implemented (including tcp), see LIST OF AVAILABLE METHODS below. Such methods try to use particular protocol and source/destination port, in order to bypass firewalls (to be seen by firewalls just as a start of allowed type of a network session).

OPTIONS

–help
Print help info and exit.

-4, -6
Explicitly force IPv4 or IPv6 tracerouting. By default, the program will try to resolve the name given, and choose the appropriate protocol automatically. If resolving a host name returns both IPv4 and IPv6 addresses, traceroute will use IPv4.

-I, –icmp
Use ICMP ECHO for probes

-T, –tcp
Use TCP SYN for probes

-d, –debug
Enable socket level debugging (when the Linux kernel supports it)

-F, –dont-fragment
Do not fragment probe packets. (For IPv4 it also sets DF bit, which tells intermediate routers not to fragment remotely as well).

Varying the size of the probing packet by the packet_len command line parameter, you can manually obtain information about the MTU of individual network hops. The –mtu option (see below) tries to do this automatically.

Note, that non-fragmented features (like -F or –mtu) work properly since the Linux kernel 2.6.22 only. Before that version, IPv6 was always fragmented, IPv4 could use the once the discovered final mtu only (from the route cache), which can be less than the actual mtu of a device.

-f* first_ttl***, –first=**first_ttl
Specifies with what TTL to start. Defaults to 1.

-g* gateway***, –gateway=gateway
Tells traceroute to add an IP source routing option to the outgoing packet that tells the network to route the packet through the specified gateway (most routers have disabled source routing for security reasons). In general, several gateway’s is allowed (comma separated). For IPv6, the form of num
,addr,**addr… is allowed, where num is a route header type (default is type 2). Note the type 0 route header is now deprecated (rfc5095).

-i* interface***, –interface=**interface
Specifies the interface through which traceroute should send packets. By default, the interface is selected according to the routing table.

-m* max_ttl***, –max-hops=**max_ttl
Specifies the maximum number of hops (max time-to-live value) traceroute will probe. The default is 30.

-N* squeries***, –sim-queries=**squeries
Specifies the number of probe packets sent out simultaneously. Sending several probes concurrently can speed up traceroute considerably. The default value is 16.
Note that some routers and hosts can use ICMP rate throttling. In such a situation specifying too large number can lead to loss of some responses.

-n
Do not try to map IP addresses to host names when displaying them.

-p* port***, –port=**port
For UDP tracing, specifies the destination port base traceroute will use (the destination port number will be incremented by each probe).
For ICMP tracing, specifies the initial ICMP sequence value (incremented by each probe too).
For TCP and others specifies just the (constant) destination port to connect. When using the tcptraceroute wrapper, -p specifies the source port.

-t* tos***, –tos=**tos
For IPv4, set the Type of Service (TOS) and Precedence value. Useful values are 16 (low delay) and 8 (high throughput). Note that in order to use some TOS precedence values, you have to be super user.
For IPv6, set the Traffic Control value.

-l* flow_label***, –flowlabel=**flow_label
Use specified flow_label for IPv6 packets.

-w* max[*,here,near], –wait=*max[,here,*near]
Determines how long to wait for a response to a probe.

There are three (in general) float values separated by a comma (or a slash). Max specifies the maximum time (in seconds, default 5.0) to wait, in any case.

Traditional traceroute implementation always waited whole max seconds for any probe. But if we already have some replies from the same hop, or even from some next hop, we can use the round trip time of such a reply as a hint to determine the actual reasonable amount of time to wait.

The optional here (default 3.0) specifies a factor to multiply the round trip time of an already received response from the same hop. The resulting value is used as a timeout for the probe, instead of (but no more than) max. The optional near (default 10.0) specifies a similar factor for a response from some next hop. (The time of the first found result is used in both cases).

First, we look for the same hop (of the probe which will be printed first from now). If nothing found, then look for some next hop. If nothing found, use max. If here and/or near have zero values, the corresponding computation is skipped.
Here and near are always set to zero if only max is specified (for compatibility with previous versions).

-q* nqueries***, –queries=**nqueries
Sets the number of probe packets per hop. The default is 3.

-r
Bypass the normal routing tables and send directly to a host on an attached network. If the host is not on a directly-attached network, an error is returned. This option can be used to ping a local host through an interface that has no route through it.

-s* source_addr***, –source=**source_addr
Chooses an alternative source address. Note that you must select the address of one of the interfaces. By default, the address of the outgoing interface is used.

-z* sendwait***, –sendwait=**sendwait
Minimal time interval between probes (default 0). If the value is more than 10, then it specifies a number in milliseconds, else it is a number of seconds (float point values allowed too). Useful when some routers use rate-limit for ICMP messages.

-e, –extensions
Show ICMP extensions (rfc4884). The general form is CLASS*/TYPE:*** followed by a hexadecimal dump. The MPLS (rfc4950) is shown parsed, in a form: MPLS:L=label,E=exp_use,S=stack_bottom,T=TTL (more objects separated by / ). The Interface Information (rfc5837) is shown parsed as well, in a following form: {INC|SUB|OUT|NXT}:index,IP_addr,"name",mtu=MTU (all four fields may be missing).

-A, –as-path-lookups
Perform AS path lookups in routing registries and print results directly after the corresponding addresses.

-V, –version
Print the version and exit.

There are additional options intended for advanced usage (such as alternate trace methods etc.):

–sport=port
Chooses the source port to use. Implies -N 1 -w 5 . Normally source ports (if applicable) are chosen by the system.

–fwmark=mark
Set the firewall mark for outgoing packets (since the Linux kernel 2.6.25).

-M* method***, –module=name
Use specified method for traceroute operations. Default traditional udp method has name default, icmp (
-I**)" and tcp (-T)" have names icmp and tcp respectively.
Method-specific options can be passed by -O . Most methods have their simple shortcuts, (-I means -M icmp, etc).

-O* option***, –options=**options
Specifies some method-specific option. Several options are separated by comma (or use several -O on cmdline). Each method may have its own specific options, or many not have them at all. To print information about available options, use -O help.

-U, –udp
Use UDP to particular destination port for tracerouting (instead of increasing the port per each probe). Default port is 53 (dns).

-UL
Use UDPLITE for tracerouting (default port is 53).

-D, –dccp
Use DCCP Requests for probes.

-P* protocol***, –protocol=**protocol
Use raw packet of specified protocol for tracerouting. Default protocol is 253 (rfc3692).

–mtu
Discover MTU along the path being traced. Implies -F -N 1. New mtu is printed once in a form of F=NUM at the first probe of a hop which requires such mtu to be reached. (Actually, the correspond “frag needed” icmp message normally is sent by the previous hop).

Note, that some routers might cache once the seen information on a fragmentation. Thus you can receive the final mtu from a closer hop. Try to specify an unusual tos by -t , this can help for one attempt (then it can be cached there as well).
See -F option for more info.

–back
Print the number of backward hops when it seems different with the forward direction. This number is guessed in assumption that remote hops send reply packets with initial ttl set to either 64, or 128 or 255 (which seems a common practice). It is printed as a negate value in a form of ‘-NUM’ .

LIST OF AVAILABLE METHODS

In general, a particular traceroute method may have to be chosen by -M name, but most of the methods have their simple cmdline switches (you can see them after the method name, if present).

default

The traditional, ancient method of tracerouting. Used by default.

Probe packets are udp datagrams with so-called “unlikely” destination ports. The “unlikely” port of the first probe is 33434, then for each next probe it is incremented by one. Since the ports are expected to be unused, the destination host normally returns “icmp unreach port” as a final response. (Nobody knows what happens when some application listens for such ports, though).

This method is allowed for unprivileged users.

icmp -I

Most usual method for now, which uses icmp echo packets for probes.
If you can ping(8) the destination host, icmp tracerouting is applicable as well.

This method may be allowed for unprivileged users since the kernel 3.0 (IPv4, for IPv6 since 3.11), which supports new dgram icmp (or “ping”) sockets. To allow such sockets, sysadmin should provide net/ipv4/ping_group_range sysctl range to match any group of the user.
Options:

raw
Use only raw sockets (the traditional way).
This way is tried first by default (for compatibility reasons), then new dgram icmp sockets as fallback.

dgram
Use only dgram icmp sockets.

tcp -T

Well-known modern method, intended to bypass firewalls.
Uses the constant destination port (default is 80, http).

If some filters are present in the network path, then most probably any “unlikely” udp ports (as for default method) or even icmp echoes (as for icmp) are filtered, and whole tracerouting will just stop at such a firewall. To bypass a network filter, we have to use only allowed protocol/port combinations. If we trace for some, say, mailserver, then more likely -T -p 25 can reach it, even when -I can not.

This method uses well-known “half-open technique”, which prevents applications on the destination host from seeing our probes at all. Normally, a tcp syn is sent. For non-listened ports we receive tcp reset, and all is done. For active listening ports we receive tcp syn+ack, but answer by tcp reset (instead of expected tcp ack), this way the remote tcp session is dropped even without the application ever taking notice.

There is a couple of options for tcp method:

syn,ack,fin,rst,psh,urg,ece,cwr
Sets specified tcp flags for probe packet, in any combination.

flags=num
Sets the flags field in the tcp header exactly to num.

ecn
Send syn packet with tcp flags ECE and CWR (for Explicit Congestion Notification, rfc3168).

sack,timestamps,window_scaling
Use the corresponding tcp header option in the outgoing probe packet.

sysctl
Use current sysctl (/proc/sys/net/*) setting for the tcp header options above and ecn. Always set by default, if nothing else specified.

fastopen
Use fastopen tcp option (when syn), for initial cookie negotiation only.

mss=[num]
Use value of num (or unchanged) for maxseg tcp header option (when syn), and discover its clamping along the path being traced. New changed mss is printed once in a form of M=NUM at the first probe on which it was detected. Note, some routers may return too short original fragment in the time exceeded message, making the check impossible. Besides that the responses may come in a different order. All this can lead to a later place of the report (using -N 1 can help for the order).

info
Print tcp flags and supported options of final tcp replies when the target host is reached. Allows to determine whether an application listens the port and other useful things. Supported tcp options are all that can be set by -T -O, ie. mss, sack, timestamps, window_scaling and fastopen, with the similar output format (a value for mss and just presence for others).

Default options is syn,sysctl.

tcpconn

An initial implementation of tcp method, simple using connect(2) call, which does full tcp session opening. Not recommended for normal use, because a destination application is always affected (and can be confused).

udp -U

Use udp datagram with constant destination port (default 53, dns).
Intended to bypass firewall as well.

Note, that unlike in tcp method, the correspond application on the destination host always receive our probes (with random data), and most can easily be confused by them. Most cases it will not respond to our packets though, so we will never see the final hop in the trace. (Fortunately, it seems that at least dns servers replies with something angry).

This method is allowed for unprivileged users.

udplite -UL

Use udplite datagram for probes (with constant destination port, default 53).

This method is allowed for unprivileged users.
Options:

coverage=num
Set udplite send coverage to num.

dccp -D

Use DCCP Request packets for probes (rfc4340).

This method uses the same “half-open technique” as used for TCP. The default destination port is 33434.

Options:

service=num
Set DCCP service code to num (default is 1885957735).

raw -P proto

Send raw packet of protocol proto.
No protocol-specific headers are used, just IP header only.
Implies -N 1 -w 5 .
Options:

protocol=proto
Use IP protocol proto (default 253).

NOTES

To speed up work, normally several probes are sent simultaneously. On the other hand, it creates a “storm of packages”, especially in the reply direction. Routers can throttle the rate of icmp responses, and some of replies can be lost. To avoid this, decrease the number of simultaneous probes, or even set it to 1 (like in initial traceroute implementation), i.e. -N 1

The final (target) host can drop some of the simultaneous probes, and might even answer only the latest ones. It can lead to extra “looks like expired” hops near the final hop. We use a smart algorithm to auto-detect such a situation, but if it cannot help in your case, just use -N 1 too.

For even greater stability you can slow down the program’s work by -z option, for example use -z 0.5 for half-second pause between probes.

To avoid an extra waiting, we use adaptive algorithm for timeouts (see -w option for more info). It can lead to premature expiry (especially when response times differ at times) and printing “*” instead of a time. In such a case, switch this algorithm off, by specifying -w with the desired timeout only (for example, -w 5).

If some hops report nothing for every method, the last chance to obtain something is to use ping -R command (IPv4, and for nearest 8 hops only).

SEE ALSO

ping(8), ping6(8), tcpdump(8), netstat(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

233 - Linux cli command tc-skbprio

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-skbprio and provides detailed information about the command tc-skbprio, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-skbprio.

NAME πŸ–₯️ tc-skbprio πŸ–₯️

SKB Priority Queue

SYNOPSIS

tc qdisc … add skbprio [ limit packets ]

DESCRIPTION

SKB Priority Queue is a queueing discipline intended to prioritize the most important packets during a denial-of-service ( DoS ) attack. The priority of a packet is given by skb->priority , where a higher value places the packet closer to the exit of the queue. When the queue is full, the lowest priority packet in the queue is dropped to make room for the packet to be added if it has higher priority. If the packet to be added has lower priority than all packets in the queue, it is dropped.

Without SKB priority queue, queue length limits must be imposed on individual sub-queues, and there is no straightforward way to enforce a global queue length limit across all priorities. SKBprio queue enforces a global queue length limit while not restricting the lengths of individual sub-queues.

While SKB Priority Queue is agnostic to how skb->priority is assigned. A typical use case is to copy the 6-bit DS field of IPv4 and IPv6 packets using tc-skbedit(8). If skb->priority is greater or equal to 64, the priority is assumed to be 63. Priorities less than 64 are taken at face value.

SKB Priority Queue enables routers to locally decide which packets to drop under a DoS attack. Priorities should be assigned to packets such that the higher the priority, the more expected behavior a source shows. So sources have an incentive to play by the rules.

ALGORITHM

Skbprio maintains 64 lists (priorities go from 0 to 63). When a packet is enqueued, it gets inserted at the tail of its priority list. When a packet needs to be sent out to the network, it is taken from the head of the highest priority list. When the queue is full, the packet at the tail of the lowest priority list is dropped to serve the ingress packet - if it is of higher priority, otherwise the ingress packet is dropped. This algorithm allocates as much bandwidth as possible to high priority packets, while only servicing low priority packets when there is enough bandwidth.

PARAMETERS

limit
Maximum queue size specified in packets. It defaults to 64. The range for this parameter is [0, UINT32_MAX].

SEE ALSO

tc-prio(8), tc-skbedit(8)

AUTHORS

Nishanth Devarajan <[email protected]>, Michel Machado <[email protected]>

This manpage maintained by Bert Hubert <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

234 - Linux cli command update-shells

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-shells and provides detailed information about the command update-shells, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-shells.

NAME πŸ–₯️ update-shells πŸ–₯️

shells - update the list of valid login shells

SYNOPSIS

update-shells [options]

DESCRIPTION

update-shells locates the shells provided by packages from /usr/share/debianutils/shells.d and updates /etc/shells with newly added or removed shells. To track changes made by the administrator, it consults a state file in /var/lib/shells.state .

OPTIONS

–no-act
Do not actually perform the changes to /etc/shells .

–root
ROOT

Operate on a chroot at ROOT . Defaults to the value of the environment variable DPKG_ROOT .

–verbose
Print the shells that are being added or removed.

FILES

/etc/shells /var/lib/shells.state /usr/share/debianutils/shells.d

SEE ALSO

shells(5)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

235 - Linux cli command vfs_gpfs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_gpfs and provides detailed information about the command vfs_gpfs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_gpfs.

NAME πŸ–₯️ vfs_gpfs πŸ–₯️

gpfs specific samba extensions like acls

SYNOPSIS

vfs objects = gpfs

DESCRIPTION

This VFS module is part of the samba(7) suite.

The gpfs VFS module is the home for all gpfs extensions that Samba requires for proper integration with GPFS. It uses the GPL library interfaces provided by GPFS.

Currently the gpfs vfs module provides extensions in following areas :

Β·

NFSv4 ACL Interfaces with configurable options for GPFS

Β·

Kernel oplock support on GPFS

Β·

Lease support on GPFS

NOTE: This module follows the posix-acl behaviour and hence allows permission stealing via chown. Samba might allow at a later point in time, to restrict the chown via this module as such restrictions are the responsibility of the underlying filesystem than of Samba.

This module makes use of the smb.conf parameter acl map full control. When set to yes (the default), this parameter will add in the FILE_DELETE_CHILD bit on a returned ACE entry for a file (not a directory) that already contains all file permissions except for FILE_DELETE and FILE_DELETE_CHILD. This can prevent Windows applications that request GENERIC_ALL access from getting ACCESS_DENIED errors when running against a filesystem with NFSv4 compatible ACLs.

This module is stackable.

Since Samba 4.0 all options are per share options.

OPTIONS

nfs4:mode = [ simple | special ]

Controls substitution of special IDs (OWNER@ and GROUP@) on NFS4 ACLs. The use of mode simple is recommended. In this mode only non inheriting ACL entries for the file owner and group are mapped to special IDs.

The following MODEs are understood by the module:

Β·

simple(default) - use OWNER@ and GROUP@ special IDs for non inheriting ACEs only.

Β·

special(deprecated) - use OWNER@ and GROUP@ special IDs in ACEs for all file owner and group ACEs.

nfs4:acedup = [dontcare|reject|ignore|merge]

This parameter configures how Samba handles duplicate ACEs encountered in NFS4 ACLs. They allow creating duplicate ACEs with different bits for same ID, which may confuse the Windows clients.

Following is the behaviour of Samba for different values :

Β·

dontcare - copy the ACEs as they come

Β·

reject (deprecated) - stop operation and exit with error on ACL set op

Β·

ignore (deprecated) - dont include the second matching ACE

Β·

merge (default) - bitwise OR the 2 ace.flag fields and 2 ace.mask fields of the 2 duplicate ACEs into 1 ACE

nfs4:chown = [yes|no]

This parameter allows enabling or disabling the chown supported by the underlying filesystem. This parameter should be enabled with care as it might leave your system insecure.

Some filesystems allow chown as a) giving b) stealing. It is the latter that is considered a risk.

Following is the behaviour of Samba for different values :

Β·

yes - Enable chown if as supported by the under filesystem

Β·

no (default) - Disable chown

gpfs:sharemodes = [ yes | no ]

Enable/Disable cross node sharemode handling for GPFS.

Β·

yes(default) - propagate sharemodes across all GPFS nodes.

Β·

no - do not propagate sharemodes across all GPFS nodes. This should only be used if the GPFS file system is exclusively exported by Samba. Access by local unix application or NFS exports could lead to corrupted files.

gpfs:leases = [ yes | no ]

Enable/Disable cross node leases (oplocks) for GPFS. You should also set the oplocks and kernel oplocks options to the same value.

Β·

yes(default) - propagate leases across all GPFS nodes.

Β·

no - do not propagate leases across all GPFS nodes. This should only be used if the GPFS file system is exclusively exported by Samba. Access by local unix application or NFS exports could lead to corrupted files.

gpfs:hsm = [ yes | no ]

Enable/Disable announcing if this FS has HSM enabled.

Β·

no(default) - Do not announce HSM.

Β·

yes - Announce HSM.

gpfs:recalls = [ yes | no ]

When this option is set to no, an attempt to open an offline file will be rejected with access denied. This helps preventing recall storms triggered by careless applications like Finder and Explorer.

Β·

yes(default) - Open files that are offline. This will recall the files from HSM.

Β·

no - Reject access to offline files with access denied. This will prevent recalls of files from HSM. Using this setting also requires gpfs:hsm to be set to yes.

gpfs:getrealfilename = [ yes | no ]

Enable/Disable usage of the gpfs_get_realfilename_path() function. This improves the casesensitive wildcard file name access.

Β·

yes(default) - use gpfs_get_realfilename_path().

Β·

no - do not use gpfs_get_realfilename_path(). It seems that gpfs_get_realfilename_path() doesnt work on AIX.

gpfs:winattr = [ yes | no ]

Enable/Disable usage of the windows attributes in GPFS. GPFS is able to store windows file attributes e.g. HIDDEN, READONLY, SYSTEM and others natively. That means Samba doesnt need to map them to permission bits or extended attributes.

Β·

no(default) - do not use GPFS windows attributes.

Β·

yes - use GPFS windows attributes.

gpfs:acl = [ yes | no ]

This option lets Samba use or ignore GPFS ACLs.

Β·

yes(default) - use GPFS ACLs.

Β·

no - do not use GPFS ACLs and pass everything to the next SMB_VFS module.

gpfs:check_fstype = [ yes | no ]

Check for a mounted GPFS file system on access to a SMB share.

Β·

yes(default) - Check that the SMB share path is on a GPFS file system. Share access will be denied when a different file system is found.

Β·

no - skip check for GPFS file system on SMB share path.

gpfs:dfreequota = [ yes | no ]

Adjust reporting of the size and free space of a share according to quotas. If this setting is “yes”, a request for size and free space will also evaluate the user quota of the user requesting the data and the group quota of the primary group of the user. Fileset quotas are not queried, since GPFS already provides the option –dfreequota to reflect the fileset quota in the free space query. Please use that option to include fileset quotas in the reported disk space.

If any of the soft or hard quota limits has been reached, the free space will be reported as 0. If a quota is in place, but the limits have not been reached, the free space will be reported according to the space left in the quota. If more than one quota applies the free space will be reported as the smallest space left in those quotas. The size of the share will be reported according to the quota usage. If more than one quota applies, the smallest size will be reported for the share size according to these quotas.

Β·

yes - include the quotas when reporting the share size and free space

Β·

no(default) - do not include quotas, simply report the size and free space of the file system

gpfs:settimes = [ yes | no ]

Use the gpfs_set_times API when changing the timestamps of a file or directory. If the GPFS API is not available the old method of using utime and the GPFS winattr call will be used instead.

Β·

yes(default) - Use gpfs_set_times. Fall back to utime and winattr when it is not available.

Β·

no - Do not use gpfs_set_times.

gpfs:syncio = [yes|no]

This parameter makes Samba open all files with O_SYNC. This triggers optimizations in GPFS for workloads that heavily share files.

Following is the behaviour of Samba for different values:

Β·

yes - Open files with O_SYNC

Β·

no (default) - Open files as normal Samba would do

EXAMPLES

A GPFS mount can be exported via Samba as follows :

    [samba_gpfs_share]
	vfs objects = gpfs
	path = /test/gpfs_mount
	nfs4: mode = special
	nfs4: acedup = merge

CAVEATS

Depending on the version of gpfs, the libgpfs_gpl library or the libgpfs library is needed at runtime by the gpfs VFS module: Starting with gpfs 3.2.1 PTF8, the complete libgpfs is available as open source and libgpfs_gpl does no longer exist. With earlier versions of gpfs, only the libgpfs_gpl library was open source and could be used at run time.

At build time, only the header file gpfs_gpl.h is required, which is a symlink to gpfs.h in gpfs versions newer than 3.2.1 PTF8.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

The GPFS VFS module was created with contributions from Volker Lendecke and the developers at IBM.

This manpage was created by the IBM FSCC team

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

236 - Linux cli command wafw00f

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wafw00f and provides detailed information about the command wafw00f, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wafw00f.

NAME πŸ–₯️ wafw00f πŸ–₯️

Identify and fingerprint Web Application Firewall products

SYNOPSIS

wafw00f url1 [url2 [url3 … ]]

DESCRIPTION

The Web Application Firewall Identification and Fingerprinting Tool.

To do its magic, WAFW00F does the following:
Sends a normal HTTP request and analyses the response; this identifies a number of WAF solutions. If that is not successful, it sends a number of (potentially malicious) HTTP requests and uses simple logic to deduce which WAF it is. If that is also not successful, it analyses the responses previously returned and uses another simple algorithm to guess if a WAF or security solution is active>

OPTIONS

-h, –help
Show available options.

-v, –verbose
Enable verbosity - multiple -v options increase verbosity.

-a, –findall
Find all WAFs, do not stop testing on the first one.

-r, –noredirect
Do not follow redirections given by 3xx responses.

-t WAF, –test=WAF
Test for one specific WAF product.

-o OUTPUT, –output=OUTPUT
Write output to csv, json or text file depending on file extension. For stdout, specify - as filename.

-i INPUT, –input=INPUT
Read targets from a file. Input format can be csv, json or text. For csv and json, a `url` column name or element is required.

-l, –list
List all the WAFs that WAFW00F is able to detect.

-p PROXY, –proxy=PROXY
Use an HTTP proxy to perform requests, example: http://hostname:8080, socks5://hostname:1080.

-V, –version
Print out the version.

-H FILE, –headers=FILE
Pass custom headers, for example to overwrite the default user-agent string.

AUTHORS

Sandro Gauci (@SandroGauci)
Pinaki Mondal (@0xInfection)

REPORTING BUGS

You can report bugs at the project homepage issue tracker: <https://github.com/EnableSecurity/wafw00f/issues/>.

COPYRIGHT

Copyright (C) 2009-2022 WAFW00F Developers. License: BSD 3-Clause <https://opensource.org/licenses/BSD-3-Clause>.
This is free software: you are free to modify and distribute under the terms as permitted by the license provided alongwith.

SEE ALSO

Full documentation is available at: <https://github.com/EnableSecurity/wafw00f/wiki/>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

237 - Linux cli command systemd-update-utmp-runlevel.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-update-utmp-runlevel.service and provides detailed information about the command systemd-update-utmp-runlevel.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-update-utmp-runlevel.service.

NAME πŸ–₯️ systemd-update-utmp-runlevel.service πŸ–₯️

update-utmp.service, systemd-update-utmp-runlevel.service, systemd-update-utmp - Write audit and utmp updates at bootup, runlevel changes and shutdown

SYNOPSIS

systemd-update-utmp.service

systemd-update-utmp-runlevel.service

/usr/lib/systemd/systemd-update-utmp

DESCRIPTION

systemd-update-utmp-runlevel.service is a service that writes SysV runlevel changes to utmp and wtmp, as well as the audit logs, as they occur. systemd-update-utmp.service does the same for system reboots and shutdown requests.

SEE ALSO

systemd(1), utmp(5), auditd(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

238 - Linux cli command thc-ipv6

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command thc-ipv6 and provides detailed information about the command thc-ipv6, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the thc-ipv6.

NAME πŸ–₯️ thc-ipv6 πŸ–₯️

ipv6)

SYNOPSIS

tool [options] …

DESCRIPTION

This manual page briefly documents each of the attack-toolkit6 tools. Not all options are listed here, to see the full list of options of each tool please invoke them with -h.

Note that on Debian (if you read this on Debian) command names are prefixed with atk6- , so for example the tool alive6 should be invoked as atk6-alive6. This is a Debian-only modification.

address6 <mac-address/ipv4-address/ipv6-address> [ipv6-prefix]
Converts a mac or ipv4 address to an ipv6 address (link local if no prefix is given as 2nd option) or, when given an ipv6 address, prints the mac or ipv4 address. Prints all possible variations. Returns -1 on errors or the number of variations found.

alive6 <interface> [unicast-or-multicast-address [remote-router]]
Shows alive addresses in the segment. If you specify a remote router, the packets are sent with a routing header prefixed by fragmentation.

covert_send6 <interface> <target> <file> [port]
Sends the content of FILE covertly to the target.

covert_send6d <interface> <file>
Writes received covertly content to FILE.

denial6 <interface> <destination> <test-case-number>
Performs various denial of service attacks on a target.

detect_sniffer6 <interface> [target-ip]
Tests if systems on the local LAN are sniffing. Works against Windows, Linux, OS/X and *BSD systems.

dnssecwalk [-e46] <dns-server> <domain>
Performs DNSSEC NSEC walking.

dos_mld <interface>
This tools prevents new ipv6 interfaces to come up, by sending answers to duplicate ip6 checks (DAD). This results in a DOS for new ipv6 devices.

dos-new-ip6 <interface>
This tools prevents new ipv6 interfaces to come up, by sending answers to duplicate ip6 checks (DAD). This results in a DOS for new ipv6 devices.

detect-new-ip6 <interface> [scriptname]
This tools detects new ipv6 addresses joining the local network. If scriptname is supplied, it is executed with the detected IPv6 address as option.

dnsdict6 [-t THREADS] <domain> [dictionary-file]
Enumerates a domain for DNS entries, it uses a dictionary file if supplied or a built-in list otherwise.

dnsrevenum6 <dns-server> <ipv6-address>
Performs a fast reverse DNS enumeration.

dump_router6 <interface>
Dumps all local routers and their information.

dump_dhcp6 <interface>
Dumps all DHCPv6 servers and their information

exploit6 <interface> <destination> [test-case-number]
Performs exploits of various CVE known IPv6 vulnerabilities on the destination.

extract_hosts6 <file>
Prints the host parts of ipv6 addresses in file.

extract_networks6 <interface>
Prints the networks found in file.

fake_advertise6 <interface> <ip-address> [target-address [own-mac-address]]
Advertise ipv6 address on the network (with own mac if not defined) sending it to the all-nodes multicast address if no target specified.

fake_dhcps6 <interface> <network-address/prefix-length> <dns-server>
Fake DHCPv6 server. Used to configure an address and set a DNS server.

fake_dns6d <interface> <ipv6-address>
Fake DNS server that serves the same IPv6 address to any lookup request.

fake_dnsupdate6 <dns-server> <fqdn> <ipv6-address>
Send false DNS update requests.

fake_mipv6 <interface> <home-address> <home-agent-address> <care-of-address>
If the mobile IPv6 home-agent is mis-configured to accept MIPV6 updates without IPSEC, this will redirect all packets for home-address to care-of-address.

fake_mld6 <interface> <multicast-address> [[target-address] [[ttl] [[own-ip] [own-mac-address]]]]
Advertise yourself in a multicast group of your choice.

fake_mld26 [-l] <interface> <add|delete|query> [multicast-address [target-address [ttl [own-ip [own-mac-address [destination-mac-address]]]]]]
This uses the MLDv2 protocol. Only a subset of what the protocol is able to do is possible to implement via a command line.

fake_mldrouter6 [-l] <interface> <advertise|solicitate|terminate> [own-ip [own-mac-address]]
Announce, delete or solicitate MLD router - yourself or others.

fake_pim6 [-t ttl] [-s src6] [-d dst6] <interface> {<hello> [dr_priority]|{join|prune} <neighbor6> <multicast6> <target6>}
The hello command takes optionally the DR priority (default: 0).

fake_router6 <interface> <router-ip-link-local
network-address/prefix-length> <mtu> [mac-address] Announce yourself as a router and try to become the default router. If a non-existing mac-address is supplied, this results in a DOS.

fake_router26 <interface>
Like fake_router6 with more options available.

fake_solicitate6 <interface> <solicited-ip>
Solicits IPv6 address on the network, sending it to the all-nodes multicast address.

firewall6 [-u] <interface> <destination> <port> [test-case-no]
Performs various ACL bypass attempts to check implementations. Defaults to TCP ports, option -u switches to UDP. For all test cases to work, ICMPv6 ping to the destination must be allowed.

flood_advertise6 <interface>
Flood the local network with neighbor advertisements.

flood_dhcpc6 <interface> [domain-name]
DHCP client flooder. Use to deplete the IP address pool a DHCP6 server is offering. Note: if the pool is very large, this is rather senseless.

flood_mld6 <interface>
Flood the local network with MLD reports.

flood_mld26 <interface>
Flood the local network with MLDv2 reports.

flood_mldrouter6 <interface>
Flood the local network with MLD router advertisements.

flood_redir6 [-HFD] interface [target] [oldrouter [newrouter]]
Flood a target with ICMPv6 redirects

flood_router6 <interface>
Flood the local network with router advertisements.

flood_router26 <interface>
Similar to flood_router6 but with more options available.

flood_rs6 [-sS] interface [target]
Flood a network with ICMPv6 router solicitation messages

flood_solicitate6 <interface> [target-ip]
Flood the network with neighbor solicitations.

four2six [-FHD] [-s src6] interface ipv6-to-ipv4-gateway ipv4-src ipv4-dst [port]
Send (spoofed) packets over a 4to6 tunnel (IPv4 packets over IPv6 networks)

fragmentation6 <interface> <target-ip>
Performs fragment firewall and implementation checks, including denial-of-service.

fuzz_ip6 [-x] [-t number | -T number] [-p number] [-IFSDHRJ] [-1|-2|-3|-4|-5|-6|-7] <interface> <unicast-or-multicast-address> [address-in-data-pkt]
Fuzzes an icmp6 packet.

fuzz_dhcpc6 [-1|-2|-3|-4|-5|-6|-7|-8|-9|-A|-B|-C|-D|-m] [-f mac] [-l link] [-v ipv6] [-x xid] [-c client] [-o options] interface
Fuzzes messages sent to a DHCPv6 client.

fuzz_dhcps6 [-t number | -T number] [-e number | -T number] [-p number] [-md] [-1|-2|-3|-4|-5|-6|-7|-8] interface [domain-name]
Fuzzes a DHCPv6 server on specified packet types. implementation6 <interface> <destination> [test-case-number] Performs some ipv6 implementation checks, can be used to test firewalls too.

implementation6d <interface>
Identifies test packets by the implementation6 tool, useful to check what packets passed a firewall.

inject_alive6 [-ap] <interface>
This tool answers to keep-alive requests on PPPoE and 6in4 tunnels; for PPPoEt also sends keep-alive requests. Note that the appropriate environment variable THC_IPV6_{PPPOE|6IN4} must be set. Option -a will actively send alive requests every 15 seconds. Option -p will not send replies to alive requests.

inverse_lookup6 <interface> <mac-address>
Performs an inverse address query, to get the IPv6 addresses that are assigned to a MAC address. Note that only few systems support this yet.

kill_router6 <interface> <target-ip>
Announce that target router is going down to delete it from the routing tables. If you supply a ‘*’ as target-ip, this tool will sniff the network for RAs and immediately send the kill packet.

ndpexhaust26 <interface> [-acpPTUrR] [-s sourceip6] <target-network>
Flood the target /64 network with ICMPv6 TooBig error messages. This tool version is manyfold more effective than ndpexhaust6. -a add a hop-by-hop header with router alert. -c do not calculate the checksum to save time. -p send ICMPv6 Echo Requests. -P send ICMPv6 Echo Reply. -T send ICMPv6 Time-to-live-exceeded. -U send ICMPv6 Unreachable (no route). -r randomize the source from your /64 prefix. -R randomize the source fully. -s sourceip6 use this as source ipv6 address.

ndpexhaust6 <interface> <target-network>
Randomly pings IPs in target network.

node_query6 <interface> <target-ip>
Sends an ICMPv6 node query request to the target and dumps the replies.

parasite6 <interface> [fake-mac]
This is an “ARP spoofer” for IPv6, redirecting all local traffic to your own system (or nirvana if fake-mac does not exist) by answering falsely to Neighbor Solicitation requests, specifying FAKE-MAC results in a local DOS.

passive_discovery6 <interface> [scriptname]
Passively sniffs the network and dump all client’s IPv6 addresses detected. If scriptname is supplied, it is called with the detected IPv6 address as first and the interface as second parameters.

randicmp6 <interface> <target-ip>
Sends all ICMPv6 type and code combinations to target.

redir6 <interface> <src-ip> <target-ip> <original-router> <new-router> [new-router-mac]
Implant a route into src-ip, which redirects all traffic to target-ip to new-ip. You must know the router which would handle the route. If the new-router-mac does not exist, this results in a DOS.

redirsniff6 <interface> <victim-ip> <destination-ip> <original-router> [<new-router> [new-router-mac]]
Implant a route into victim-ip, which redirects all traffic to destination-ip to new-router. You must know the router which would handle the route. If the new-router and new-router-mac does not exist, this results in a DoS.

rsmurf6 <interface> <victim-ip>
Smurfs the local network of the victim. Note: this depends on an implementation error, currently only verified on Linux (fixed in current versions). Evil: “ff02::1” as victim will DOS your local LAN completely.

smurf6 <interface> <victim-ip> [multicast-network-address]
Smurf the target with ICMPv6 echo replies. Target of echo request is the local all-nodes multicast address if not specified.

sendpees6 <interface> <key_length> <prefix> <victim-ip>
Send SEND neighbor solicitation messages and make target to verify a lota CGA and RSA signatures.

sendpeesmp6 <interface> <key_length> <prefix> <victim-ip>
Multithreaded version of sendpees6.

trace6 [-d] <interface> targetaddress [port]
A basic but very fast traceroute6 program.

thcping6 <interface> <src6> <dst6> <srcmac> <dstmac> <data>
Craft your special ICMPv6 echo request packet.

thcsyn6 [-AcDrRS] [-p port] [-s source-ip6] <interface> <target> <port>
Flood the target port with TCP-SYN packets. If you supply “x” as port, it is randomized.

toobig6 <interface> <target-ip> <existing-ip> <mtu>
Implants the specified mtu on the target

SEE ALSO

nmap(1), amap(1), dsniff(8).

AUTHOR

thc-ipv6 was written by van Hauser <[email protected]> / THC

The homepage for this toolkit is: https://github.com/vanhauser-thc/thc-ipv6

This manual page was written by Maykel Moya <[email protected]> and Arturo Borrero Gonzalez <[email protected]>, for the Debian project (but may be used by others). It’s based on previous work by Michael Gebetsroither <[email protected]>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

239 - Linux cli command tipc-link

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tipc-link and provides detailed information about the command tipc-link, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tipc-link.

NAME πŸ–₯️ tipc-link πŸ–₯️

link - show links or modify link properties

SYNOPSIS

tipc link set
[ **{ **priority PRIORITY | tolerance TOLERANCE | window *WINDOW *} link LINK ] |
[ { broadcast [ BROADCAST | REPLICAST | AUTOSELECT [ ratio SIZE ] ] } ]

tipc link get
[ **{ priority | tolerance | window } **link LINK ] |
[ { broadcast } ]

tipc link statistics { **show **[ link LINK ] | “reset **link ***LINK * }

tipc link list

tipc link monitor set { threshold }

tipc link monitor get { threshold }

tipc link monitor summary

tipc link monitor list
[ **media ** { eth | ib } device DEVICE ] |
[ media udp name NAME ]

OPTIONS

Options (flags) that can be passed anywhere in the command chain.

-h,** –help**
Show help about last valid command. For example tipc link –help will show link help and tipc –help will show general help. The position of the option in the string is irrelevant.

-j,** -json**
Output results in JavaScript Object Notation (JSON).

-p,** -pretty**
The default JSON format is compact and more efficient to parse but hard for most users to read. This flag adds indentation for readability.

DESCRIPTION

**ACTIVE **link state

An ACTIVE link is serving traffic. Two links to the same node can become ACTIVE if they have the same link priority. If there is more than two links with the same priority the additional links will be put in STANDBY state.

**STANDBY **link state

A STANDBY link has lower link priority than an ACTIVE link. A STANDBY link has control traffic flowing and is ready to take over should the ACTIVE link(s) go down.

MTU

The Maximum Transmission Unit. The two endpoints advertise their default or configured MTU at initial link setup and will agree to use the lower of the two values should they differ.

Packets

The total amount of transmitted or received TIPC packets on a link. Including **fragmented **and **bundled **packets.

Fragments

Represented in the form fragments/fragmented. Where fragmented is the amount of data messages which have been broken into fragments. Subsequently the fragments are the total amount of packets that the fragmented messages has been broken into.

Bundles

Represented in the form bundles/bundled. If a link becomes congested the link will attempt to bundle data from small bundled packets into bundles of full MTU size packets before they are transmitted.

Profile

Shows the average packet size in octets/bytes for a sample of packets. It also shows the packet size distribution of the sampled packets in the intervals

0-64 bytes
64-256 bytes
256-1024 bytes
1024-4096 bytes
4096-16384 bytes
16384-32768 bytes
32768-66000 bytes

Message counters
states - Number of link state messages

probes - Link state messages with probe flag set. Typically sent when a link is idle

nacks - Number of negative acknowledgement (NACK) packets sent and received by the link

defs - Number of packets received out of order

dups - Number of duplicate packets received

Congestion link
The number of times an application has tried to send data when the TIPC link was congested

Send queue
Max is the maximum amount of messages that has resided in the out queue during the statistics collection period of a link.

Avg is the average outqueue size during the lifetime of a link.

priority

The priority between logical TIPC links to a particular node. Link priority can range from 0 (lowest) to 31 (highest).

tolerance

Link tolerance specifies the maximum time in milliseconds that TIPC will allow a communication problem to exist before taking the link down. The default value is 1500 milliseconds.

window

The link window controls how many unacknowledged messages a link endpoint can have in its transmit queue before TIPC’s congestion control mechanism is activated.

Monitor properties

threshold

The threshold specifies the cluster size exceeding which the link monitoring algorithm will switch from “full-mesh” to “overlapping-ring”. If set of 0 the overlapping-ring monitoring is always on and if set to a value larger than anticipated cluster size the overlapping-ring is disabled. The default value is 32.

Monitor information

table_generation

Represents the event count in a node’s local monitoring list. It steps every time something changes in the local monitor list, including changes in the local domain.

cluster_size

Represents the current count of cluster members.

algorithm

The current supervision algorithm used for neighbour monitoring for the bearer. Possible values are full-mesh or overlapping-ring.

status

The node status derived by the local node. Possible status are up or down.

monitored

Represent the type of monitoring chosen by the local node. Possible values are direct or indirect.

generation

Represents the domain generation which is the event count in a node’s local domain. Every time something changes (peer add/remove/up/down) the domain generation is stepped and a new version of node record is sent to inform the neighbors about this change. The domain generation helps the receiver of a domain record to know if it should ignore or process the record.

applied_node_status

The node status reported by the peer node for the succeeding peers in the node list. The Node list is a circular list of ascending addresses starting with the local node. Possible status are: U or D. The status U implies up and D down.

[non_applied_node:status]

Represents the nodes and their status as reported by the peer node. These nodes were not applied to the monitoring list for this peer node. They are usually transient and occur during the cluster startup phase or network reconfiguration. Possible status are: U or D. The status U implies up and D down.

Broadcast properties

BROADCAST

Forces all multicast traffic to be transmitted via broadcast only, irrespective of cluster size and number of destinations.

REPLICAST

Forces all multicast traffic to be transmitted via replicast only, irrespective of cluster size and number of destinations.

AUTOSELECT

Auto switching to broadcast or replicast depending on cluster size and destination node number.

ratio SIZE

Set the AUTOSELECT criteria, percentage of destination nodes vs cluster size.

EXAMPLES

tipc link monitor list

Shows the link monitoring information for cluster members on device data0.

tipc link monitor summary

The monitor summary command prints the basic attributes.

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

tipc(8), tipc-media(8), tipc-bearer(8), tipc-nametable(8), tipc-node(8), tipc-peer(8), tipc-socket(8)

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Richard Alpe <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

240 - Linux cli command systemd-volatile-root

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-volatile-root and provides detailed information about the command systemd-volatile-root, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-volatile-root.

NAME πŸ–₯️ systemd-volatile-root πŸ–₯️

volatile-root.service, systemd-volatile-root - Make the root file system volatile

SYNOPSIS

systemd-volatile-root.service

/usr/lib/systemd/systemd-volatile-root

DESCRIPTION

systemd-volatile-root.service is a service that replaces the root directory with a volatile memory file system (“tmpfs”), mounting the original (non-volatile) /usr/ inside it read-only. This way, vendor data from /usr/ is available as usual, but all configuration data in /etc/, all state data in /var/ and all other resources stored directly under the root directory are reset on boot and lost at shutdown, enabling fully stateless systems.

This service is only enabled if full volatile mode is selected, for example by specifying “systemd.volatile=yes” on the kernel command line. This service runs only in the initrd, before the system transitions to the hosts root directory. Note that this service is not used if “systemd.volatile=state” is used, as in that mode the root directory is non-volatile.

SEE ALSO

systemd(1), systemd-fstab-generator(8), kernel-command-line(7)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

241 - Linux cli command useradd

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command useradd and provides detailed information about the command useradd, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the useradd.

NAME πŸ–₯️ useradd πŸ–₯️

create a new user or update default new user information

SYNOPSIS

useradd [options] LOGIN

useradd -D

useradd -D [options]

DESCRIPTION

useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.

When invoked without the -D option, the useradd command creates a new user account using the values specified on the command line plus the default values from the system. Depending on command line options, the useradd command will update system files and may also create the new users home directory and copy initial files.

By default, a group will also be created for the new user (see -g, -N, -U, and USERGROUPS_ENAB).

OPTIONS

The options which apply to the useradd command are:

–badname

Allow names that do not conform to standards.

-b, –base-dir BASE_DIR

The default base directory for the system if -d HOME_DIR is not specified. BASE_DIR is concatenated with the account name to define the home directory.

If this option is not specified, useradd will use the base directory specified by the HOME variable in /etc/default/useradd, or /home by default.

-c, –comment COMMENT

Any text string. It is generally a short description of the account, and is currently used as the field for the users full name.

-d, –home-dir HOME_DIR

The new user will be created using HOME_DIR as the value for the users login directory. The default is to append the LOGIN name to BASE_DIR and use that as the login directory name. If the directory HOME_DIR does not exist, then it will be created unless the -M option is specified.

-D, –defaults

See below, the subsection “Changing the default values”.

-e, –expiredate EXPIRE_DATE

The date on which the user account will be disabled. The date is specified in the format YYYY-MM-DD.

If not specified, useradd will use the default expiry date specified by the EXPIRE variable in /etc/default/useradd, or an empty string (no expiry) by default.

-f, –inactive INACTIVE

defines the number of days after the password exceeded its maximum age where the user is expected to replace this password. The value is stored in the shadow password file. An input of 0 will disable an expired password with no delay. An input of -1 will blank the respective field in the shadow password file. See shadow(5)for more information.

If not specified, useradd will use the default inactivity period specified by the INACTIVE variable in /etc/default/useradd, or -1 by default.

-F, –add-subids-for-system

Update /etc/subuid and /etc/subgid even when creating a system account with -r option.

-g, –gid GROUP

The name or the number of the users primary group. The group name must exist. A group number must refer to an already existing group.

If not specified, the behavior of useradd will depend on the USERGROUPS_ENAB variable in /etc/login.defs. If this variable is set to yes (or -U/–user-group is specified on the command line), a group will be created for the user, with the same name as her loginname. If the variable is set to no (or -N/–no-user-group is specified on the command line), useradd will set the primary group of the new user to the value specified by the GROUP variable in /etc/default/useradd, or 100 by default.

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]

A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -g option. The default is for the user to belong only to the initial group. In addition to passing in the -G flag, you can add the option GROUPS to the file /etc/default/useradd which in turn will add all users to those supplementary groups.

-h, –help

Display help message and exit.

-k, –skel SKEL_DIR

The skeleton directory, which contains files and directories to be copied in the users home directory, when the home directory is created by useradd.

This option is only valid if the -m (or –create-home) option is specified.

If this option is not set, the skeleton directory is defined by the SKEL variable in /etc/default/useradd or, by default, /etc/skel.

Absolute symlinks that link back to the skel directory will have the /etc/skel prefix replaced with the users home directory.

If possible, the ACLs and extended attributes are copied.

-K, –key KEY=VALUE

Overrides /etc/login.defs defaults (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS and others).

Example: -K PASS_MAX_DAYS =-1 can be used when creating an account to turn off password aging. Multiple -K options can be specified, e.g.: -K UID_MIN =100 -K UID_MAX=499

-l, –no-log-init

Do not add the user to the lastlog and faillog databases.

By default, the users entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user.

If this option is not specified, useradd will also consult the variable LOG_INIT in the /etc/default/useradd if set to no the user will not be added to the lastlog and faillog databases.

-m, –create-home

Create the users home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory.

By default, if this option is not specified and CREATE_HOME is not enabled, no home directories are created.

The directory where the users home directory is created must exist and have proper SELinux context and permissions. Otherwise the users home directory cannot be created or accessed.

-M, –no-create-home

Do not create the users home directory, even if the system wide setting from /etc/login.defs (CREATE_HOME) is set to yes.

-N, –no-user-group

Do not create a group with the same name as the user, but add the user to the group specified by the -g option or by the GROUP variable in /etc/default/useradd.

The default behavior (if the -g, -N, and -U options are not specified) is defined by the USERGROUPS_ENAB variable in /etc/login.defs.

-o, –non-unique

allows the creation of an account with an already existing UID.

This option is only valid in combination with the -u option. As a user identity serves as key to map between users on one hand and permissions, file ownerships and other aspects that determine the systems behavior on the other hand, more than one login name will access the account of the given UID.

-p, –password PASSWORD

defines an initial password for the account. PASSWORD is expected to be encrypted, as returned by crypt (3). Within a shell script, this option allows to create efficiently batches of users.

Without this option, the new account will be locked and with no password defined, i.e. a single exclamation mark in the respective field of /etc/shadow. This is a state where the user wont be able to access the account or to define a password himself.

**Note:**Avoid this option on the command line because the password (or encrypted password) will be visible by users listing the processes.

You should make sure the password respects the systems password policy.

-r, –system

Create a system account.

System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups).

Note that useradd will not create a home directory for such a user, regardless of the default setting in /etc/login.defs (CREATE_HOME). You have to specify the -m options if you want a home directory for a system account to be created.

Note that this option will not update /etc/subuid and /etc/subgid. You have to specify the -F options if you want to update the files for a system account to be created.

-R, –root CHROOT_DIR

Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. Only absolute paths are supported.

-P, –prefix PREFIX_DIR

Apply changes to configuration files under the root filesystem found under the directory PREFIX_DIR. This option does not chroot and is intended for preparing a cross-compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support.

-s, –shell SHELL

sets the path to the users login shell. Without this option, the system will use the SHELL variable specified in /etc/default/useradd, or, if that is as well not set, the field for the login shell in /etc/passwd remains empty.

-u, –uid UID

The numerical value of the users ID. This value must be unique, unless the -o option is used. The value must be non-negative. The default is to use the smallest ID value greater than or equal to UID_MIN and greater than every other user.

See also the -r option and the UID_MAX description.

-U, –user-group

Create a group with the same name as the user, and add the user to this group.

The default behavior (if the -g, -N, and -U options are not specified) is defined by the USERGROUPS_ENAB variable in /etc/login.defs.

-Z, –selinux-user SEUSER

defines the SELinux user for the new account. Without this option, SELinux uses the default user. Note that the shadow system doesnt store the selinux-user, it uses semanage(8) for that.

–selinux-range SERANGE

defines the SELinux MLS range for the new account. Without this option, SELinux uses the default range. Note that the shadow system doesnt store the selinux-range, it uses semanage(8) for that.

This option is only valid if the -Z (or –selinux-user) option is specified.

Changing the default values

When invoked with only the -D option, useradd will display the current default values. When invoked with -D plus other options, useradd will update the default values for the specified options. Valid default-changing options are:

-b, –base-dir BASE_DIR

sets the path prefix for a new users home directory. The users name will be affixed to the end of BASE_DIR to form the new users home directory name, if the -d option is not used when creating a new account.

This option sets the HOME variable in /etc/default/useradd.

-e, –expiredate EXPIRE_DATE

sets the date on which newly created user accounts are disabled.

This option sets the EXPIRE variable in /etc/default/useradd.

-f, –inactive INACTIVE

defines the number of days after the password exceeded its maximum age where the user is expected to replace this password. See shadow(5)for more information.

This option sets the INACTIVE variable in /etc/default/useradd.

-g, –gid GROUP

sets the default primary group for newly created users, accepting group names or a numerical group ID. The named group must exist, and the GID must have an existing entry.

This option sets the GROUP variable in /etc/default/useradd.

-s, –shell SHELL

defines the default login shell for new users.

This option sets the SHELL variable in /etc/default/useradd.

NOTES

The system administrator is responsible for placing the default user files in the /etc/skel/ directory (or any other skeleton directory specified in /etc/default/useradd or on the command line).

CAVEATS

You may not add a user to a NIS or LDAP group. This must be performed on the corresponding server.

Similarly, if the username already exists in an external user database such as NIS or LDAP, useradd will deny the user account creation request.

Usernames may contain only lower and upper case letters, digits, underscores, or dashes. They can end with a dollar sign. Dashes are not allowed at the beginning of the username. Fully numeric usernames and usernames . or .. are also disallowed. It is not recommended to use usernames beginning with . character as their home directories will be hidden in the ls output.

Usernames may only be up to 256 characters long.

On Debian, the only constraints are that usernames must neither start with a dash (-) nor plus (+) nor tilde (~) nor contain a colon (:), a comma (,), or a whitespace (space: , end of line: , tabulation: , etc.). Note that using a slash (/) may break the default algorithm for the definition of the users home directory.

CONFIGURATION

The following configuration variables in /etc/login.defs change the behavior of this tool:

CREATE_HOME (boolean)

Indicate if a home directory should be created by default for new users.

This setting does not apply to system users, and can be overridden on the command line.

GID_MAX (number), GID_MIN (number)

Range of group IDs used for the creation of regular groups by useradd, groupadd, or newusers.

The default value for GID_MIN (resp. GID_MAX) is 1000 (resp. 60000).

HOME_MODE (number)

The mode for new home directories. If not specified, the UMASK is used to create the mode.

useradd and newusers use this to set the mode of the home directory they create.

LASTLOG_UID_MAX (number)

Highest user ID number for which the lastlog entries should be updated. As higher user IDs are usually tracked by remote user identity and authentication services there is no need to create a huge sparse lastlog file for them.

No LASTLOG_UID_MAX option present in the configuration means that there is no user ID limit for writing lastlog entries.

MAIL_DIR (string)

The mail spool directory. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted. If not specified, a compile-time default is used. The parameter CREATE_MAIL_SPOOL in /etc/default/useradd determines whether the mail spool should be created.

MAIL_FILE (string)

Defines the location of the users mail spool files relatively to their home directory.

The MAIL_DIR and MAIL_FILE variables are used by useradd, usermod, and userdel to create, move, or delete the users mail spool.

MAX_MEMBERS_PER_GROUP (number)

Maximum members per group entry. When the maximum is reached, a new group entry (line) is started in /etc/group (with the same name, same password, and same GID).

The default value is 0, meaning that there are no limits in the number of members in a group.

This feature (split group) permits to limit the length of lines in the group file. This is useful to make sure that lines for NIS groups are not larger than 1024 characters.

If you need to enforce such limit, you can use 25.

Note: split groups may not be supported by all tools (even in the Shadow toolsuite). You should not use this variable unless you really need it.

PASS_MAX_DAYS (number)

The maximum number of days a password may be used. If the password is older than this, a password change will be forced. If not specified, -1 will be assumed (which disables the restriction).

PASS_MIN_DAYS (number)

The minimum number of days allowed between password changes. Any password changes attempted sooner than this will be rejected. If not specified, 0 will be assumed (which disables the restriction).

PASS_WARN_AGE (number)

The number of days warning given before a password expires. A zero means warning is given only upon the day of expiration, a value of -1 means no warning is given. If not specified, no warning will be provided.

SUB_GID_MIN (number), SUB_GID_MAX (number), SUB_GID_COUNT (number)

If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate group IDs) allocate SUB_GID_COUNT unused group IDs from the range SUB_GID_MIN to SUB_GID_MAX for each new user.

The default values for SUB_GID_MIN, SUB_GID_MAX, SUB_GID_COUNT are respectively 100000, 600100000 and 65536.

SUB_UID_MIN (number), SUB_UID_MAX (number), SUB_UID_COUNT (number)

If /etc/subuid exists, the commands useradd and newusers (unless the user already have subordinate user IDs) allocate SUB_UID_COUNT unused user IDs from the range SUB_UID_MIN to SUB_UID_MAX for each new user.

The default values for SUB_UID_MIN, SUB_UID_MAX, SUB_UID_COUNT are respectively 100000, 600100000 and 65536.

SYS_GID_MAX (number), SYS_GID_MIN (number)

Range of group IDs used for the creation of system groups by useradd, groupadd, or newusers.

The default value for SYS_GID_MIN (resp. SYS_GID_MAX) is 101 (resp. GID_MIN-1).

SYS_UID_MAX (number), SYS_UID_MIN (number)

Range of user IDs used for the creation of system users by useradd or newusers.

The default value for SYS_UID_MIN (resp. SYS_UID_MAX) is 101 (resp. UID_MIN-1).

UID_MAX (number), UID_MIN (number)

Range of user IDs used for the creation of regular users by useradd or newusers.

The default value for UID_MIN (resp. UID_MAX) is 1000 (resp. 60000).

UMASK (number)

The file mode creation mask is initialized to this value. If not specified, the mask will be initialized to 022.

useradd and newusers use this mask to set the mode of the home directory they create if HOME_MODE is not set.

It is also used by pam_umask as the default umask value.

USERGROUPS_ENAB (boolean)

If set to yes, userdel will remove the users group if it contains no more members, and useradd will create by default a group with the name of the user.

FILES

/etc/passwd

User account information.

/etc/shadow

Secure user account information.

/etc/group

Group account information.

/etc/gshadow

Secure group account information.

/etc/default/useradd

Default values for account creation.

/etc/shadow-maint/useradd-pre.d/*, /etc/shadow-maint/useradd-post.d/*

Run-part files to execute during user addition. The environment variable ACTION will be populated with useradd and SUBJECT with the username. useradd-pre.d will be executed prior to any user addition. useradd-post.d will execute after user addition. If a script exits non-zero then execution will terminate.

/etc/skel/

Directory containing default files.

/etc/subgid

Per user subordinate group IDs.

/etc/subuid

Per user subordinate user IDs.

/etc/login.defs

Shadow password suite configuration.

EXIT VALUES

The useradd command exits with the following values:

0

success

1

cant update password file

2

invalid command syntax

3

invalid argument to option

4

UID already in use (and no -o)

6

specified group doesnt exist

9

username or group name already in use

10

cant update group file

12

cant create home directory

14

cant update SELinux user mapping

SEE ALSO

chfn(1), chsh(1), passwd(1), crypt(3), groupadd(8), groupdel(8), groupmod(8), login.defs(5), newusers(8), subgid(5), subuid(5), userdel(8), usermod(8).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

242 - Linux cli command update-default-wordlist

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-default-wordlist and provides detailed information about the command update-default-wordlist, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-default-wordlist.

NAME πŸ–₯️ update-default-wordlist πŸ–₯️

default-wordlist - update default wordlist

SYNOPSIS

update-default-wordlist [–skip-symlinks] [–triggered]

DESCRIPTION

WARNING: Not to be used from the command line unless you know very well what you are doing.

This program is intended to be called from wordlist package postinst, from select-default-wordlist or from dictionaries-common postinst.

When called under dpkg control with the –trigger option the script is run normally, otherwise the dictionaries-common update-default-wordlist trigger is enabled for later run.

With the –skip-symlinks option the symlinks setting is skipped.

When run normally (from the command line or with –trigger) this script rebuilds the info at /var/cache/dictionaries-common/wordlist.db after files under /var/lib/dictionaries-common/wordlist, reads the system default from the debconf database and unless disabled, set default symlinks in /etc/dictionaries-common pointing to the appropriate files in /usr/share/dict/.

OPTIONS

–skip-symlinks Do not try to set symlinks at /etc/dictionaries-common dir. –triggered Run all the code instead of trying to enable update-default-wordlist trigger

SEE ALSO

The dictionaries-common policy document

AUTHORS

Rafael Laboissiere, Agustin Martin Domingo

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

243 - Linux cli command update-texmf-config

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-texmf-config and provides detailed information about the command update-texmf-config, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-texmf-config.

NAME πŸ–₯️ update-texmf-config πŸ–₯️

texmf-config - script used in maintainer scripts to trigger tex-common actions

SYNOPSIS

update-texmf-config [options]

DESCRIPTION

This manual page documents briefly the update-texmf-config command. This manual page was written for the Debian GNU/Linux distribution because the original script was designed for Debian packaging system.

update-texmf-config is a shell script that is called from maintainer scripts shipping new map files, hyphenation patterns, or any other TeX input file.

The script simply activates the respective trigger, namely texmf-map for font map files, texmf-hyphen for hyphenation patterns, and texmf-format for format updates. All the necessary action will then be carried out by the tex-common package.

OPTIONS

map
Activate the texmf-map trigger.

hyphen
Activate the texmf-hyphen trigger.

format
Activate the texmf-format trigger.

SEE ALSO

Further information can be found in /usr/share/doc/tex-common/README.Debian.{txt,pdf.html}

AUTHOR

This manual page was written by Norbert Preining <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

244 - Linux cli command systemd-quotacheck

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-quotacheck and provides detailed information about the command systemd-quotacheck, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-quotacheck.

NAME πŸ–₯️ systemd-quotacheck πŸ–₯️

quotacheck.service, systemd-quotacheck - File system quota checker logic

SYNOPSIS

systemd-quotacheck.service

/usr/lib/systemd/systemd-quotacheck

DESCRIPTION

systemd-quotacheck.service is a service responsible for file system quota checks. It is run once at boot after all necessary file systems are mounted. It is pulled in only if at least one file system has quotas enabled.

KERNEL COMMAND LINE

systemd-quotacheck understands one kernel command line parameter:

quotacheck.mode=

One of “auto”, “force”, “skip”. Controls the mode of operation. The default is “auto”, and ensures that file system quota checks are done when the file system quota checker deems them necessary. “force” unconditionally results in full file system quota checks. “skip” skips any file system quota checks.

Added in version 186.

SEE ALSO

systemd(1), quotacheck(8), [email protected](8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

245 - Linux cli command systemd-storagetm

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-storagetm and provides detailed information about the command systemd-storagetm, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-storagetm.

NAME πŸ–₯️ systemd-storagetm πŸ–₯️

storagetm.service, systemd-storagetm - Exposes all local block devices as NVMe-TCP mass storage devices

SYNOPSIS

systemd-storagetm.service

/usr/lib/systemd/systemd-storagetm [OPTIONS…] [DEVICE]

DESCRIPTION

systemd-storagetm.service is a service that exposes all local block devices as NVMe-TCP mass storage devices. Its primary use-case is to be invoked by the storage-target-mode.target unit that can be booted into.

Warning

The NVMe disks are currently exposed without authentication or encryption, in read/write mode. This means network peers may read from and write to the device without any restrictions. This functionality should hence only be used in a local setup.

Note that to function properly networking must be configured too. The recommended mechanism to boot into a storage target mode is by adding “rd.systemd.unit=storage-target-mode.target ip=link-local” on the kernel command line. Note that “ip=link-local” only configures link-local IP, i.e. IPv4LL and IPv6LL, which means non-routable addresses. This is done for security reasons, so that only systems on the local link can access the devices. Use “ip=dhcp” to assign routable addresses too. For further details see systemd-network-generator.service(8).

Unless the –all switch is used expects one or more block devices or regular files to expose via NVMe-TCP as argument.

OPTIONS

The following options are understood:

–nqn=

Takes a string. If specified configures the NVMe Qualified Name to use for the exposed NVMe-TCP mass storage devices. The NQN should follow the syntax described in NVM Express Base Specification 2.0c[1], section 4.5 “NVMe Qualified Names”. Note that the NQN specified here will be suffixed with a dot and the block device name before it is exposed on the NVMe target. If not specified defaults to “nqn.2023-10.io.systemd:storagetm.ID”, where ID is replaced by a 128bit ID derived from machine-id(5).

Added in version 255.

–all, -a

If specified exposes all local block devices via NVMe-TCP, current and future (i.e. it watches block devices come and go and updates the NVMe-TCP list as needed). Note that by default any block devices that originate on the same block device as the block device backing the current root file system are excluded. If the switch is specified twice this safety mechanism is disabled.

Added in version 255.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

SEE ALSO

systemd(1), systemd.special(7)

NOTES

NVM Express Base Specification 2.0c

https://nvmexpress.org/wp-content/uploads/NVM-Express-Base-Specification-2.0c-2022.10.04-Ratified.pdf

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

246 - Linux cli command systemd-timedated.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-timedated.service and provides detailed information about the command systemd-timedated.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-timedated.service.

NAME πŸ–₯️ systemd-timedated.service πŸ–₯️

timedated.service, systemd-timedated - Time and date bus mechanism

SYNOPSIS

systemd-timedated.service

/usr/lib/systemd/systemd-timedated

DESCRIPTION

systemd-timedated.service is a system service that may be used as a mechanism to change the system clock and timezone, as well as to enable/disable network time synchronization. systemd-timedated is automatically activated on request and terminates itself when it is unused.

The tool timedatectl(1) is a command line client to this service.

systemd-timedated currently offers access to the following four settings:

Β·

The system time

Β·

The system timezone

Β·

A boolean controlling whether the system RTC is in local or UTC timezone

Β·

Whether the time synchronization service is enabled/started or disabled/stopped, see next section.

See org.freedesktop.timedate1(5) and org.freedesktop.LogControl1(5) for information about the D-Bus API.

LIST OF NETWORK TIME SYNCHRONIZATION SERVICES

systemd-timedated will look for files with a “.list” extension in ntp-units.d/ directories. Each file is parsed as a list of unit names, one per line. Empty lines and lines with comments ("#") are ignored. Files are read from /usr/lib/systemd/ntp-units.d/ and the corresponding directories under /etc/, /run/, /usr/local/lib/. Files in /etc/ override files with the same name in /run/, /usr/local/lib/, and /usr/lib/. Files in /run/ override files with the same name under /usr/. Packages should install their configuration files in /usr/lib/ (distribution packages) or /usr/local/lib/ (local installs).

Example 1. ntp-units.d/ entry for systemd-timesyncd

/usr/lib/systemd/ntp-units.d/80-systemd-timesync.list

systemd-timesyncd.service

If the environment variable $SYSTEMD_TIMEDATED_NTP_SERVICES is set, systemd-timedated will parse the contents of that variable as a colon-separated list of unit names. When set, this variable overrides the file-based list described above.

Example 2. An override that specifies that chronyd should be used if available

SYSTEMD_TIMEDATED_NTP_SERVICES=chronyd.service:systemd-timesyncd.service

SEE ALSO

systemd(1), timedatectl(1), localtime(5), hwclock(8), systemd-timesyncd(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

247 - Linux cli command tc-actions

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-actions and provides detailed information about the command tc-actions, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-actions.

NAME πŸ–₯️ tc-actions πŸ–₯️

independently defined actions in tc

SYNOPSIS

tc [ TC_OPTIONS ] actions add | change | replace ACTSPEC

tc [ TC_OPTIONS ] actions get | delete ACTISPEC

tc [ TC_OPTIONS ] actions flush ACTNAMESPEC

tc [ TC_OPTIONS ] actions ls | list ACTNAMESPEC [ ACTFILTER ]

ACTSPEC := action ACTDETAIL [ INDEXSPEC ] [ COOKIESPEC ] [ FLAGS ] [ HWSTATSSPEC ] [ CONTROL ] [ SKIPSPEC ]

ACTISPEC := ACTNAMESPEC INDEXSPEC

ACTNAMESPEC := action ACTNAME

INDEXSPEC := index* INDEX*

ACTFILTER := since* MSTIME*

COOKIESPEC := cookie* COOKIE*

FLAGS := no_percpu

HWSTATSSPEC := hw_stats { immediate | delayed | disabled }

ACTDETAIL := ACTNAME ACTPARAMS

ACTNAME may be any valid action type: gact, mirred, bpf, connmark, csum, police, etc.

MSTIME Time since last update.

CONTROL := { reclassify | pipe | drop | continue | ok }

SKIPSPEC := { skip_sw | skip_hw }

TC_OPTIONS These are the options that are specific to tc and not only the options. Refer to tc(8) for more information.

DESCRIPTION

The actions object in tc allows a user to define actions independently of a classifier (filter). These actions can then be assigned to one or more filters, with any packets matching the classifier’s criteria having that action performed on them.

Each action type (mirred, police, etc.) will have its own table to store all created actions.

OPERATIONS

add
Create a new action in that action’s table.

change
replace
Make modifications to an existing action.

get
Display the action with the specified index value. When combined with the -s option for tc, display the statistics for that action.

delete
Delete the action with the specified index value. If the action is already associated with a classifier, it does not delete the classifier.

ls
list
List all the actions in the specified table. When combined with the -s option for tc, display the statistics for all actions in the specified table. When combined with the option since allows doing a millisecond time-filter since the last time an action was used in the datapath.

flush
Delete all actions stored in the specified table.

ACTION OPTIONS

Note that these options are available to all action types.

index* INDEX*
Specify the table index value of an action. INDEX is a 32-bit value that is unique to the specific type of action referenced.

For add, change, and replace operations, the index is optional. When adding a new action, specifying an index value will assign the action to that index unless that index value has already been assigned. Omitting the index value for an add operation will cause the kernel to assign a value to the new action.

For get and delete operations, the index is required to identify the specific action to be displayed or deleted.

cookie* COOKIE*
In addition to the specific action, mark the matching packet with the value specified by COOKIE. The COOKIE is a 128-bit value that will not be interpreted by the kernel whatsoever. As such, it can be used as a correlating value for maintaining user state. The value to be stored is completely arbitrary and does not require a specific format. It is stored inside the action structure itself.

FLAGS
Action-specific flags. Currently, the only supported flag is no_percpu which indicates that action is expected to have minimal software data-path traffic and doesn’t need to allocate stat counters with percpu allocator. This option is intended to be used by hardware-offloaded actions.

hw_stats* HW_STATS*
Specifies the type of HW stats of new action. If omitted, any stats counter type is going to be used, according to driver and its resources. The HW_STATS indicates the type. Any of the following are valid:

immediate
Means that in dump, user gets the current HW stats state from the device queried at the dump time.

delayed
Means that in dump, user gets HW stats that might be out of date for some time, maybe couple of seconds. This is the case when driver polls stats updates periodically or when it gets async stats update from the device.

disabled
No HW stats are going to be available in dump.

since* MSTIME*
When dumping large number of actions, a millisecond time-filter can be specified MSTIME. The MSTIME is a millisecond count since last time a packet hit the action. As an example specifying “since 20000” implies to dump all actions that have seen packets in the last 20 seconds. This option is useful when the kernel has a large number of actions and you are only interested in recently used actions.

CONTROL
The CONTROL indicates how tc should proceed after executing the action. Any of the following are valid:

reclassify
Restart the classifiction by jumping back to the first filter attached to the action’s parent.

pipe
Continue with the next action. This is the default control.

drop
Drop the packed without running any further actions.

continue
Continue the classification with the next filter.

pass
Return to the calling qdisc for packet processing, and end classification of this packet.

SKIPSPEC
The SKIPSPEC indicates how tc should proceed when executing the action. Any of the following are valid:

skip_sw
Do not process action by software. If hardware has no offload support for this action, operation will fail.

skip_hw
Do not process action by hardware.

SEE ALSO

tc(8), tc-bpf(8), tc-connmark(8), tc-csum(8), tc-ife(8), tc-mirred(8), tc-nat(8), tc-pedit(8), tc-police(8), tc-simple(8), tc-skbedit(8), tc-skbmod(8), tc-tunnel_key(8), tc-vlan(8), tc-xt(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

248 - Linux cli command xtables-legacy-multi

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command xtables-legacy-multi and provides detailed information about the command xtables-legacy-multi, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the xtables-legacy-multi.

NAME πŸ–₯️ xtables-legacy-multi πŸ–₯️

legacy β€” iptables using old getsockopt/setsockopt-based kernel api

DESCRIPTION

xtables-legacy are the original versions of iptables that use old getsockopt/setsockopt-based kernel interface. This kernel interface has some limitations, therefore iptables can also be used with the newer nf_tables based API. See xtables-nft(8) for information about the xtables-nft variants of iptables.

USAGE

The xtables-legacy-multi binary can be linked to the traditional names:

	/sbin/iptables -> /sbin/iptables-legacy-multi
	/sbin/ip6tables -> /sbin/ip6tables-legacy-multi
	/sbin/iptables-save -> /sbin/ip6tables-legacy-multi
	/sbin/iptables-restore -> /sbin/ip6tables-legacy-multi

The iptables version string will indicate whether the legacy API (get/setsockopt) or the new nf_tables API is used:

	iptables -V
	iptables v1.7 (legacy)

LIMITATIONS

When inserting a rule using iptables -A or iptables -I, iptables first needs to retrieve the current active ruleset, change it to include the new rule, and then commit back the result. This means that if two instances of iptables are running concurrently, one of the updates might be lost. This can be worked around partially with the –wait option.

There is also no method to monitor changes to the ruleset, except periodically calling iptables-legacy-save and checking for any differences in output.

xtables-monitor(8) will need the xtables-nft(8) versions to work, it cannot display changes made using the iptables-legacy tools.

SEE ALSO

xtables-nft(8), xtables-translate(8)

AUTHORS

Rusty Russell originally wrote iptables, in early consultation with Michael Neuling.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

249 - Linux cli command tc-police

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-police and provides detailed information about the command tc-police, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-police.

NAME πŸ–₯️ tc-police πŸ–₯️

policing action

SYNOPSIS

tcaction police [ rate* RATE burst BYTES[/BYTES] ] [ pkts_rate RATE pkts_burst PACKETS] [ mtu BYTES[/BYTES] ] [ peakrate RATE ] [ overhead BYTES* ] [ linklayer* TYPE* ] [ CONTROL ]

tcfilter … [ estimator *SAMPLE AVERAGE *] action police avrate RATE [ CONTROL ]

CONTROL := conform-exceed* EXCEEDACT[**/*NOTEXCEEDACT

EXCEEDACT/NOTEXCEEDACT := { pipe | ok | reclassify | drop | continue | goto chain CHAIN_INDEX }

DESCRIPTION

The police action allows limiting of the byte or packet rate of traffic matched by the filter it is attached to.

There are two different algorithms available to measure the byte rate: The first one uses an internal dual token bucket and is configured using the rate, burst, mtu, peakrate, overhead and linklayer parameters. The second one uses an in-kernel sampling mechanism. It can be fine-tuned using the estimator filter parameter.

There is one algorithm available to measure packet rate and it is similar to the first algorithm described for byte rate. It is configured using the pkt_rate and pkt_burst parameters.

At least one of the rate and pkt_rate" parameters must be configured.

OPTIONS

rate* RATE*
The maximum byte rate of packets passing this action. Those exceeding it will be treated as defined by the conform-exceed option.

burst* BYTES[**/*BYTES]
Set the maximum allowed burst in bytes, optionally followed by a slash (’/’) sign and cell size which must be a power of 2.

pkt_rate* RATE*
The maximum packet rate or packets passing this action. Those exceeding it will be treated as defined by the conform-exceed option.

pkt_burst* PACKETS*
Set the maximum allowed burst in packets.

mtu* BYTES[**/*BYTES]
This is the maximum packet size handled by the policer (larger ones will be handled like they exceeded the configured rate). Setting this value correctly will improve the scheduler’s precision. Value formatting is identical to burst above. Defaults to unlimited.

peakrate* RATE*
Set the maximum bucket depletion rate, exceeding rate.

avrate* RATE*
Make use of an in-kernel bandwidth rate estimator and match the given RATE against it.

overhead* BYTES*
Account for protocol overhead of encapsulating output devices when computing rate and peakrate.

linklayer* TYPE*
Specify the link layer type. TYPE may be one of ethernet (the default), atm or adsl (which are synonyms). It is used to align the precomputed rate tables to ATM cell sizes, for ethernet no action is taken.

estimator* SAMPLE AVERAGE*
Fine-tune the in-kernel packet rate estimator. SAMPLE and AVERAGE are time values and control the frequency in which samples are taken and over what timespan an average is built.

conform-exceed* EXCEEDACT[**/*NOTEXCEEDACT]
Define how to handle packets which exceed or conform the configured bandwidth limit. Possible values are:

continue
Don’t do anything, just continue with the next action in line.

drop
Drop the packet immediately.

shot
This is a synonym to drop.

ok
Accept the packet. This is the default for conforming packets.

pass
This is a synonym to ok.

reclassify
Treat the packet as non-matching to the filter this action is attached to and continue with the next filter in line (if any). This is the default for exceeding packets.

pipe
Pass the packet to the next action in line.

EXAMPLES

A typical application of the police action is to enforce ingress traffic rate by dropping exceeding packets. Although better done on the sender’s side, especially in scenarios with lack of peer control (e.g. with dial-up providers) this is often the best one can do in order to keep latencies low under high load. The following establishes input bandwidth policing to 1mbit/s using the ingress qdisc and u32 filter:

tc qdisc add dev eth0 handle ffff: ingress

# tc filter add dev eth0 parent ffff: u32 \
	match u32 0 0 \
	police rate 1mbit burst 100k

As an action can not live on it’s own, there always has to be a filter involved as link between qdisc and action. The example above uses u32 for that, which is configured to effectively match any packet (passing it to the police action thereby).

SEE ALSO

tc(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

250 - Linux cli command vfs_ceph_snapshots

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_ceph_snapshots and provides detailed information about the command vfs_ceph_snapshots, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_ceph_snapshots.

NAME πŸ–₯️ vfs_ceph_snapshots πŸ–₯️

Expose CephFS snapshots as shadow-copies

SYNOPSIS

vfs objects = ceph_snapshots

DESCRIPTION

This VFS module is part of the samba(8) suite.

The vfs_ceph_snapshots VFS module exposes CephFS snapshots for use by Samba. When enabled, SMB clients such as Windows Explorers Previous Versions dialog, can enumerate snapshots and access them via “timewarp” tokens.

This module can be combined with vfs_ceph, but vfs_ceph_snapshots must be listed first in the vfs objects parameter list.

CephFS support for ceph.snap.btime virtual extended attributes is required for this module to work properly. This support was added via https://tracker.ceph.com/issues/38838.

CONFIGURATION

When used atop vfs_ceph, path refers to an absolute path within the Ceph filesystem and should not be mounted locally:

  [share]
		vfs objects = ceph_snapshots ceph
		path = /non-mounted/cephfs/path
		kernel share modes = no

vfs_ceph_snapshots can also be used atop a kernel CephFS mounted share path, without vfs_ceph. In this case Sambas default VFS backend vfs_default is used:

  [share]
		vfs objects = ceph_snapshots
		path = /mnt/cephfs/

OPTIONS

ceph:snapdir = subdirectory

Allows for the configuration of the special CephFS snapshot subdirectory name. This parameter should only be changed from the “.snap” default if the ceph.conf client snapdir or snapdirname mount option settings are changed from their matching “.snap” defaults.

Default: ceph:snapdir = .snap

Example: ceph:snapdir = .snapshots

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

251 - Linux cli command vfs_syncops

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_syncops and provides detailed information about the command vfs_syncops, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_syncops.

NAME πŸ–₯️ vfs_syncops πŸ–₯️

Ensure meta data operations are performed synchronously.

SYNOPSIS

vfs objects = syncops

DESCRIPTION

This VFS module is part of the samba(7) suite.

Some filesystems (even some journaled filesystems) require that a fsync() be performed on many meta data operations to ensure that the operation is guaranteed to remain in the filesystem after a power failure. This is particularly important for some cluster filesystems which are participating in a node failover system with clustered Samba. On those filesystems the vfs_syncops VFS module provides a way to perform those operations safely.

This module is stackable.

CONFIGURATION

Most of the performance loss with the vfs_syncops VFS module is in fsync on close(). You can disable that with syncops:onclose = no that can be set either globally or per share.

On certain filesystems that only require the last data written to be fsync()ed, you can disable the metadata synchronization of this module with syncops:onmeta = no. This option can be set either globally or per share.

The vfs_syncops VFS module can also be disabled completely for a share with syncops:disable = true.

EXAMPLES

Add syncops functionality for [share]:

    [share]
	path = /data/share
	vfs objects = syncops
	syncops:onclose = no

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

252 - Linux cli command systemd-system-update-generator

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-system-update-generator and provides detailed information about the command systemd-system-update-generator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-system-update-generator.

NAME πŸ–₯️ systemd-system-update-generator πŸ–₯️

system-update-generator - Generator for redirecting boot to offline update mode

SYNOPSIS

/usr/lib/systemd/system-generators/systemd-system-update-generator

DESCRIPTION

systemd-system-update-generator is a generator that automatically redirects the boot process to system-update.target, if /system-update or /etc/system-update exists. This is required to implement the logic explained in the systemd.offline-updates(7).

systemd-system-update-generator implements systemd.generator(7).

SEE ALSO

systemd(1), systemd.special(7)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

253 - Linux cli command update-texmf

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-texmf and provides detailed information about the command update-texmf, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-texmf.

NAME πŸ–₯️ update-texmf πŸ–₯️

texmf - shell script to generate /etc/texmf/texmf.cnf

SYNOPSIS

update-texmf [options]

DESCRIPTION

This manual page documents briefly the update-texmf command. This manual page was written for the Debian GNU/Linux distribution because the original script was designed for Debian packaging system.

update-texmf is a shell script to generate /etc/texmf/web2c/texmf.cnf from files in /etc/texmf/texmf.d/*.cnf

A user who wants to customize /etc/texmf/web2c/texmf.cnf should add, for example, 22mymacro.cnf in /etc/texmf/texmf.d/ and run ‘update-texmf’.

OPTIONS

-v, –verbose
Show verbose messages.

-d, –debug
Show debugging information, and don’t delete temporary files. Implies –verbose.

-o, –output FILE
Generate output in FILE instead of /etc/texmf/web2c/texmf.cnf.

SEE ALSO

Further information can be found in /usr/share/doc/tex-common/README.Debian.{txt,pdf.html}

AUTHOR

This manual page was written by Atsuhito Kohda <[email protected]>, for the Debian GNU/Linux system (but may be used by others).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

254 - Linux cli command tc-tunnel_key

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-tunnel_key and provides detailed information about the command tc-tunnel_key, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-tunnel_key.

NAME πŸ–₯️ tc-tunnel_key πŸ–₯️

Tunnel metadata manipulation

SYNOPSIS

tcaction tunnel_key { unset | SET }

SET := set src_ip ADDRESS dst_ip ADDRESS id* KEY_ID* dst_port* UDP_PORT* tos* TOS* ttl* TTL* [ csum | nocsum ]

DESCRIPTION

The tunnel_key action combined with a shared IP tunnel device, allows one to perform IP tunnel en- or decapsulation on a packet, reflected by the operation modes UNSET and SET. The UNSET mode is optional - even without using it, the metadata information will be released automatically when packet processing will be finished. UNSET function could be used in cases when traffic is forwarded between two tunnels, where the metadata from the first tunnel will be used for encapsulation done by the second tunnel. SET mode requires the source and destination ip ADDRESS and the tunnel key id KEY_ID which will be used by the ip tunnel shared device to create the tunnel header. The tunnel_key action is useful only in combination with a mirred redirect action to a shared IP tunnel device which will use the metadata (for SET ) and unset the metadata created by it (for UNSET ).

OPTIONS

unset
Unset the tunnel metadata created by the IP tunnel device. This function is not mandatory and might be used only in some specific use cases (as explained above).

set
Set tunnel metadata to be used by the IP tunnel device. Requires src_ip and dst_ip options. id , dst_port , geneve_opts , vxlan_opts and erspan_opts are optional.

id
Tunnel ID (for example VNI in VXLAN tunnel)

src_ip
Outer header source IP address (IPv4 or IPv6)

dst_ip
Outer header destination IP address (IPv4 or IPv6)

dst_port
Outer header destination UDP port

geneve_opts
Geneve variable length options. geneve_opts is specified in the form CLASS:TYPE:DATA, where CLASS is represented as a 16bit hexadecimal value, TYPE as an 8bit hexadecimal value and DATA as a variable length hexadecimal value. Additionally multiple options may be listed using a comma delimiter.

vxlan_opts
Vxlan metadata options. vxlan_opts is specified in the form GBP, as a 32bit number. Multiple options is not supported.

erspan_opts
Erspan metadata options. erspan_opts is specified in the form VERSION:INDEX:DIR:HWID, where VERSION is represented as a 8bit number, INDEX as an 32bit number, DIR and HWID as a 8bit number. Multiple options is not supported. Note INDEX is used when VERSION is 1, and DIR and HWID are used when VERSION is 2.

tos
Outer header TOS

ttl
Outer header TTL

[no]csum
Controls outer UDP checksum. When set to csum (which is default), the outer UDP checksum is calculated and included in the packets. When set to nocsum, outer UDP checksum is zero. Note that when using zero UDP checksums with IPv6, the other tunnel endpoint must be configured to accept such packets. In Linux, this would be the udp6zerocsumrx option for the VXLAN tunnel interface.

If using nocsum with IPv6, be sure you know what you are doing. Zero UDP checksums provide weaker protection against corrupted packets. See RFC6935 for details.

nofrag
disallow IP fragmentation.

EXAMPLES

The following example encapsulates incoming ICMP packets on eth0 into a vxlan tunnel, by setting metadata to VNI 11, source IP 11.11.0.1 and destination IP 11.11.0.2, and by redirecting the packet with the metadata to device vxlan0, which will do the actual encapsulation using the metadata:

#tc qdisc add dev eth0 handle ffff: ingress #tc filter add dev eth0 protocol ip parent ffff:
flower
ip_proto icmp
action tunnel_key set
src_ip 11.11.0.1
dst_ip 11.11.0.2
id 11
action mirred egress redirect dev vxlan0

Here is an example of the unset function: Incoming VXLAN traffic with outer IP’s and VNI 11 is decapsulated by vxlan0 and metadata is unset before redirecting to tunl1 device:

#tc qdisc add dev eth0 handle ffff: ingress #tc filter add dev vxlan0 protocol ip parent ffff: flower
enc_src_ip 11.11.0.2 enc_dst_ip 11.11.0.1 enc_key_id 11 action tunnel_key unset action mirred egress redirect dev tunl1

SEE ALSO

tc(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

255 - Linux cli command tc-skbedit

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-skbedit and provides detailed information about the command tc-skbedit, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-skbedit.

NAME πŸ–₯️ tc-skbedit πŸ–₯️

SKB editing action

SYNOPSIS

tc … *action skbedit ["queue_mapping QUEUE_MAPPING ] [ priority PRIORITY ] [ mark MARK[/*MASK] ] [ ptype PTYPE ] [ inheritdsfield ]

DESCRIPTION

The skbedit action allows one to change a packet’s associated meta data. It complements the pedit action, which in turn allows one to change parts of the packet data itself.

The most unique feature of skbedit is its ability to decide over which queue of an interface with multiple transmit queues the packet is to be sent out. The number of available transmit queues is reflected by sysfs entries within /sys/class/net/<interface>/queues with name tx-N (where N is the actual queue number).

OPTIONS

queue_mapping* QUEUE_MAPPING*
Override the packet’s transmit queue. Useful when applied to packets transmitted over MQ-capable network interfaces. QUEUE_MAPPING is an unsigned 16bit value in decimal format.

priority* PRIORITY*
Override the packet classification decision. PRIORITY is either root, none or a hexadecimal major class ID optionally followed by a colon (:) and a hexadecimal minor class ID.

mark* MARK[**/*MASK]
Change the packet’s firewall mark value. MARK is an unsigned 32bit value in automatically detected format (i.e., prefix with ‘0x’ for hexadecimal interpretation, etc.). MASK defines the 32-bit mask selecting bits of mark value. Default is 0xffffffff.

ptype* PTYPE*
Override the packet’s type. Useful for setting packet type to host when needing to allow ingressing packets with the wrong MAC address but correct IP address. PTYPE is one of: host, otherhost, broadcast, multicast

inheritdsfield
Override the packet classification decision, and any value specified with priority, using the information stored in the Differentiated Services Field of the IPv6/IPv4 header (RFC2474).

SEE ALSO

tc(8), tc-pedit(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

256 - Linux cli command tc-cbs

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-cbs and provides detailed information about the command tc-cbs, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-cbs.

NAME πŸ–₯️ tc-cbs πŸ–₯️

Credit Based Shaper (CBS) Qdisc

SYNOPSIS

tc qdisc … dev dev parent classid [ handle major: ] cbs idleslope idleslope sendslope sendslope hicredit hicredit locredit locredit [ offload 0|1 ]

DESCRIPTION

The CBS (Credit Based Shaper) qdisc implements the shaping algorithm defined by the IEEE 802.1Q-2014 Section 8.6.8.2, which applies a well defined rate limiting method to the traffic.

This queueing discipline is intended to be used by TSN (Time Sensitive Networking) applications, the CBS parameters are derived directly by what is described by the Annex L of the IEEE 802.1Q-2014 Specification. The algorithm and how it affects the latency are detailed there.

CBS is meant to be installed under another qdisc that maps packet flows to traffic classes, one example is mqprio(8).

PARAMETERS

idleslope
Idleslope is the rate of credits that is accumulated (in kilobits per second) when there is at least one packet waiting for transmission. Packets are transmitted when the current value of credits is equal or greater than zero. When there is no packet to be transmitted the amount of credits is set to zero. This is the main tunable of the CBS algorithm and represents the bandwidth that will be consumed. Note that when calculating idleslope, the entire packet size must be considered, including headers from all layers (i.e. MAC framing and any overhead from the physical layer), as described by IEEE 802.1Q-2014 section 34.4.

As an example, for an ethernet frame carrying 284 bytes of payload, and with no VLAN tags, you must add 14 bytes for the Ethernet headers, 4 bytes for the Frame check sequence (CRC), and 20 bytes for the L1 overhead: 12 bytes of interpacket gap, 7 bytes of preamble and 1 byte of start of frame delimiter. That results in 322 bytes for the total packet size, which is then used for calculating the idleslope.

sendslope
Sendslope is the rate of credits that is depleted (it should be a negative number of kilobits per second) when a transmission is occurring. It can be calculated as follows, (IEEE 802.1Q-2014 Section 8.6.8.2 item g):

sendslope = idleslope - port_transmit_rate

hicredit
Hicredit defines the maximum amount of credits (in bytes) that can be accumulated. Hicredit depends on the characteristics of interfering traffic, ‘max_interference_size’ is the maximum size of any burst of traffic that can delay the transmission of a frame that is available for transmission for this traffic class, (IEEE 802.1Q-2014 Annex L, Equation L-3):

hicredit = max_interference_size * (idleslope / port_transmit_rate)

locredit
Locredit is the minimum amount of credits that can be reached. It is a function of the traffic flowing through this qdisc (IEEE 802.1Q-2014 Annex L, Equation L-2):

locredit = max_frame_size * (sendslope / port_transmit_rate)

offload
When offload is 1, cbs(8) will try to configure the network interface so the CBS algorithm runs in the controller. The default is 0.

EXAMPLES

CBS is used to enforce a Quality of Service by limiting the data rate of a traffic class, to separate packets into traffic classes the user may choose mqprio(8), and configure it like this:

# tc qdisc add dev eth0 handle 100: parent root mqprio num_tc 3 \
	map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \
	queues 1@0 1@1 2@2 \
	hw 0

To replace the current queuing disciple by CBS in the current queueing discipline connected to traffic class number 0, issue:

# tc qdisc replace dev eth0 parent 100:4 cbs \
	locredit -1470 hicredit 30 sendslope -980000 idleslope 20000

These values are obtained from the following parameters, idleslope is 20mbit/s, the transmission rate is 1Gbit/s and the maximum interfering frame size is 1500 bytes.

AUTHORS

Vinicius Costa Gomes <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

257 - Linux cli command tc-basic

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-basic and provides detailed information about the command tc-basic, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-basic.

NAME πŸ–₯️ tc-basic πŸ–₯️

basic traffic control filter

SYNOPSIS

tc filterbasic [ match EMATCH_TREE ] [ action ACTION_SPEC ] [ classid CLASSID ]

DESCRIPTION

The basic filter allows one to classify packets using the extended match infrastructure.

OPTIONS

action* ACTION_SPEC*
Apply an action from the generic actions framework on matching packets.

classid* CLASSID*
Push matching packets into the class identified by CLASSID.

match* EMATCH_TREE*
Match packets using the extended match infrastructure. See tc-ematch(8) for a detailed description of the allowed syntax in EMATCH_TREE.

SEE ALSO

tc(8), tc-ematch(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

258 - Linux cli command systemd-veritysetup-generator

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-veritysetup-generator and provides detailed information about the command systemd-veritysetup-generator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-veritysetup-generator.

NAME πŸ–₯️ systemd-veritysetup-generator πŸ–₯️

veritysetup-generator - Unit generator for verity protected block devices

SYNOPSIS

/usr/lib/systemd/system-generators/systemd-veritysetup-generator

DESCRIPTION

systemd-veritysetup-generator is a generator that translates kernel command line options configuring verity protected block devices into native systemd units early at boot and when configuration of the system manager is reloaded. This will create [email protected](8) units as necessary.

Currently, only two verity devices may be set up with this generator, backing the root and /usr file systems of the OS.

systemd-veritysetup-generator implements systemd.generator(7).

KERNEL COMMAND LINE

systemd-veritysetup-generator understands the following kernel command line parameters:

systemd.verity=, rd.systemd.verity=

Takes a boolean argument. Defaults to “yes”. If “no”, disables the generator entirely. rd.systemd.verity= is honored only by the initrd while systemd.verity= is honored by both the host system and the initrd.

Added in version 233.

roothash=

Takes a root hash value for the root file system. Expects a hash value formatted in hexadecimal characters of the appropriate length (i.e. most likely 256 bit/64 characters, or longer). If not specified via systemd.verity_root_data= and systemd.verity_root_hash=, the hash and data devices to use are automatically derived from the specified hash value. Specifically, the data partition device is looked for under a GPT partition UUID derived from the first 128-bit of the root hash, the hash partition device is looked for under a GPT partition UUID derived from the last 128-bit of the root hash. Hence it is usually sufficient to specify the root hash to boot from a verity protected root file system, as device paths are automatically determined from it β€” as long as the partition table is properly set up.

Added in version 233.

systemd.verity_root_data=, systemd.verity_root_hash=

These two settings take block device paths as arguments and may be used to explicitly configure the data partition and hash partition to use for setting up the verity protection for the root file system. If not specified, these paths are automatically derived from the roothash= argument (see above).

Added in version 233.

systemd.verity_root_options=

Takes a comma-separated list of dm-verity options. Expects the following options **superblock=**BOOLEAN, **format=**NUMBER, **data-block-size=**BYTES, **hash-block-size=**BYTES, **data-blocks=**BLOCKS, **hash-offset=**BYTES, **salt=**HEX, **uuid=**UUID, ignore-corruption, restart-on-corruption, ignore-zero-blocks, check-at-most-once, panic-on-corruption, **hash=**HASH, **fec-device=**PATH, **fec-offset=**BYTES, **fec-roots=**NUM and **root-hash-signature=PATH|base64:**HEX. See veritysetup(8) for more details.

Added in version 248.

usrhash=, systemd.verity_usr_data=, systemd.verity_usr_hash=, systemd.verity_usr_options=

Equivalent to their counterparts for the root file system as described above, but apply to the /usr/ file system instead.

Added in version 250.

SEE ALSO

systemd(1), [email protected](8), veritysetup(8), systemd-fstab-generator(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

259 - Linux cli command systemd-random-seed.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-random-seed.service and provides detailed information about the command systemd-random-seed.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-random-seed.service.

NAME πŸ–₯️ systemd-random-seed.service πŸ–₯️

random-seed.service, systemd-random-seed - Load and save the OS system random seed at boot and shutdown

SYNOPSIS

systemd-random-seed.service

/usr/lib/systemd/systemd-random-seed

DESCRIPTION

systemd-random-seed.service is a service that loads an on-disk random seed into the kernel entropy pool during boot and saves it at shutdown. See random(4) for details. By default, no entropy is credited when the random seed is written into the kernel entropy pool, but this may be changed with $SYSTEMD_RANDOM_SEED_CREDIT, see below. On disk the random seed is stored in /var/lib/systemd/random-seed.

Note that this service runs relatively late during the early boot phase, i.e. generally after the initrd phase has finished and the /var/ file system has been mounted. Many system services require entropy much earlier than this β€” this service is hence of limited use for complex system. It is recommended to use a boot loader that can pass an initial random seed to the kernel to ensure that entropy is available from earliest boot on, for example systemd-boot(7), with its bootctl random-seed functionality.

When loading the random seed from disk, the file is immediately updated with a new seed retrieved from the kernel, in order to ensure no two boots operate with the same random seed. This new seed is retrieved synchronously from the kernel, which means the service will not complete start-up until the random pool is fully initialized. On entropy-starved systems this may take a while. This functionality is intended to be used as synchronization point for ordering services that require an initialized entropy pool to function securely (i.e. services that access /dev/urandom without any further precautions).

Care should be taken when creating OS images that are replicated to multiple systems: if the random seed file is included unmodified each system will initialize its entropy pool with the same data, and thus β€” if otherwise entropy-starved β€” generate the same or at least guessable random seed streams. As a safety precaution crediting entropy is thus disabled by default. It is recommended to remove the random seed from OS images intended for replication on multiple systems, in which case it is safe to enable entropy crediting, see below. Also see Safely Building Images[1].

See Random Seeds[2] for further information.

ENVIRONMENT

$SYSTEMD_RANDOM_SEED_CREDIT

By default, systemd-random-seed.service does not credit any entropy when loading the random seed. With this option this behaviour may be changed: it either takes a boolean parameter or the special string “force”. Defaults to false, in which case no entropy is credited. If true, entropy is credited if the random seed file and system state pass various superficial concisistency checks. If set to “force” entropy is credited, regardless of these checks, as long as the random seed file exists.

Added in version 243.

SEE ALSO

systemd(1), random(4), systemd-boot(7), systemd-stub(7), bootctl(4), systemd-boot-random-seed.service(8)

NOTES

Safely Building Images

https://systemd.io/BUILDING_IMAGES

Random Seeds

https://systemd.io/RANDOM_SEEDS

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

260 - Linux cli command systemd-ssh-generator

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-ssh-generator and provides detailed information about the command systemd-ssh-generator, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-ssh-generator.

NAME πŸ–₯️ systemd-ssh-generator πŸ–₯️

ssh-generator - Generator for binding a socket-activated SSH server to local AF_VSOCK and AF_UNIX sockets

SYNOPSIS

/usr/lib/systemd/system-generators/systemd-ssh-generator

DESCRIPTION

systemd-ssh-generator binds a socket-activated SSH server to local AF_VSOCK and AF_UNIX sockets under certain conditions. It only has an effect if the sshd(8) binary is installed. Specifically, it does the following:

Β·

If invoked in a VM with AF_VSOCK support, a socket-activated SSH per-connection service is bound to AF_VSOCK port 22.

Β·

If invoked in a container environment with a writable directory /run/host/unix-export/ pre-mounted it binds SSH to an AF_UNIX socket /run/host/unix-export/ssh. The assumption is that this directory is bind mounted to the host side as well, and can be used to connect to the container from there. See Container Interface[1] for more information about this interface.

Β·

A local AF_UNIX socket /run/ssh-unix-local/socket is also bound, unconditionally. This may be used for SSH communication from the host to itself, without involving networking, for example to traverse security boundaries safely and with secure authentication.

Β·

Additional AF_UNIX and AF_VSOCK sockets are optionally bound, based on the systemd.ssh_listen= kernel command line option or the ssh.listen system credential (see below).

See systemd-ssh-proxy(1) for details on how to connect to these sockets via the ssh client.

The ssh.authorized_keys.root credential can be used to allow specific public keys to log in over SSH. See systemd.systemd-credentials(7) for more information.

The generator will use a packaged [email protected] service template file if one exists, and otherwise generate a suitable service template file.

systemd-ssh-generator implements systemd.generator(7).

KERNEL COMMAND LINE

systemd-ssh-generator understands the following kernel-command-line(7) parameters:

systemd.ssh_auto=

This option takes an optional boolean argument, and defaults to yes. If enabled, the automatic binding to the AF_VSOCK and AF_UNIX sockets listed above is done. If disable, this is not done, except for those explicitly requested via systemd.ssh_listen= on the kernel command line or via the ssh.listen system credential.

Added in version 256.

systemd.ssh_listen=

This option configures an additional socket to bind SSH to. It may be used multiple times to bind multiple sockets. The syntax should follow the one of ListenStream=, see systemd.socket(5) for details. This functionality supports all socket families systemd supports, including AF_INET and AF_INET6.

Added in version 256.

CREDENTIALS

systemd-ssh-generator supports the system credentials logic. The following credentials are used when passed in:

ssh.listen

This credential should be a text file, with each line referencing one additional socket to bind SSH to. The syntax should follow the one of ListenStream=, see systemd.socket(5) for details. This functionality supports all socket families systemd supports, including AF_INET and AF_INET6.

Added in version 256.

SEE ALSO

systemd(1), kernel-command-line(7), systemd.system-credentials(7), vsock(7), unix(7), ssh(1), sshd(8)

NOTES

Container Interface

https://systemd.io/CONTAINER_INTERFACE

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

261 - Linux cli command systemd-time-wait-sync.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-time-wait-sync.service and provides detailed information about the command systemd-time-wait-sync.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-time-wait-sync.service.

NAME πŸ–₯️ systemd-time-wait-sync.service πŸ–₯️

time-wait-sync.service, systemd-time-wait-sync - Wait until kernel time is synchronized

SYNOPSIS

systemd-time-wait-sync.service

/usr/lib/systemd/systemd-time-wait-sync

DESCRIPTION

systemd-time-wait-sync is a system service that delays the start of units that are ordered after time-sync.target (see systemd.special(7) for details) until the system time has been synchronized with an accurate remote reference time source by systemd-timesyncd.service.

systemd-timesyncd.service notifies systemd-time-wait-sync about successful synchronization. systemd-time-wait-sync also tries to detect when the kernel marks the system clock as synchronized, but this detection is not reliable and is intended only as a fallback for compatibility with alternative NTP services that can be used to synchronize time (e.g., ntpd, chronyd).

FILES

/run/systemd/timesync/synchronized

The presence of this file indicates to this service that the system clock has been synchronized.

Added in version 239.

SEE ALSO

systemd(1), systemd.special(7), systemd-timesyncd.service(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

262 - Linux cli command unix_update

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unix_update and provides detailed information about the command unix_update, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unix_update.

NAME πŸ–₯️ unix_update πŸ–₯️

Helper binary that updates the password of a given user

SYNOPSIS

unix_update […]

DESCRIPTION

unix_update is a helper program for the pam_unix module that updates the password of a given user. It is not intended to be run directly from the command line and logs a security violation if done so.

The purpose of the helper is to enable tighter confinement of login and password changing services. The helper is thus called only when SELinux is enabled on the system.

The interface of the helper - command line options, and input/output data format are internal to the pam_unix module and it should not be called directly from applications.

SEE ALSO

pam_unix(8)

AUTHOR

Written by Tomas Mraz and other various people.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

263 - Linux cli command tc-ife

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-ife and provides detailed information about the command tc-ife, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-ife.

NAME πŸ–₯️ tc-ife πŸ–₯️

encapsulate/decapsulate metadata

SYNOPSIS

tc … ** action ife** DIRECTION [ ACTION ] [ dst DMAC ] [ src SMAC ] [ type TYPE ] [ CONTROL ] [ index INDEX ]

DIRECTION := { decode | encode }

ACTION := { allow* ATTR* | use ATTR value }

ATTR := { mark | prio | tcindex }

CONTROL := { reclassify | use | pipe | drop | continue | ok | goto chain CHAIN_INDEX }

DESCRIPTION

The ife action allows for a sending side to encapsulate arbitrary metadata, which is then decapsulated by the receiving end. The sender runs in encoding mode and the receiver in decode mode. Both sender and receiver must specify the same ethertype. In the future, a registered ethertype may be available as a default.

OPTIONS

decode
For the receiving side; decode the metadata if the packet matches.

encode
For the sending side. Encode the specified metadata if the packet matches.

allow
Encode direction only. Allows encoding specified metadata.

use
Encode direction only. Enforce static encoding of specified metadata.

mark [
u32_value ] The value to set for the skb mark. The u32 value is required only when use"isspecified.If mark"valueiszero,itwillnotbeencoded,instead “overlimits” statistics increment and CONTROL"actionistaken.

prio [
u32_value ] The value to set for priority in the skb structure. The u32 value is required only when use is specified.

tcindex [
u16_value ] Value to set for the traffic control index in the skb structure. The u16 value is required only when use is specified.

dmac* DMAC*
smac* SMAC*
Optional six byte destination or source MAC address to encode.

type* TYPE*
Optional 16-bit ethertype to encode. If not specified value of 0xED3E will be used.

CONTROL
Action to take following an encode/decode.

index* INDEX*
Assign a unique ID to this action instead of letting the kernel choose one automatically. INDEX is a 32bit unsigned integer greater than zero.

EXAMPLES

On the receiving side, match packets with ethertype 0xdead and restart classification so that it will match ICMP on the next rule, at prio 3:

tc qdisc add dev eth0 handle ffff: ingress

# tc filter add dev eth0 parent ffff: prio 2 protocol 0xdead \
	u32 match u32 0 0 flowid 1:1 \
	action ife decode reclassify
# tc filter add dev eth0 parent ffff: prio 3 protocol ip \
	u32 match ip protocol 0xff flowid 1:1 \
	action continue

Match with skb mark of 17:

tc filter add dev eth0 parent ffff: prio 4 protocol ip \

	handle 0x11 fw flowid 1:1 \
	action ok

Configure the sending side to encode for the filters above. Use a destination IP address of 192.168.122.237/24, then tag with skb mark of decimal 17. Encode the packaet with ethertype 0xdead, add skb->mark to whitelist of metadatum to send, and rewrite the destination MAC address to 02:15:15:15:15:15.

tc qdisc add dev eth0 root handle 1: prio

# tc filter add dev eth0 parent 1: protocol ip prio 10 u32 \
	match ip dst 192.168.122.237/24 \
	match ip protocol 1 0xff \
	flowid 1:2 \
	action skbedit mark 17 \
	action ife encode \
	type 0xDEAD \
	allow mark \
	dst 02:15:15:15:15:15

SEE ALSO

tc(8), tc-u32(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

264 - Linux cli command zerofree

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zerofree and provides detailed information about the command zerofree, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zerofree.

NAME πŸ–₯️ zerofree πŸ–₯️

systems

SYNOPSIS

zerofree [-n] [-v] [-f fillval] filesystem

DESCRIPTION

zerofree finds the unallocated, blocks with non-zero value content in an ext2, ext3 or ext4 filesystem (e.g. /dev/hda1) and fills them with zeroes (or another octet of your choice).

Filling unused areas with zeroes is useful if the device on which this file-system resides is a disk image. In this case, depending on the type of disk image, a secondary utility may be able to reduce the size of the disk image after zerofree has been run.

Filling unused areas may also be useful with solid-state drives (SSDs). On some SSDs, filling blocks with ones (0xFF) is reported to trigger Flash block erasure by the firmware, possibly giving a write performance increase.

The usual way to achieve the same result (zeroing the unallocated blocks) is to run dd (1) to create a file full of zeroes that takes up the entire free space on the drive, and then delete this file. This has many disadvantages, which zerofree alleviates:

Β·
it is slow;

Β·
it makes the disk image (temporarily) grow to its maximal extent;

Β·
it (temporarily) uses all free space on the disk, so other concurrent write actions may fail.

filesystem has to be unmounted or mounted read-only for zerofree to work. It will exit with an error message if the filesystem is mounted writable. To remount the root file-system readonly, you can first switch to single user runlevel (telinit 1) then use mount -o remount,ro filesystem.

zerofree has been written to be run from GNU/Linux systems installed as guest OSes inside a virtual machine. In this case, it is typically run from within the guest system, and a utility is then run from the host system to shrink disk image (VBoxManage modifyhd –compact, provided with virtualbox, is able to do that for some disk image formats).

It may however be useful in other situations: for instance it can be used to make it more difficult to retrieve deleted data. Beware that securely deleting sensitive data is not in general an easy task and usually requires writing several times on the deleted blocks.

OPTIONS

-n
Perform a dry run (do not modify the file-system);

-v
Be verbose: show the number of blocks modified by zerofree (or that would be modified, in case the -n is used), the number of free blocks and the total number of blocks on the filesystem;

-f value
Specify the octet value to fill empty blocks with (defaults to 0). Argument must be within the range 0 to 255.

SEE ALSO

dd (1).

AUTHOR

This manual page was written by Thibaut Paumard <[email protected]> for the Debian system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-2.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

265 - Linux cli command t50

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command t50 and provides detailed information about the command t50, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the t50.

NAME πŸ–₯️ t50 πŸ–₯️

network packet injector

SYNOPSIS

t50 [options] [–] host[/CIDR]

DESCRIPTION

Experimental mixed packet injector tool.

This is NOT a DoS tool, but a tool to inject packets using various protocols.

OPTIONS

host[/CIDR]
The host address is the target of T50. It can be informed in one of two formats: IP address or URI name. This address can be informed as a range of IPs (by omitting one or mode octects) or using a CIDR separating the IP (full or partial) or URI with “/##”, for instance: “192.168/16” or “host.com.local/22”. When using a partial IP address T50 will calculate CIDR automatically (8, 16 or 24 bits, if the first, second or third octect [from right to left] are omitted, respectively).

Notice that, sometimes, the “host[/CIDR]” argument is misinterpreted as an option. When this happens, you can use the pseudo option ‘–’ before the host address:

# t50 –flood – 192.168.1.32/27

Also, to avoid this error you can provide the host address as the first argument.

Notice, also, ONLY IPv4 addresses are allowed. T50 don’t provide IPv6 support yet.

–threshold NUM
Number of packets to inject (default 1000).

–flood
Keep injecting packets until user terminates the process (^C). Cannot be used with –threshold.

-B, –bogus-csum
Use a bogus “random " checksum instead of calculating the actual packet checksum.

–turbo
Inject packets faster (creates a child process).

–shuffle
When used with T50 “protocol”, it will shuffle the available protocols. Otherwise they will be sent in the same order as listed with –list-protocols option. This option will not work with any other “protocol”.

-s, –saddr ADDR
IP header source address (default RANDOM).

-p, –protocol protoname
Select an specific protocol to use (default: TCP. Use –list-protocols to see all protocols available). Use T50 if you want to inject all available protocols. The “protocolname” is case insensitive.

-h, –help
Display all available options and their defaults.

-v, –version
Display t50 version.

-l, –list-protocols
Lists all available protocols T50 can provide.

EXAMPLES

See all available protocols:

# t50 -l
T50 Experimental Mixed Packet Injector Tool 5.6.15
Originally created by Nelson Brito <[email protected]>
Previously maintained by Fernando MercΓͺs <[email protected]>
Maintained by Frederico Lamberti Pissarra <[email protected]>

[INFO]  List of supported protocols (--protocol):
   1 - ICMP (Internet Control Message Protocol)
   2 - IGMPv1 (Internet Group Message Protocol v1)
   3 - IGMPv3 (Internet Group Message Protocol v3)
   4 - TCP  (Transmission Control Protocol)
   5 - EGP  (Exterior Gateway Protocol)
   6 - UDP  (User Datagram Protocol)
   7 - RIPv1  (Routing Internet Protocol v1)
   8 - RIPv2  (Routing Internet Protocol v2)
   9 - DCCP (Datagram Congestion Control Protocol)
   10 - RSVP  (Resource Reservation Protocol)
   11 - IPSEC (Internet Security Protocl (AH/ESP))
   12 - EIGRP (Enhanced Interior Gateway Routing Protocol)
   13 - OSPF  (Open Shortest Path First)

Send 500 packets to a single target:

# t50 192.168.0.100 –threshold 500

Flooding targets from 192.168.0.1 to 192.168.0.254 (notice the partial IP) with TCP packets:

# t50 192.168.0 –flood

Flooding targets from 192.168.0.1 to 192.168.255.254 with all protocols T50 can provide in a random order using “Turbo” mode.

# t50 192.168 –flood -p t50 –shuffle –turbo

NOTES

Root privilege is mandatory to run t50.

There are lots of options. Please, use -h or –help to see them and their default values.

BUGS

As noted before, the “host[/CIDR]” argument sometimes is misinterpreted as an option. This bug was introduced when the argument parser was changed to support flexible host “names”. Someday I’ll correct this (Frederico).

AUTHORS

Nelson Brito

CONTRIBUTORS

Fernando MercΓͺs
Frederico Lamberti Pissarra

BUGS and SOURCE CODE AVAILABILITY

The latest release of the source code can be downloaded at: T50 GitLab Repository.

COPYRIGHT

Copyright Β© 2014-2018 T50 developers. Licensed GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

266 - Linux cli command update-ca-certificates

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-ca-certificates and provides detailed information about the command update-ca-certificates, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-ca-certificates.

NAME πŸ–₯️ update-ca-certificates πŸ–₯️

ca-certificates - update /etc/ssl/certs and ca-certificates.crt

SYNOPSIS

update-ca-certificates [options]

DESCRIPTION

This manual page documents briefly the update-ca-certificates command.

update-ca-certificates is a program that manages the collection of TLS certificates for the local machine and generates ca-certificates.crt. ca-certificates.crt is a single-file of concatenated certificates. The collection of individual certificates is stored at /etc/ssl/certs.

The program reads the configuration file /etc/ca-certificates.conf. Each line gives a pathname of a CA certificate under /usr/share/ca-certificates that should be trusted. Lines that begin with “#” are comment lines and thus ignored. Lines that begin with “!” are deselected, causing the deactivation of the CA certificate in question.

Certificates must be in PEM format and have a .crt extension in order to be included by update-ca-certificates. Furthermore, all certificates with a .crt extension found below /usr/local/share/ca-certificates are also included and implicitly trusted.

To add one or more certificates to the machine, copy the certificates in PEM format with the *.crt extension to /usr/local/share/ca-certificates. There should be one certificate per file, and not multiple certificates in a single file. Then run update-ca-certificates to merge the new certificates into the existing machine store at /etc/ssl/certs.

Before terminating, update-ca-certificates invokes run-parts on /etc/ca-certificates/update.d and calls each hook with a list of certificates: those added are prefixed with a +, those removed are prefixed with a -.

OPTIONS

A summary of options is included below.

-h, –help
Show summary of options.

-v, –verbose
Be verbose. Output openssl rehash.

-f, –fresh
Fresh updates. Remove symlinks in /etc/ssl/certs directory.

–certsconf
Change the configuration file. By default, the file /etc/ca-certificates.conf is used.

–certsdir
Change the certificate directory. By default, the directory /usr/share/ca-certificates is used.

–localcertsdir
Change the local certificate directory. By default, the directory /usr/local/share/ca-certificates is used.

–etccertsdir
Change the /etc certificate directory. By default, the directory /etc/ssl/certs is used.

FILES

/etc/ca-certificates.conf
A configuration file.

/etc/ssl/certs/ca-certificates.crt
A single-file version of CA certificates. This holds all CA certificates that were activated in /etc/ca-certificates.conf.

/usr/share/ca-certificates
Directory of CA certificates provided by the distribution.

/usr/local/share/ca-certificates
Directory of local CA certificates, with .crt extension, provided by the user.

SEE ALSO

openssl(1)

AUTHOR

This manual page was written by Fumitoshi UKAI <[email protected]>, for the Debian project (but may be used by others).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

267 - Linux cli command systemd-pcrlock-secureboot-policy.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pcrlock-secureboot-policy.service and provides detailed information about the command systemd-pcrlock-secureboot-policy.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pcrlock-secureboot-policy.service.

NAME πŸ–₯️ systemd-pcrlock-secureboot-policy.service πŸ–₯️

pcrlock, systemd-pcrlock-file-system.service, systemd-pcrlock-firmware-code.service, systemd-pcrlock-firmware-config.service, systemd-pcrlock-machine-id.service, systemd-pcrlock-make-policy.service, systemd-pcrlock-secureboot-authority.service, systemd-pcrlock-secureboot-policy.service - Analyze and predict TPM2 PCR states and generate an access policy from the prediction

SYNOPSIS

/usr/lib/systemd/systemd-pcrlock [OPTIONS…]

DESCRIPTION

Note: this command is experimental for now. While it is likely to become a regular component of systemd, it might still change in behaviour and interface.

systemd-pcrlock is a tool that may be used to analyze and predict TPM2 PCR measurements, and generate TPM2 access policies from the prediction which it stores in a TPM2 NV index (i.e. in the TPM2 non-volatile memory). This may then be used to restrict access to TPM2 objects (such as disk encryption keys) to system boot-ups in which only specific, trusted components are used.

systemd-pcrlock uses as input for its analysis and prediction:

Β·

The UEFI firmware TPM2 event log (i.e. /sys/kernel/security/tpm0/binary_bios_measurements) of the current boot.

Β·

The userspace TPM2 event log (i.e. /run/log/systemd/tpm2-measure.log) of the current boot.

Β·

The current PCR state of the TPM2 chip.

Β·

Boot component definition files (*.pcrlock and *.pcrlock.d/*.pcrlock, see systemd.pcrlock(5)) that each define expected measurements for one component of the boot process, permitting alternative variants for each. (Variants may be used to bless multiple kernel versions or boot loader versions at the same time.)

It uses these inputs to generate a combined event log, validating it against the PCR states. It then attempts to recognize event log records and matches them against the defined components. For each PCR where this can be done comprehensively (i.e. where all listed records and all defined components have been matched) this may then be used to predict future PCR measurements, taking the alternative variants defined for each component into account. This prediction may then be converted into a TPM2 access policy (consisting of TPM2 PolicyPCR and PolicyOR items), which is then stored in an NV index in the TPM2. This may be used to then lock secrets (such as disk encryption keys) to these policies (via a TPM2 PolicyAuthorizeNV policy).

Use tools such as systemd-cryptenroll(1) or systemd-repart(8) to bind disk encryption to such a systemd-pcrlock TPM2 policy. Specifically, see the –tpm2-pcrlock= switches of these tools.

The access policy logic requires a TPM2 device that implements the “PolicyAuthorizeNV” command, i.e. implements TPM 2.0 version 1.38 or newer.

COMMANDS

The following commands are understood:

log

This reads the combined TPM2 event log, validates it, matches it against the current PCR values, and outputs both in tabular form. Combine with –json= to generate output in JSON format.

Added in version 255.

cel

This reads the combined TPM2 event log and writes it to STDOUT in TCG Canonical Event Log Format (CEL-JSON)[1] format.

Added in version 255.

list-components

Shows a list of component definitions and their variants, i.e. the *.pcrlock files discovered in /var/lib/pcrlock.d/, /usr/lib/pcrlock.d/, and the other supported directories. See systemd.pcrlock(5) for details on these files and the full list of directories searched.

Added in version 255.

predict

Predicts the PCR state on future boots. This will analyze the TPM2 event log as described above, recognize components, and then generate all possible resulting PCR values for all combinations of component variants. Note that no prediction is made for PCRs whose value does not match the event log records, for which unrecognized measurements are discovered or for which components are defined that cannot be found in the event log. This is a safety measure to ensure that any generated access policy can be fulfilled correctly on current and future boots.

Added in version 255.

make-policy

This predicts the PCR state for future boots, much like the predict command above. It then uses this data to generate a TPM2 access policy which it stores in a TPM2 NV index. The prediction and information about the used TPM2 and its NV index are written to /var/lib/systemd/pcrlock.json.

The NV index is allocated on first invocation, and updated on subsequent invocations.

The NV index contents may be changed (and thus the policy stored in it updated) by providing an access PIN. This PIN is normally generated automatically and stored in encrypted form (with an access policy binding it to the NV index itself) in the aforementioned JSON policy file. This PIN may be chosen by the user, via the –recovery-pin= switch. If specified it may be used as alternative path of access to update the policy.

If the new prediction matches the old this command terminates quickly and executes no further operation. (Unless –force is specified, see below.)

Starting with v256, a copy of the /var/lib/systemd/pcrlock.json policy file is encoded in a credential (see systemd-creds(1) for details) and written to the EFI System Partition or XBOOTLDR partition, in the /loader/credentials/ subdirectory. There it is picked up at boot by systemd-stub(7) and passed to the invoked initrd, where it can be used to unlock the root file system (which typically contains /var/, which is where the primary copy of the policy is located, which hence cannot be used to unlock the root file system). The credential file is named after the boot entry token of the installation (see bootctl(1)), which is configurable via the –entry-token= switch, see below.

Added in version 255.

remove-policy

Removes a previously generated policy. Deletes the /var/lib/systemd/pcrlock.json file, and deallocates the NV index.

Added in version 255.

lock-firmware-code, unlock-firmware-code

Generates/removes .pcrlock files based on the TPM2 event log of the current boot covering all records for PCRs 0 (“platform-code”) and 2 (“external-code”).

This operation allows locking the boot process to the current version of the firmware of the system and its extension cards. This operation should only be used if the system vendor does not provide suitable pcrlock data ahead of time.

Note that this data only matches the current version of the firmware. If a firmware update is applied this data will be out-of-date and any access policy generated from it will no longer pass. It is thus recommended to invoke unlock-firmware-code before doing a firmware update, followed by make-policy to refresh the policy.

systemd-pcrlock lock-firmware-code is invoked automatically at boot via the systemd-pcrlock-firmware-code.service unit, if enabled. This ensures that an access policy managed by systemd-pcrlock is automatically locked to the new firmware version whenever the policy has been relaxed temporarily, in order to cover for firmware updates, as described above.

The files are only generated from the event log if the event log matches the current TPM2 PCR state.

This writes/removes the files /var/lib/pcrlock.d/250-firmware-code-early.pcrlock.d/generated.pcrlock and /var/lib/pcrlock.d/550-firmware-code-late.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-firmware-config, unlock-firmware-config

This is similar to lock-firmware-code/unlock-firmware-code but locks down the firmware configuration, i.e. PCRs 1 (“platform-config”) and 3 (“external-config”).

This functionality should be used with care as in most scenarios a minor firmware configuration change should not invalidate access policies to TPM2 objects. Also note that some systems measure unstable and unpredictable information (e.g. current CPU voltages, temperatures, as part of SMBIOS data) to these PCRs, which means this form of lockdown cannot be used reliably on such systems. Use this functionality only if the system and hardware is well known and does not suffer by these limitations, for example in virtualized environments.

Use unlock-firmware-config before making firmware configuration changes. If the systemd-pcrlock-firmware-config.service unit is enabled it will automatically generate a pcrlock file from the new measurements.

This writes/removes the files /var/lib/pcrlock.d/250-firmware-config-early.pcrlock.d/generated.pcrlock and /var/lib/pcrlock.d/550-firmware-config-late.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-secureboot-policy, unlock-secureboot-policy

Generates/removes a .pcrlock file based on the SecureBoot policy currently enforced. This looks at the SecureBoot, PK, KEK, db, dbx, dbt, dbr EFI variables and predicts their measurements to PCR 7 (“secure-boot-policy”) on the next boot.

Use unlock-firmware-config before applying SecureBoot policy updates. If the systemd-pcrlock-secureboot-policy.service unit is enabled it will automatically generate a pcrlock file from the policy discovered.

This writes/removes the file /var/lib/pcrlock.d/230-secureboot-policy.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-secureboot-authority, unlock-secureboot-authority

Generates/removes a .pcrlock file based on the SecureBoot authorities used to validate the boot path. SecureBoot authorities are the specific SecureBoot database entries that where used to validate the UEFI PE binaries executed at boot. This looks at the event log of the current boot, and uses relevant measurements on PCR 7 (“secure-boot-policy”).

This writes/removes the file /var/lib/pcrlock.d/620-secureboot-authority.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-gpt [DEVICE], unlock-gpt

Generates/removes a .pcrlock file based on the GPT partition table of the specified disk. If no disk is specified automatically determines the block device backing the root file system. This locks the state of the disk partitioning of the booted medium, which firmware measures to PCR 5 (“boot-loader-config”).

This writes/removes the file /var/lib/pcrlock.d/600-gpt.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-pe [BINARY], unlock-pe

Generates/removes a .pcrlock file based on the specified PE binary. This is useful for predicting measurements the firmware makes to PCR 4 (“boot-loader-code”) if the specified binary is part of the UEFI boot process. Use this on boot loader binaries and suchlike. Use lock-uki (see below) for PE binaries that are unified kernel images (UKIs).

Expects a path to the PE binary as argument. If not specified, reads the binary from STDIN instead.

The pcrlock file to write must be specified via the –pcrlock= switch.

Added in version 255.

lock-uki [UKI], unlock-uki

Generates/removes a .pcrlock file based on the specified UKI PE binary. This is useful for predicting measurements the firmware makes to PCR 4 (“boot-loader-code”), and systemd-stub(7) makes to PCR 11 (“kernel-boot”), if the specified UKI is booted. This is a superset of lock-pe.

Expects a path to the UKI PE binary as argument. If not specified, reads the binary from STDIN instead.

The pcrlock file to write must be specified via the –pcrlock= switch.

Added in version 255.

lock-machine-id, unlock-machine-id

Generates/removes a .pcrlock file based on /etc/machine-id. This is useful for predicting measurements systemd-pcrmachine.service(8) makes to PCR 15 (“system-identity”).

This writes/removes the file /var/lib/pcrlock.d/820-machine-id.pcrlock.

Added in version 255.

lock-file-system [PATH], unlock-file-system [PATH]

Generates/removes a .pcrlock file based on file system identity. This is useful for predicting measurements [email protected](8) makes to PCR 15 (“system-identity”) for the root and /var/ file systems.

This writes/removes the files /var/lib/pcrlock.d/830-root-file-system.pcrlock and /var/lib/pcrlock.d/840-file-system-path.pcrlock.

Added in version 255.

lock-kernel-cmdline [FILE], unlock-kernel-cmdline

Generates/removes a .pcrlock file based on /proc/cmdline (or the specified file if given). This is useful for predicting measurements the Linux kernel makes to PCR 9 (“kernel-initrd”).

This writes/removes the file /var/lib/pcrlock.d/710-kernel-cmdline.pcrlock/generated.pcrlock.

Added in version 255.

lock-kernel-initrd FILE, unlock-kernel-initrd

Generates/removes a .pcrlock file based on a kernel initrd cpio archive. This is useful for predicting measurements the Linux kernel makes to PCR 9 (“kernel-initrd”). Do not use for systemd-stub UKIs, as the initrd is combined dynamically from various sources and hence does not take a single input, like this command.

This writes/removes the file /var/lib/pcrlock.d/720-kernel-initrd.pcrlock/generated.pcrlock.

Added in version 255.

lock-raw [FILE], unlock-raw

Generates/removes a .pcrlock file based on raw binary data. The data is either read from the specified file or from STDIN (if none is specified). This requires that –pcrs= is specified. The generated .pcrlock file is written to the file specified via –pcrlock= or to STDOUT (if none is specified).

Added in version 255.

OPTIONS

The following options are understood:

–raw-description

When displaying the TPM2 event log do not attempt to decode the records to provide a friendly event log description string. Instead, show the binary payload data in escaped form.

Added in version 255.

–pcr=

Specifies the PCR number to use. May be specified more than once to select multiple PCRs.

This is used by lock-raw and lock-pe to select the PCR to lock against.

If used with predict and make-policy this will override which PCRs to include in the prediction and policy. If unspecified this defaults to PCRs 0-5, 7, 11-15. Note that these commands will not include any PCRs in the prediction/policy (even if specified explicitly) if there are measurements in the event log that do not match the current PCR value, or there are unrecognized measurements in the event log, or components define measurements not seen in the event log.

Added in version 255.

–nv-index=

Specifies the NV index to store the policy in. Honoured by make-policy. If not specified the command will automatically pick a free NV index.

Added in version 255.

–components=

Takes a path to read *.pcrlock and *.pcrlock.d/*.pcrlock files from. May be used more than once to specify multiple such directories. If not specified defaults to /etc/pcrlock.d/, /run/pcrlock.d/, /var/lib/pcrlock.d/, /usr/local/pcrlock.d/, /usr/lib/pcrlock.d/.

Added in version 255.

–location=

Takes either a string or a colon-separated pair of strings. Configures up to which point in the sorted list of defined components to analyze/predict PCRs to. Typically, the systemd-pcrlock tool is invoked from a fully booted system after boot-up and before shutdown. This means various components that are defined for shutdown have not been measured yet, and should not be searched for. This option allows one to restrict which components are considered for analysis (taking only components before some point into account, ignoring components after them). The expected string is ordered against the filenames of the components defined. Any components with a lexicographically later name are ignored. This logic applies to the log, predict, and make-policy verbs. If a colon-separated pair of strings are specified then they select which phases of the boot to include in the prediction/policy. The first string defines where the first prediction shall be made, and the second string defines where the last prediction shall be made. All such predictions are then combined into one set.

If used with list-components the selected location range will be highlighted in the component list.

Defaults to “760-:940-”, which means the policies generated by default will basically cover the whole runtime of the OS userspace, from the initrd (as “760-” closely follows 750-enter-initrd.pcrlock) until (and including) the main runtime of the system (as “940-” is closely followed by 950-shutdown.pcrlock). See systemd.pcrlock(5) for a full list of well-known components, that illustrate where this range is placed by default.

Added in version 255.

–recovery-pin=

Takes one of “hide”, “show” or “query”. Defaults to “hide”. Honoured by make-policy. If “query”, will query the user for a PIN to unlock the TPM2 NV index with. If no policy was created before, this PIN is used to protect the newly allocated NV index. If a policy has been created before, the PIN is used to unlock write access to the NV index. If either “hide” or “show” is used, a PIN is automatically generated, and β€” only in case of “show” β€” displayed on screen. Regardless if user supplied or automatically generated, it is stored in encrypted form in the policy metadata file. The recovery PIN may be used to regain write access to an NV index in case the access policy became out of date.

Added in version 255.

–pcrlock=

Takes a file system path as argument. If specified overrides where to write the generated pcrlock data to. Honoured by the various lock-* commands. If not specified, a default path is generally used, as documented above.

Added in version 255.

–policy=

Takes a file system path as argument. If specified overrides where to write pcrlock policy metadata to. If not specified defaults to /var/lib/systemd/pcrlock.json.

Added in version 255.

–force

If specified with make-policy, the predicted policy will be written to the NV index even if it is detected to be the same as the previously stored one.

Added in version 255.

–entry-token=

Sets the boot entry token to use for the file name for the pcrlock policy credential in the EFI System Partition or XBOOTLDR partition. See the bootctl(1) option of the same regarding expected values. This switch has an effect on the make-policy command only.

Added in version 256.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd.pcrlock(5), systemd-cryptenroll(1), [email protected](8), systemd-repart(8), systemd-pcrmachine.service(8), systemd-creds(1), systemd-stub(7), bootctl(1)

NOTES

TCG Canonical Event Log Format (CEL-JSON)

https://trustedcomputinggroup.org/resource/canonical-event-log-format/

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

268 - Linux cli command systemd-tmpfiles-setup-dev-early.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-tmpfiles-setup-dev-early.service and provides detailed information about the command systemd-tmpfiles-setup-dev-early.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-tmpfiles-setup-dev-early.service.

NAME πŸ–₯️ systemd-tmpfiles-setup-dev-early.service πŸ–₯️

tmpfiles, systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service, systemd-tmpfiles-clean.timer - Create, delete, and clean up files and directories

SYNOPSIS

systemd-tmpfiles [OPTIONS…] [CONFIGFILE…]

System units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-setup-dev-early.service

systemd-tmpfiles-setup-dev.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

User units:

systemd-tmpfiles-setup.service

systemd-tmpfiles-clean.service

systemd-tmpfiles-clean.timer

DESCRIPTION

systemd-tmpfiles creates, deletes, and cleans up files and directories, using the configuration file format and location specified in tmpfiles.d(5). Historically, it was designed to manage volatile and temporary files, as the name suggests, but it provides generic file management functionality and can be used to manage any kind of files. It must be invoked with one or more commands –create, –remove, and –clean, to select the respective subset of operations.

If invoked with no arguments, directives from the configuration files found in the directories specified by tmpfiles.d(5). When invoked with positional arguments, if option **–replace=**PATH is specified, arguments specified on the command line are used instead of the configuration file PATH. Otherwise, just the configuration specified by the command line arguments is executed. If the string “-” is specified instead of a filename, the configuration is read from standard input. If the argument is a file name (without any slashes), all configuration directories are searched for a matching file and the file found that has the highest priority is executed. If the argument is a path, that file is used directly without searching the configuration directories for any other matching file.

System services (systemd-tmpfiles-setup.service, systemd-tmpfiles-setup-dev-early.service, systemd-tmpfiles-setup-dev.service, systemd-tmpfiles-clean.service) invoke systemd-tmpfiles to create system files and to perform system wide cleanup. Those services read administrator-controlled configuration files in tmpfiles.d/ directories. User services (systemd-tmpfiles-setup.service, systemd-tmpfiles-clean.service) also invoke systemd-tmpfiles, but it reads a separate set of files, which includes user-controlled files under ~/.config/user-tmpfiles.d/ and ~/.local/share/user-tmpfiles.d/, and administrator-controlled files under /usr/share/user-tmpfiles.d/. Users may use this to create and clean up files under their control, but the system instance performs global cleanup and is not influenced by user configuration. Note that this means a time-based cleanup configured in the system instance, such as the one typically configured for /tmp/, will thus also affect files created by the user instance if they are placed in /tmp/, even if the user instances time-based cleanup is turned off.

To re-apply settings after configuration has been modified, simply restart systemd-tmpfiles-clean.service, which will apply any settings which can be safely executed at runtime. To debug systemd-tmpfiles, it may be useful to invoke it directly from the command line with increased log level (see $SYSTEMD_LOG_LEVEL below).

COMMANDS AND OPTIONS

The following commands are understood:

–create

If this command is passed, all files and directories marked with f, F, w, d, D, v, p, L, c, b, m in the configuration files are created or written to. Files and directories marked with z, Z, t, T, a, and A have their ownership, access mode and security labels set.

–clean

If this command is passed, all files and directories with an age parameter configured will be cleaned up.

–remove

If this command is passed, the contents of directories marked with D or R, and files or directories themselves marked with r or R are removed unless an exclusive or shared BSD lock is taken on them (see flock(2)).

–purge

If this option is passed, all files and directories marked for creation by the tmpfiles.d/ files specified on the command line will be deleted. Specifically, this acts on all files and directories marked with f, F, d, D, v, q, Q, p, L, c, b, C, w, e. If this switch is used at least one tmpfiles.d/ file (or - for standard input) must be specified on the command line or the invocation will be refused, for safety reasons (as otherwise much of the installed system files might be removed).

The primary usecase for this option is to automatically remove files and directories that originally have been created on behalf of an installed packaged at package removal time.

It is recommended to first run this command in combination with –dry-run (see below) to verify which files and directories will be deleted.

Warning! This is usually not the command you want! In most cases –remove is what you are looking for.

Added in version 256.

–user

Execute “user” configuration, i.e. tmpfiles.d files in user configuration directories.

Added in version 236.

–boot

Also execute lines with an exclamation mark. Lines that are not safe to be executed on a running system may be marked in this way. systemd-tmpfiles is executed in early boot with –boot specified and will execute those lines. When invoked again later, it should be called without –boot.

Added in version 209.

–graceful

Ignore configuration lines pertaining to unknown users or groups. This option is intended to be used in early boot before all users or groups have been created.

Added in version 254.

–dry-run

Process the configuration and print what operations would be performed, but dont actually change anything in the file system.

Added in version 256.

**–prefix=**path

Only apply rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 212.

**–exclude-prefix=**path

Ignore rules with paths that start with the specified prefix. This option can be specified multiple times.

Added in version 207.

-E

A shortcut for “–exclude-prefix=/dev –exclude-prefix=/proc –exclude-prefix=/run –exclude-prefix=/sys”, i.e. exclude the hierarchies typically backed by virtual or memory file systems. This is useful in combination with –root=, if the specified directory tree contains an OS tree without these virtual/memory file systems mounted in, as it is typically not desirable to create any files and directories below these subdirectories if they are supposed to be overmounted during runtime.

Added in version 247.

**–root=**root

Takes a directory path as an argument. All paths will be prefixed with the given alternate root path, including config search paths.

When this option is used, the libc Name Service Switch (NSS) is bypassed for resolving users and groups. Instead the files /etc/passwd and /etc/group inside the alternate root are read directly. This means that users/groups not listed in these files will not be resolved, i.e. LDAP NIS and other complex databases are not considered.

Consider combining this with -E to ensure the invocation does not create files or directories below mount points in the OS image operated on that are typically overmounted during runtime.

Added in version 212.

**–image=**image

Takes a path to a disk image file or block device node. If specified all operations are applied to file system in the indicated disk image. This is similar to –root= but operates on file systems stored in disk images or block devices. The disk image should either contain just a file system or a set of file systems within a GPT partition table, following the Discoverable Partitions Specification[1]. For further information on supported disk images, see systemd-nspawn(1)s switch of the same name.

Implies -E.

Added in version 247.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on the disk image specified via –image=, see above. If not specified defaults to the “*” policy, i.e. all recognized file systems in the image are used.

**–replace=**PATH

When this option is given, one or more positional arguments must be specified. All configuration files found in the directories listed in tmpfiles.d(5) will be read, and the configuration given on the command line will be handled instead of and with the same priority as the configuration file PATH.

This option is intended to be used when package installation scripts are running and files belonging to that package are not yet available on disk, so their contents must be given on the command line, but the admin configuration might already exist and should be given higher priority.

Added in version 238.

–cat-config

Copy the contents of config files to standard output. Before each file, the filename is printed as a comment.

–tldr

Copy the contents of config files to standard output. Only the “interesting” parts of the configuration files are printed, comments and empty lines are skipped. Before each file, the filename is printed as a comment.

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

It is possible to combine –create, –clean, and –remove in one invocation (in which case removal and cleanup are executed before creation of new files). For example, during boot the following command line is executed to ensure that all temporary and volatile directories are removed and created according to the configuration file:

systemd-tmpfiles –remove –create

CREDENTIALS

systemd-tmpfiles supports the service credentials logic as implemented by ImportCredential=/LoadCredential=/SetCredential= (see systemd.exec(5) for details). The following credentials are used when passed in:

tmpfiles.extra

The contents of this credential may contain additional lines to operate on. The credential contents should follow the same format as any other tmpfiles.d/ drop-in configuration file. If this credential is passed it is processed after all of the drop-in files read from the file system. The lines in the credential can hence augment existing lines of the OS, but not override them.

Added in version 252.

Note that by default the systemd-tmpfiles-setup.service unit file (and related unit files) is set up to inherit the “tmpfiles.extra” credential from the service manager.

ENVIRONMENT

$SYSTEMD_LOG_LEVEL

The maximum log level of emitted messages (messages with a higher log level, i.e. less important ones, will be suppressed). Takes a comma-separated list of values. A value may be either one of (in order of decreasing importance) emerg, alert, crit, err, warning, notice, info, debug, or an integer in the range 0…7. See syslog(3) for more information. Each value may optionally be prefixed with one of console, syslog, kmsg or journal followed by a colon to set the maximum log level for that specific log target (e.g. SYSTEMD_LOG_LEVEL=debug,console:info specifies to log at debug level except when logging to the console which should be at info level). Note that the global maximum log level takes priority over any per target maximum log levels.

$SYSTEMD_LOG_COLOR

A boolean. If true, messages written to the tty will be colored according to priority.

This setting is only useful when messages are written directly to the terminal, because journalctl(1) and other tools that display logs will color messages based on the log level on their own.

$SYSTEMD_LOG_TIME

A boolean. If true, console log messages will be prefixed with a timestamp.

This setting is only useful when messages are written directly to the terminal or a file, because journalctl(1) and other tools that display logs will attach timestamps based on the entry metadata on their own.

$SYSTEMD_LOG_LOCATION

A boolean. If true, messages will be prefixed with a filename and line number in the source code where the message originates.

Note that the log location is often attached as metadata to journal entries anyway. Including it directly in the message text can nevertheless be convenient when debugging programs.

$SYSTEMD_LOG_TARGET

The destination for log messages. One of console (log to the attached tty), console-prefixed (log to the attached tty but with prefixes encoding the log level and “facility”, see syslog(3), kmsg (log to the kernel circular log buffer), journal (log to the journal), journal-or-kmsg (log to the journal if available, and to kmsg otherwise), auto (determine the appropriate log target automatically, the default), null (disable log output).

$SYSTEMD_PAGER

Pager to use when –no-pager is not given; overrides $PAGER. If neither $SYSTEMD_PAGER nor $PAGER are set, a set of well-known pager implementations are tried in turn, including less(1) and more(1), until one is found. If no pager implementation is discovered no pager is invoked. Setting this environment variable to an empty string or the value “cat” is equivalent to passing –no-pager.

Note: if $SYSTEMD_PAGERSECURE is not set, $SYSTEMD_PAGER (as well as $PAGER) will be silently ignored.

$SYSTEMD_LESS

Override the options passed to less (by default “FRSXMK”).

Users might want to change two options in particular:

K

This option instructs the pager to exit immediately when Ctrl+C is pressed. To allow less to handle Ctrl+C itself to switch back to the pager command prompt, unset this option.

If the value of $SYSTEMD_LESS does not include “K”, and the pager that is invoked is less, Ctrl+C will be ignored by the executable, and needs to be handled by the pager.

X

This option instructs the pager to not send termcap initialization and deinitialization strings to the terminal. It is set by default to allow command output to remain visible in the terminal even after the pager exits. Nevertheless, this prevents some pager functionality from working, in particular paged output cannot be scrolled with the mouse.

Note that setting the regular $LESS environment variable has no effect for less invocations by systemd tools.

See less(1) for more discussion.

$SYSTEMD_LESSCHARSET

Override the charset passed to less (by default “utf-8”, if the invoking terminal is determined to be UTF-8 compatible).

Note that setting the regular $LESSCHARSET environment variable has no effect for less invocations by systemd tools.

$SYSTEMD_PAGERSECURE

Takes a boolean argument. When true, the “secure” mode of the pager is enabled; if false, disabled. If $SYSTEMD_PAGERSECURE is not set at all, secure mode is enabled if the effective UID is not the same as the owner of the login session, see geteuid(2) and sd_pid_get_owner_uid(3). In secure mode, LESSSECURE=1 will be set when invoking the pager, and the pager shall disable commands that open or create new files or start new subprocesses. When $SYSTEMD_PAGERSECURE is not set at all, pagers which are not known to implement secure mode will not be used. (Currently only less(1) implements secure mode.)

Note: when commands are invoked with elevated privileges, for example under sudo(8) or pkexec(1), care must be taken to ensure that unintended interactive features are not enabled. “Secure” mode for the pager may be enabled automatically as describe above. Setting SYSTEMD_PAGERSECURE=0 or not removing it from the inherited environment allows the user to invoke arbitrary commands. Note that if the $SYSTEMD_PAGER or $PAGER variables are to be honoured, $SYSTEMD_PAGERSECURE must be set too. It might be reasonable to completely disable the pager using –no-pager instead.

$SYSTEMD_COLORS

Takes a boolean argument. When true, systemd and related utilities will use colors in their output, otherwise the output will be monochrome. Additionally, the variable can take one of the following special values: “16”, “256” to restrict the use of colors to the base 16 or 256 ANSI colors, respectively. This can be specified to override the automatic decision based on $TERM and what the console is connected to.

$SYSTEMD_URLIFY

The value must be a boolean. Controls whether clickable links should be generated in the output for terminal emulators supporting this. This can be specified to override the decision that systemd makes based on $TERM and other conditions.

UNPRIVILEGED –CLEANUP OPERATION

systemd-tmpfiles tries to avoid changing the access and modification times on the directories it accesses, which requires CAP_FOWNER privileges. When running as non-root, directories which are checked for files to clean up will have their access time bumped, which might prevent their cleanup.

EXIT STATUS

On success, 0 is returned. If the configuration was syntactically invalid (syntax errors, missing arguments, …), so some lines had to be ignored, but no other errors occurred, 65 is returned (EX_DATAERR from /usr/include/sysexits.h). If the configuration was syntactically valid, but could not be executed (lack of permissions, creation of files in missing directories, invalid contents when writing to /sys/ values, …), 73 is returned (EX_CANTCREAT from /usr/include/sysexits.h). Otherwise, 1 is returned (EXIT_FAILURE from /usr/include/stdlib.h).

Note: when creating items, if the target already exists, but is of the wrong type or otherwise does not match the requested state, and forced operation has not been requested with “+”, a message is emitted, but the failure is otherwise ignored.

SEE ALSO

systemd(1), tmpfiles.d(5)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

269 - Linux cli command wpa_supplicant

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wpa_supplicant and provides detailed information about the command wpa_supplicant, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wpa_supplicant.

NAME πŸ–₯️ wpa_supplicant πŸ–₯️

Wi-Fi Protected Access client and IEEE 802.1X supplicant

SYNOPSIS

wpa_supplicant [ -BddfhKLqqsTtuvW ] [ -iifname ] [ -cconfig file ] [ -Ddriver ] [ -PPID_file ] [ -foutput file ]

OVERVIEW

Wireless networks do not require physical access to the network equipment in the same way as wired networks. This makes it easier for unauthorized users to passively monitor a network and capture all transmitted frames. In addition, unauthorized use of the network is much easier. In many cases, this can happen even without user’s explicit knowledge since the wireless LAN adapter may have been configured to automatically join any available network.

Link-layer encryption can be used to provide a layer of security for wireless networks. The original wireless LAN standard, IEEE 802.11, included a simple encryption mechanism, WEP. However, that proved to be flawed in many areas and network protected with WEP cannot be consider secure. IEEE 802.1X authentication and frequently changed dynamic WEP keys can be used to improve the network security, but even that has inherited security issues due to the use of WEP for encryption. Wi-Fi Protected Access and IEEE 802.11i amendment to the wireless LAN standard introduce a much improved mechanism for securing wireless networks. IEEE 802.11i enabled networks that are using CCMP (encryption mechanism based on strong cryptographic algorithm AES) can finally be called secure used for applications which require efficient protection against unauthorized access.

wpa_supplicant is an implementation of the WPA Supplicant component, i.e., the part that runs in the client stations. It implements WPA key negotiation with a WPA Authenticator and EAP authentication with Authentication Server. In addition, it controls the roaming and IEEE 802.11 authentication/association of the wireless LAN driver.

wpa_supplicant is designed to be a “daemon” program that runs in the background and acts as the backend component controlling the wireless connection. wpa_supplicant supports separate frontend programs and an example text-based frontend, wpa_cli, is included with wpa_supplicant.

Before wpa_supplicant can do its work, the network interface must be available. That means that the physical device must be present and enabled, and the driver for the device must be loaded. The daemon will exit immediately if the device is not already available.

After wpa_supplicant has configured the network device, higher level configuration such as DHCP may proceed. There are a variety of ways to integrate wpa_supplicant into a machine’s networking scripts, a few of which are described in sections below.

The following steps are used when associating with an AP using WPA:

Β·
wpa_supplicant requests the kernel driver to scan neighboring BSSes

Β·
wpa_supplicant selects a BSS based on its configuration

Β·
wpa_supplicant requests the kernel driver to associate with the chosen BSS

Β·
If WPA-EAP: integrated IEEE 802.1X Supplicant completes EAP authentication with the authentication server (proxied by the Authenticator in the AP)

Β·
If WPA-EAP: master key is received from the IEEE 802.1X Supplicant

Β·
If WPA-PSK: wpa_supplicant uses PSK as the master session key

Β·
wpa_supplicant completes WPA 4-Way Handshake and Group Key Handshake with the Authenticator (AP)

Β·
wpa_supplicant configures encryption keys for unicast and broadcast

Β·
normal data packets can be transmitted and received

SUPPORTED FEATURES

Supported WPA/IEEE 802.11i features:

Β·
WPA-PSK (“WPA-Personal”)

Β·
WPA with EAP (e.g., with RADIUS authentication server) (“WPA-Enterprise”) Following authentication methods are supported with an integrate IEEE 802.1X Supplicant:

Β·
EAP-TLS

Β·
EAP-PEAP/MSCHAPv2 (both PEAPv0 and PEAPv1)

Β·
EAP-PEAP/TLS (both PEAPv0 and PEAPv1)

Β·
EAP-PEAP/GTC (both PEAPv0 and PEAPv1)

Β·
EAP-PEAP/OTP (both PEAPv0 and PEAPv1)

Β·
EAP-PEAP/MD5-Challenge (both PEAPv0 and PEAPv1)

Β·
EAP-TTLS/EAP-MD5-Challenge

Β·
EAP-TTLS/EAP-GTC

Β·
EAP-TTLS/EAP-OTP

Β·
EAP-TTLS/EAP-MSCHAPv2

Β·
EAP-TTLS/EAP-TLS

Β·
EAP-TTLS/MSCHAPv2

Β·
EAP-TTLS/MSCHAP

Β·
EAP-TTLS/PAP

Β·
EAP-TTLS/CHAP

Β·
EAP-SIM

Β·
EAP-AKA

Β·
EAP-PSK

Β·
EAP-PAX

Β·
LEAP (note: requires special support from the driver for IEEE 802.11 authentication)

Β·
(following methods are supported, but since they do not generate keying material, they cannot be used with WPA or IEEE 802.1X WEP keying)

Β·
EAP-MD5-Challenge

Β·
EAP-MSCHAPv2

Β·
EAP-GTC

Β·
EAP-OTP

Β·
key management for CCMP, TKIP, WEP104, WEP40

Β·
RSN/WPA2 (IEEE 802.11i)

Β·
pre-authentication

Β·
PMKSA caching

AVAILABLE DRIVERS

A summary of available driver backends is below. Support for each of the driver backends is chosen at wpa_supplicant compile time. For a list of supported driver backends that may be used with the -D option on your system, refer to the help output of wpa_supplicant (wpa_supplicant -h).

nl80211
Uses the modern Linux nl80211/cfg80211 netlink-based interface (most new drivers).

wext
Uses the legacy Linux wireless extensions ioctl-based interface (older hardware/drivers).

wired
wpa_supplicant wired Ethernet driver

roboswitch
wpa_supplicant Broadcom switch driver

bsd
BSD 802.11 support (Atheros, etc.).

ndis
Windows NDIS driver.

COMMAND LINE OPTIONS

Most command line options have global scope. Some are given per interface, and are only valid if at least one -i option is specified, otherwise they’re ignored. Option groups for different interfaces must be separated by -N option.

-b br_ifname
Optional bridge interface name. (Per interface)

-B
Run daemon in the background.

-c filename
Path to configuration file. (Per interface)

-C ctrl_interface
Path to ctrl_interface socket (Per interface. Only used if -c is not).

-i ifname
Interface to listen on. Multiple instances of this option can be present, one per interface, separated by -N option (see below).

-d
Increase debugging verbosity (-dd even more).

-D driver
Driver to use (can be multiple drivers: nl80211,wext). (Per interface, see the available options below.)

-e entropy file
File for wpa_supplicant to use to maintain its internal entropy store in over restarts.

-f output file
Log output to specified file instead of stdout. (This is only available if wpa_supplicant was built with the CONFIG_DEBUG_FILE option.)

-g global ctrl_interface
Path to global ctrl_interface socket. If specified, interface definitions may be omitted.

-K
Include keys (passwords, etc.) in debug output.

-h
Help. Show a usage message.

-L
Show license (BSD).

-o override driver
Override the driver parameter for new interfaces.

-O override ctrl_interface
Override the ctrl_interface parameter for new interfaces.

-p
Driver parameters. (Per interface)

-P PID_file
Path to PID file.

-q
Decrease debugging verbosity (-qq even less).

-s
Log output to syslog instead of stdout. (This is only available if wpa_supplicant was built with the CONFIG_DEBUG_SYSLOG option.)

-T
Log output to Linux tracing in addition to any other destinations. (This is only available if wpa_supplicant was built with the CONFIG_DEBUG_LINUX_TRACING option.)

-t
Include timestamp in debug messages.

-u
Enable DBus control interface. If enabled, interface definitions may be omitted. (This is only available if wpa_supplicant was built with the CONFIG_CTRL_IFACE_DBUS_NEW option.)

-v
Show version.

-W
Wait for a control interface monitor before starting.

-N
Start describing new interface.

EXAMPLES

In most common cases, wpa_supplicant is started with:

wpa_supplicant -B -c/etc/wpa_supplicant.conf -iwlan0

This makes the process fork into background.

The easiest way to debug problems, and to get debug log for bug reports, is to start wpa_supplicant on foreground with debugging enabled:

wpa_supplicant -c/etc/wpa_supplicant.conf -iwlan0 -d

If the specific driver wrapper is not known beforehand, it is possible to specify multiple comma separated driver wrappers on the command line. wpa_supplicant will use the first driver wrapper that is able to initialize the interface.

wpa_supplicant -Dnl80211,wext -c/etc/wpa_supplicant.conf -iwlan0

wpa_supplicant can control multiple interfaces (radios) either by running one process for each interface separately or by running just one process and list of options at command line. Each interface is separated with -N argument. As an example, following command would start wpa_supplicant for two interfaces:

wpa_supplicant
-c wpa1.conf -i wlan0 -D nl80211 -N
-c wpa2.conf -i ath0 -D wext

OS REQUIREMENTS

Current hardware/software requirements:

Β·
Linux kernel 2.6.30 or higher with nl80211/cfg80211 support

Β·
Linux kernel 2.4.x or higher with Linux Wireless Extensions v15 or newer

Β·
FreeBSD 6-CURRENT

Β·
Microsoft Windows with WinPcap (at least WinXP, may work with other versions)

SUPPORTED DRIVERS

Linux nl80211/cfg80211
This is the preferred driver for Linux.

Linux wireless extensions
In theory, any driver that supports Linux wireless extensions can be used with IEEE 802.1X (i.e., not WPA) when using ap_scan=0 option in configuration file.

Wired Ethernet drivers
Use ap_scan=0.

BSD net80211 layer (e.g., Atheros driver)
At the moment, this is for FreeBSD 6-CURRENT branch.

Windows NDIS
The current Windows port requires WinPcap (http://winpcap.polito.it/). See README-Windows.txt for more information.

wpa_supplicant was designed to be portable for different drivers and operating systems. Hopefully, support for more wlan cards and OSes will be added in the future. See developer.txt for more information about the design of wpa_supplicant and porting to other drivers. One main goal is to add full WPA/WPA2 support to Linux wireless extensions to allow new drivers to be supported without having to implement new driver-specific interface code in wpa_supplicant.

ARCHITECTURE

The wpa_supplicant system consists of the following components:

wpa_supplicant.conf
the configuration file describing all networks that the user wants the computer to connect to.

wpa_supplicant
the program that directly interacts with the network interface.

wpa_cli
the client program that provides a high-level interface to the functionality of the daemon.

wpa_passphrase
a utility needed to construct wpa_supplicant.conf files that include encrypted passwords.

QUICK START

First, make a configuration file, e.g. /etc/wpa_supplicant.conf, that describes the networks you are interested in. See wpa_supplicant.conf(5) for details.

Once the configuration is ready, you can test whether the configuration works by running wpa_supplicant with following command to start it on foreground with debugging enabled:

wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -d

Assuming everything goes fine, you can start using following command to start wpa_supplicant on background without debugging:

wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -B

Please note that if you included more than one driver interface in the build time configuration (.config), you may need to specify which interface to use by including -D<driver name> option on the command line.

INTERFACE TO PCMCIA-CS/CARDMRG

For example, following small changes to pcmcia-cs scripts can be used to enable WPA support:

Add MODE=“Managed” and WPA=“y” to the network scheme in /etc/pcmcia/wireless.opts.

Add the following block to the end of start action handler in /etc/pcmcia/wireless:

if [ “$WPA” = “y” -a -x /usr/local/bin/wpa_supplicant ]; then /usr/local/bin/wpa_supplicant -B -c/etc/wpa_supplicant.conf -i$DEVICE fi

Add the following block to the end of stop action handler (may need to be separated from other actions) in /etc/pcmcia/wireless:

if [ “$WPA” = “y” -a -x /usr/local/bin/wpa_supplicant ]; then killall wpa_supplicant fi

This will make cardmgr start wpa_supplicant when the card is plugged in.

SEE ALSO

wpa_background(8) wpa_supplicant.conf(5) wpa_cli(8) wpa_passphrase(8)

LEGAL

wpa_supplicant is copyright (c) 2003-2022, Jouni Malinen <[email protected]> and contributors. All Rights Reserved.

This program is licensed under the BSD license (the one with advertisement clause removed).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

270 - Linux cli command update-fmtutil

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command update-fmtutil and provides detailed information about the command update-fmtutil, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the update-fmtutil.

files for all the system trees

This manual page documents

a program that was written for the Debian distribution.

is used to generate

and

configurations files

which is the link target of

and

which is the link target of

from the files with names ending in

located in

and

respectively.

Any TeX package shipping map files in one of the trees

or

should also provide files in one of the above directories containing the respective lines for

file.

In order to configure (enable additional entries, disable system provided entries, etc), the normal

mechanism should be used. Please see the man page details.

Executes additional checks that all necessary files are present in the kpathsea database. Don’t use this in maintainer scripts.

don’t write anything to the standard output during normal operation

print a summary of the command-line usage of

and exit

output version information and exit

Note that the

option, which turns on verbose mode, is deprecated. We are currently in a transition phase where quiet mode is still the default (therefore,

has no effect), but

will be verbose by default as soon as enough packages use

in their maintainer scripts.

The

files under

should contain valid configuration lines for

Usually, they will consist of lines of following one of these forms:

Map <foo.map> MixedMap <bar.map> KanjiMap <baz.map>

The

form should only be used if the font is available in both bitmap and scalable formats (this way, it won’t be declared in the default map file for Dvips that is used when

is set to

in

The KanjiMap form should only be used for map files defining Japanese font maps.

returns 0 on success, or a strictly positive integer on error.

This manual page was written by

and updated by

and

for the Debian distribution (and may be used by others).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

271 - Linux cli command zramctl

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command zramctl and provides detailed information about the command zramctl, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the zramctl.

NAME πŸ–₯️ zramctl πŸ–₯️

set up and control zram devices

SYNOPSIS

Get info:

zramctl [options]

Reset zram:

zramctl -r zramdev

Print name of first unused zram device:

zramctl -f

Set up a zram device:

zramctl [-f | zramdev] [-s size] [-t number] [-a algorithm]

DESCRIPTION

zramctl is used to quickly set up zram device parameters, to reset zram devices, and to query the status of used zram devices.

If no option is given, all non-zero size zram devices are shown.

Note that zramdev node specified on command line has to already exist. The command zramctl creates a new /dev/zram<N> nodes only when –find option specified. It’s possible (and common) that after system boot /dev/zram<N> nodes are not created yet.

OPTIONS

-a, –algorithm lzo|lz4|lz4hc|deflate|842|zstd

Set the compression algorithm to be used for compressing data in the zram device.

The list of supported algorithms could be inaccurate as it depends on the current kernel configuration. A basic overview can be obtained by using the command “cat /sys/block/zram0/comp_algorithm”; however, please note that this list might also be incomplete. This is due to the fact that ZRAM utilizes the Crypto API, and if certain algorithms were built as modules, it becomes impossible to enumerate all of them.

-f, –find

Find the first unused zram device. If a –size argument is present, then initialize the device.

-n, –noheadings

Do not print a header line in status output.

-o, –output list

Define the status output columns to be used. If no output arrangement is specified, then a default set is used. Use –help to get a list of all supported columns.

–output-all

Output all available columns.

–raw

Use the raw format for status output.

-r, –reset

Reset the options of the specified zram device(s). Zram device settings can be changed only after a reset.

-s, –size size

Create a zram device of the specified size. Zram devices are aligned to memory pages; when the requested size is not a multiple of the page size, it will be rounded up to the next multiple. When not otherwise specified, the unit of the size parameter is bytes.

The size argument may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the “iB” is optional, e.g., “K” has the same meaning as “KiB”) or the suffixes KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.

-t, –streams number

Set the maximum number of compression streams that can be used for the device. The default is use all CPUs and one stream for kernels older than 4.6.

-h, –help

Display help text and exit.

-V, –version

Print version and exit.

EXIT STATUS

zramctl returns 0 on success, nonzero on failure.

FILES

/dev/zram[0..N]

zram block devices

EXAMPLE

The following commands set up a zram device with a size of one gigabyte and use it as swap device.

zramctl –find –size 1024M

 /dev/zram0
 # mkswap /dev/zram0
 # swapon /dev/zram0
 ...
 # swapoff /dev/zram0
 # zramctl --reset /dev/zram0

AUTHORS

SEE ALSO

Linux kernel documentation <https://docs.kernel.org/admin-guide/blockdev/zram.html>

REPORTING BUGS

For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.

AVAILABILITY

The zramctl command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

272 - Linux cli command unshadow

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command unshadow and provides detailed information about the command unshadow, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the unshadow.

NAME πŸ–₯️ unshadow πŸ–₯️

combines passwd and shadow files

SYNOPSIS

unshadow password-file shadow-file

DESCRIPTION

This manual page documents briefly the unshadow command, which is part of the john package. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page. john, better known as John the Ripper, is a tool to find weak passwords of users in a server.

The unshadow tool combines the passwd and shadow files so John can use them. You might need this since if you only used your shadow file, the GECOS information wouldn’t be used by the “single crack” mode, and also you wouldn’t be able to use the ‘-shells’ option. On a normal system you’ll need to run unshadow as root to be able to read the shadow file.

SEE ALSO

john(8), mailer(8), unafs(8), unique(8).

The programs are documented fully by John’s documentation, which should be available in /usr/share/doc/john or other location, depending on your system.

AUTHOR

This manual page was written by Jordi Mallach <[email protected]>, for the Debian GNU/Linux system (but may be used by others).
John the Ripper and mailer were written by Solar Designer <[email protected]>. The complete list of contributors can be found in the CREDITS file in the documentation directory.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

273 - Linux cli command systemd-volatile-root.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-volatile-root.service and provides detailed information about the command systemd-volatile-root.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-volatile-root.service.

NAME πŸ–₯️ systemd-volatile-root.service πŸ–₯️

volatile-root.service, systemd-volatile-root - Make the root file system volatile

SYNOPSIS

systemd-volatile-root.service

/usr/lib/systemd/systemd-volatile-root

DESCRIPTION

systemd-volatile-root.service is a service that replaces the root directory with a volatile memory file system (“tmpfs”), mounting the original (non-volatile) /usr/ inside it read-only. This way, vendor data from /usr/ is available as usual, but all configuration data in /etc/, all state data in /var/ and all other resources stored directly under the root directory are reset on boot and lost at shutdown, enabling fully stateless systems.

This service is only enabled if full volatile mode is selected, for example by specifying “systemd.volatile=yes” on the kernel command line. This service runs only in the initrd, before the system transitions to the hosts root directory. Note that this service is not used if “systemd.volatile=state” is used, as in that mode the root directory is non-volatile.

SEE ALSO

systemd(1), systemd-fstab-generator(8), kernel-command-line(7)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

274 - Linux cli command wpa_passphrase

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command wpa_passphrase and provides detailed information about the command wpa_passphrase, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the wpa_passphrase.

NAME πŸ–₯️ wpa_passphrase πŸ–₯️

Generate a WPA PSK from an ASCII passphrase for a SSID

SYNOPSIS

wpa_passphrase [ ssid ] [ passphrase ]

OVERVIEW

wpa_passphrase pre-computes PSK entries for network configuration blocks of a wpa_supplicant.conf file. An ASCII passphrase and SSID are used to generate a 256-bit PSK.

OPTIONS

ssid
The SSID whose passphrase should be derived.

passphrase
The passphrase to use. If not included on the command line, passphrase will be read from standard input.

SEE ALSO

wpa_supplicant.conf(5) wpa_supplicant(8)

LEGAL

wpa_supplicant is copyright (c) 2003-2022, Jouni Malinen <[email protected]> and contributors. All Rights Reserved.

This program is licensed under the BSD license (the one with advertisement clause removed).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

275 - Linux cli command systemd-pcrlock-make-policy.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-pcrlock-make-policy.service and provides detailed information about the command systemd-pcrlock-make-policy.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-pcrlock-make-policy.service.

NAME πŸ–₯️ systemd-pcrlock-make-policy.service πŸ–₯️

pcrlock, systemd-pcrlock-file-system.service, systemd-pcrlock-firmware-code.service, systemd-pcrlock-firmware-config.service, systemd-pcrlock-machine-id.service, systemd-pcrlock-make-policy.service, systemd-pcrlock-secureboot-authority.service, systemd-pcrlock-secureboot-policy.service - Analyze and predict TPM2 PCR states and generate an access policy from the prediction

SYNOPSIS

/usr/lib/systemd/systemd-pcrlock [OPTIONS…]

DESCRIPTION

Note: this command is experimental for now. While it is likely to become a regular component of systemd, it might still change in behaviour and interface.

systemd-pcrlock is a tool that may be used to analyze and predict TPM2 PCR measurements, and generate TPM2 access policies from the prediction which it stores in a TPM2 NV index (i.e. in the TPM2 non-volatile memory). This may then be used to restrict access to TPM2 objects (such as disk encryption keys) to system boot-ups in which only specific, trusted components are used.

systemd-pcrlock uses as input for its analysis and prediction:

Β·

The UEFI firmware TPM2 event log (i.e. /sys/kernel/security/tpm0/binary_bios_measurements) of the current boot.

Β·

The userspace TPM2 event log (i.e. /run/log/systemd/tpm2-measure.log) of the current boot.

Β·

The current PCR state of the TPM2 chip.

Β·

Boot component definition files (*.pcrlock and *.pcrlock.d/*.pcrlock, see systemd.pcrlock(5)) that each define expected measurements for one component of the boot process, permitting alternative variants for each. (Variants may be used to bless multiple kernel versions or boot loader versions at the same time.)

It uses these inputs to generate a combined event log, validating it against the PCR states. It then attempts to recognize event log records and matches them against the defined components. For each PCR where this can be done comprehensively (i.e. where all listed records and all defined components have been matched) this may then be used to predict future PCR measurements, taking the alternative variants defined for each component into account. This prediction may then be converted into a TPM2 access policy (consisting of TPM2 PolicyPCR and PolicyOR items), which is then stored in an NV index in the TPM2. This may be used to then lock secrets (such as disk encryption keys) to these policies (via a TPM2 PolicyAuthorizeNV policy).

Use tools such as systemd-cryptenroll(1) or systemd-repart(8) to bind disk encryption to such a systemd-pcrlock TPM2 policy. Specifically, see the –tpm2-pcrlock= switches of these tools.

The access policy logic requires a TPM2 device that implements the “PolicyAuthorizeNV” command, i.e. implements TPM 2.0 version 1.38 or newer.

COMMANDS

The following commands are understood:

log

This reads the combined TPM2 event log, validates it, matches it against the current PCR values, and outputs both in tabular form. Combine with –json= to generate output in JSON format.

Added in version 255.

cel

This reads the combined TPM2 event log and writes it to STDOUT in TCG Canonical Event Log Format (CEL-JSON)[1] format.

Added in version 255.

list-components

Shows a list of component definitions and their variants, i.e. the *.pcrlock files discovered in /var/lib/pcrlock.d/, /usr/lib/pcrlock.d/, and the other supported directories. See systemd.pcrlock(5) for details on these files and the full list of directories searched.

Added in version 255.

predict

Predicts the PCR state on future boots. This will analyze the TPM2 event log as described above, recognize components, and then generate all possible resulting PCR values for all combinations of component variants. Note that no prediction is made for PCRs whose value does not match the event log records, for which unrecognized measurements are discovered or for which components are defined that cannot be found in the event log. This is a safety measure to ensure that any generated access policy can be fulfilled correctly on current and future boots.

Added in version 255.

make-policy

This predicts the PCR state for future boots, much like the predict command above. It then uses this data to generate a TPM2 access policy which it stores in a TPM2 NV index. The prediction and information about the used TPM2 and its NV index are written to /var/lib/systemd/pcrlock.json.

The NV index is allocated on first invocation, and updated on subsequent invocations.

The NV index contents may be changed (and thus the policy stored in it updated) by providing an access PIN. This PIN is normally generated automatically and stored in encrypted form (with an access policy binding it to the NV index itself) in the aforementioned JSON policy file. This PIN may be chosen by the user, via the –recovery-pin= switch. If specified it may be used as alternative path of access to update the policy.

If the new prediction matches the old this command terminates quickly and executes no further operation. (Unless –force is specified, see below.)

Starting with v256, a copy of the /var/lib/systemd/pcrlock.json policy file is encoded in a credential (see systemd-creds(1) for details) and written to the EFI System Partition or XBOOTLDR partition, in the /loader/credentials/ subdirectory. There it is picked up at boot by systemd-stub(7) and passed to the invoked initrd, where it can be used to unlock the root file system (which typically contains /var/, which is where the primary copy of the policy is located, which hence cannot be used to unlock the root file system). The credential file is named after the boot entry token of the installation (see bootctl(1)), which is configurable via the –entry-token= switch, see below.

Added in version 255.

remove-policy

Removes a previously generated policy. Deletes the /var/lib/systemd/pcrlock.json file, and deallocates the NV index.

Added in version 255.

lock-firmware-code, unlock-firmware-code

Generates/removes .pcrlock files based on the TPM2 event log of the current boot covering all records for PCRs 0 (“platform-code”) and 2 (“external-code”).

This operation allows locking the boot process to the current version of the firmware of the system and its extension cards. This operation should only be used if the system vendor does not provide suitable pcrlock data ahead of time.

Note that this data only matches the current version of the firmware. If a firmware update is applied this data will be out-of-date and any access policy generated from it will no longer pass. It is thus recommended to invoke unlock-firmware-code before doing a firmware update, followed by make-policy to refresh the policy.

systemd-pcrlock lock-firmware-code is invoked automatically at boot via the systemd-pcrlock-firmware-code.service unit, if enabled. This ensures that an access policy managed by systemd-pcrlock is automatically locked to the new firmware version whenever the policy has been relaxed temporarily, in order to cover for firmware updates, as described above.

The files are only generated from the event log if the event log matches the current TPM2 PCR state.

This writes/removes the files /var/lib/pcrlock.d/250-firmware-code-early.pcrlock.d/generated.pcrlock and /var/lib/pcrlock.d/550-firmware-code-late.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-firmware-config, unlock-firmware-config

This is similar to lock-firmware-code/unlock-firmware-code but locks down the firmware configuration, i.e. PCRs 1 (“platform-config”) and 3 (“external-config”).

This functionality should be used with care as in most scenarios a minor firmware configuration change should not invalidate access policies to TPM2 objects. Also note that some systems measure unstable and unpredictable information (e.g. current CPU voltages, temperatures, as part of SMBIOS data) to these PCRs, which means this form of lockdown cannot be used reliably on such systems. Use this functionality only if the system and hardware is well known and does not suffer by these limitations, for example in virtualized environments.

Use unlock-firmware-config before making firmware configuration changes. If the systemd-pcrlock-firmware-config.service unit is enabled it will automatically generate a pcrlock file from the new measurements.

This writes/removes the files /var/lib/pcrlock.d/250-firmware-config-early.pcrlock.d/generated.pcrlock and /var/lib/pcrlock.d/550-firmware-config-late.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-secureboot-policy, unlock-secureboot-policy

Generates/removes a .pcrlock file based on the SecureBoot policy currently enforced. This looks at the SecureBoot, PK, KEK, db, dbx, dbt, dbr EFI variables and predicts their measurements to PCR 7 (“secure-boot-policy”) on the next boot.

Use unlock-firmware-config before applying SecureBoot policy updates. If the systemd-pcrlock-secureboot-policy.service unit is enabled it will automatically generate a pcrlock file from the policy discovered.

This writes/removes the file /var/lib/pcrlock.d/230-secureboot-policy.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-secureboot-authority, unlock-secureboot-authority

Generates/removes a .pcrlock file based on the SecureBoot authorities used to validate the boot path. SecureBoot authorities are the specific SecureBoot database entries that where used to validate the UEFI PE binaries executed at boot. This looks at the event log of the current boot, and uses relevant measurements on PCR 7 (“secure-boot-policy”).

This writes/removes the file /var/lib/pcrlock.d/620-secureboot-authority.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-gpt [DEVICE], unlock-gpt

Generates/removes a .pcrlock file based on the GPT partition table of the specified disk. If no disk is specified automatically determines the block device backing the root file system. This locks the state of the disk partitioning of the booted medium, which firmware measures to PCR 5 (“boot-loader-config”).

This writes/removes the file /var/lib/pcrlock.d/600-gpt.pcrlock.d/generated.pcrlock.

Added in version 255.

lock-pe [BINARY], unlock-pe

Generates/removes a .pcrlock file based on the specified PE binary. This is useful for predicting measurements the firmware makes to PCR 4 (“boot-loader-code”) if the specified binary is part of the UEFI boot process. Use this on boot loader binaries and suchlike. Use lock-uki (see below) for PE binaries that are unified kernel images (UKIs).

Expects a path to the PE binary as argument. If not specified, reads the binary from STDIN instead.

The pcrlock file to write must be specified via the –pcrlock= switch.

Added in version 255.

lock-uki [UKI], unlock-uki

Generates/removes a .pcrlock file based on the specified UKI PE binary. This is useful for predicting measurements the firmware makes to PCR 4 (“boot-loader-code”), and systemd-stub(7) makes to PCR 11 (“kernel-boot”), if the specified UKI is booted. This is a superset of lock-pe.

Expects a path to the UKI PE binary as argument. If not specified, reads the binary from STDIN instead.

The pcrlock file to write must be specified via the –pcrlock= switch.

Added in version 255.

lock-machine-id, unlock-machine-id

Generates/removes a .pcrlock file based on /etc/machine-id. This is useful for predicting measurements systemd-pcrmachine.service(8) makes to PCR 15 (“system-identity”).

This writes/removes the file /var/lib/pcrlock.d/820-machine-id.pcrlock.

Added in version 255.

lock-file-system [PATH], unlock-file-system [PATH]

Generates/removes a .pcrlock file based on file system identity. This is useful for predicting measurements [email protected](8) makes to PCR 15 (“system-identity”) for the root and /var/ file systems.

This writes/removes the files /var/lib/pcrlock.d/830-root-file-system.pcrlock and /var/lib/pcrlock.d/840-file-system-path.pcrlock.

Added in version 255.

lock-kernel-cmdline [FILE], unlock-kernel-cmdline

Generates/removes a .pcrlock file based on /proc/cmdline (or the specified file if given). This is useful for predicting measurements the Linux kernel makes to PCR 9 (“kernel-initrd”).

This writes/removes the file /var/lib/pcrlock.d/710-kernel-cmdline.pcrlock/generated.pcrlock.

Added in version 255.

lock-kernel-initrd FILE, unlock-kernel-initrd

Generates/removes a .pcrlock file based on a kernel initrd cpio archive. This is useful for predicting measurements the Linux kernel makes to PCR 9 (“kernel-initrd”). Do not use for systemd-stub UKIs, as the initrd is combined dynamically from various sources and hence does not take a single input, like this command.

This writes/removes the file /var/lib/pcrlock.d/720-kernel-initrd.pcrlock/generated.pcrlock.

Added in version 255.

lock-raw [FILE], unlock-raw

Generates/removes a .pcrlock file based on raw binary data. The data is either read from the specified file or from STDIN (if none is specified). This requires that –pcrs= is specified. The generated .pcrlock file is written to the file specified via –pcrlock= or to STDOUT (if none is specified).

Added in version 255.

OPTIONS

The following options are understood:

–raw-description

When displaying the TPM2 event log do not attempt to decode the records to provide a friendly event log description string. Instead, show the binary payload data in escaped form.

Added in version 255.

–pcr=

Specifies the PCR number to use. May be specified more than once to select multiple PCRs.

This is used by lock-raw and lock-pe to select the PCR to lock against.

If used with predict and make-policy this will override which PCRs to include in the prediction and policy. If unspecified this defaults to PCRs 0-5, 7, 11-15. Note that these commands will not include any PCRs in the prediction/policy (even if specified explicitly) if there are measurements in the event log that do not match the current PCR value, or there are unrecognized measurements in the event log, or components define measurements not seen in the event log.

Added in version 255.

–nv-index=

Specifies the NV index to store the policy in. Honoured by make-policy. If not specified the command will automatically pick a free NV index.

Added in version 255.

–components=

Takes a path to read *.pcrlock and *.pcrlock.d/*.pcrlock files from. May be used more than once to specify multiple such directories. If not specified defaults to /etc/pcrlock.d/, /run/pcrlock.d/, /var/lib/pcrlock.d/, /usr/local/pcrlock.d/, /usr/lib/pcrlock.d/.

Added in version 255.

–location=

Takes either a string or a colon-separated pair of strings. Configures up to which point in the sorted list of defined components to analyze/predict PCRs to. Typically, the systemd-pcrlock tool is invoked from a fully booted system after boot-up and before shutdown. This means various components that are defined for shutdown have not been measured yet, and should not be searched for. This option allows one to restrict which components are considered for analysis (taking only components before some point into account, ignoring components after them). The expected string is ordered against the filenames of the components defined. Any components with a lexicographically later name are ignored. This logic applies to the log, predict, and make-policy verbs. If a colon-separated pair of strings are specified then they select which phases of the boot to include in the prediction/policy. The first string defines where the first prediction shall be made, and the second string defines where the last prediction shall be made. All such predictions are then combined into one set.

If used with list-components the selected location range will be highlighted in the component list.

Defaults to “760-:940-”, which means the policies generated by default will basically cover the whole runtime of the OS userspace, from the initrd (as “760-” closely follows 750-enter-initrd.pcrlock) until (and including) the main runtime of the system (as “940-” is closely followed by 950-shutdown.pcrlock). See systemd.pcrlock(5) for a full list of well-known components, that illustrate where this range is placed by default.

Added in version 255.

–recovery-pin=

Takes one of “hide”, “show” or “query”. Defaults to “hide”. Honoured by make-policy. If “query”, will query the user for a PIN to unlock the TPM2 NV index with. If no policy was created before, this PIN is used to protect the newly allocated NV index. If a policy has been created before, the PIN is used to unlock write access to the NV index. If either “hide” or “show” is used, a PIN is automatically generated, and β€” only in case of “show” β€” displayed on screen. Regardless if user supplied or automatically generated, it is stored in encrypted form in the policy metadata file. The recovery PIN may be used to regain write access to an NV index in case the access policy became out of date.

Added in version 255.

–pcrlock=

Takes a file system path as argument. If specified overrides where to write the generated pcrlock data to. Honoured by the various lock-* commands. If not specified, a default path is generally used, as documented above.

Added in version 255.

–policy=

Takes a file system path as argument. If specified overrides where to write pcrlock policy metadata to. If not specified defaults to /var/lib/systemd/pcrlock.json.

Added in version 255.

–force

If specified with make-policy, the predicted policy will be written to the NV index even if it is detected to be the same as the previously stored one.

Added in version 255.

–entry-token=

Sets the boot entry token to use for the file name for the pcrlock policy credential in the EFI System Partition or XBOOTLDR partition. See the bootctl(1) option of the same regarding expected values. This switch has an effect on the make-policy command only.

Added in version 256.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

–no-pager

Do not pipe output into a pager.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

EXIT STATUS

On success, 0 is returned, a non-zero failure code otherwise.

SEE ALSO

systemd(1), systemd.pcrlock(5), systemd-cryptenroll(1), [email protected](8), systemd-repart(8), systemd-pcrmachine.service(8), systemd-creds(1), systemd-stub(7), bootctl(1)

NOTES

TCG Canonical Event Log Format (CEL-JSON)

https://trustedcomputinggroup.org/resource/canonical-event-log-format/

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

276 - Linux cli command tc-skbmod

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-skbmod and provides detailed information about the command tc-skbmod, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-skbmod.

NAME πŸ–₯️ tc-skbmod πŸ–₯️

user-friendly packet editor action

SYNOPSIS

tc … **action skbmod *{ set ** SETTABLE | swap SWAPPABLE | ecn } [ CONTROL ] [ index INDEX * ]

SETTABLE := [ dmac DMAC ] [ smac SMAC ] [ etype ETYPE ]

SWAPPABLE := mac

CONTROL := { reclassify | pipe | drop | shot | continue | pass }

DESCRIPTION

The skbmod action is intended as a usability upgrade to the existing pedit action. Instead of having to manually edit 8-, 16-, or 32-bit chunks of an ethernet header, skbmod allows complete substitution of supported elements. Action must be one of set, swap and ecn. set and swap only affect Ethernet packets, while ecn only affects IP packets.

OPTIONS

dmac* DMAC*
Change the destination mac to the specified address.

smac* SMAC*
Change the source mac to the specified address.

etype* ETYPE*
Change the ethertype to the specified value.

mac
Used to swap mac addresses.

ecn
Used to mark ECN Capable Transport (ECT) IP packets as Congestion Encountered (CE). Does not affect Non ECN-Capable Transport (Non-ECT) packets.

CONTROL
The following keywords allow one to control how the tree of qdisc, classes, filters and actions is further traversed after this action.

reclassify
Restart with the first filter in the current list.

pipe
Continue with the next action attached to the same filter.

drop
shot
Drop the packet.

continue
Continue classification with the next filter in line.

pass
Finish classification process and return to calling qdisc for further packet processing. This is the default.

EXAMPLES

To start, observe the following filter with a pedit action:

tc filter add dev eth1 parent 1: protocol ip prio 10
u32 match ip protocol 1 0xff flowid 1:2
action pedit munge offset -14 u8 set 0x02
munge offset -13 u8 set 0x15
munge offset -12 u8 set 0x15
munge offset -11 u8 set 0x15
munge offset -10 u16 set 0x1515
pipe

Using the skbmod action, this command can be simplified to:

tc filter add dev eth1 parent 1: protocol ip prio 10
u32 match ip protocol 1 0xff flowid 1:2
action skbmod set dmac 02:15:15:15:15:15
pipe

Complexity will increase if source mac and ethertype are also being edited as part of the action. If all three fields are to be changed with skbmod:

tc filter add dev eth5 parent 1: protocol ip prio 10
u32 match ip protocol 1 0xff flowid 1:2
action skbmod
set etype 0xBEEF
set dmac 02:12:13:14:15:16
set smac 02:22:23:24:25:26

To swap the destination and source mac addresses in the Ethernet header:

tc filter add dev eth3 parent 1: protocol ip prio 10
u32 match ip protocol 1 0xff flowid 1:2
action skbmod
swap mac

Finally, to mark the CE codepoint in the IP header for ECN Capable Transport (ECT) packets:

tc filter add dev eth0 parent 1: protocol ip prio 10
u32 match ip protocol 1 0xff flowid 1:2
action skbmod
ecn

Only one of set, swap and ecn shall be used in a single command. Trying to use more than one of them in a single command is considered undefined behavior; pipe multiple commands together instead.

SEE ALSO

tc(8), tc-u32(8), tc-pedit(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

277 - Linux cli command tipc-peer

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tipc-peer and provides detailed information about the command tipc-peer, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tipc-peer.

NAME πŸ–₯️ tipc-peer πŸ–₯️

peer - modify peer information

SYNOPSIS

tipc peer remove address ADDRESS

OPTIONS

Options (flags) that can be passed anywhere in the command chain.

-h,** –help**
Show help about last valid command. For example tipc peer –help will show peer help and tipc –help will show general help. The position of the option in the string is irrelevant.

DESCRIPTION

Peer remove

Remove an offline peer node from the local data structures. The peer is identified by its address

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

tipc(8), tipc-bearer(8), tipc-link(8), tipc-media(8), tipc-nametable(8), tipc-node(8), tipc-socket(8)

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Richard Alpe <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

278 - Linux cli command userdel

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command userdel and provides detailed information about the command userdel, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the userdel.

NAME πŸ–₯️ userdel πŸ–₯️

delete a user account and related files

SYNOPSIS

userdel [options] LOGIN

DESCRIPTION

userdel is a low level utility for removing users. On Debian, administrators should usually use deluser(8) instead.

The userdel command modifies the system account files, deleting all entries that refer to the user name LOGIN. The named user must exist.

OPTIONS

The options which apply to the userdel command are:

-f, –force

This option forces the removal of the user account, even if the user is still logged in. It also forces userdel to remove the users home directory and mail spool, even if another user uses the same home directory or if the mail spool is not owned by the specified user. If USERGROUPS_ENAB is defined to yes in /etc/login.defs and if a group exists with the same name as the deleted user, then this group will be removed, even if it is still the primary group of another user.

Note: This option is dangerous and may leave your system in an inconsistent state.

-h, –help

Display help message and exit.

-r, –remove

Files in the users home directory will be removed along with the home directory itself and the users mail spool. Files located in other file systems will have to be searched for and deleted manually.

The mail spool is defined by the MAIL_DIR variable in the login.defs file.

-R, –root CHROOT_DIR

Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. Only absolute paths are supported.

-P, –prefix PREFIX_DIR

Apply changes in the PREFIX_DIR directory and use the configuration files from the PREFIX_DIR directory. This option does not chroot and is intended for preparing a cross-compilation target. Some limitations: NIS and LDAP users/groups are not verified. PAM authentication is using the host files. No SELINUX support.

-Z, –selinux-user

Remove any SELinux user mapping for the users login.

CONFIGURATION

The following configuration variables in /etc/login.defs change the behavior of this tool:

MAIL_DIR (string)

The mail spool directory. This is needed to manipulate the mailbox when its corresponding user account is modified or deleted. If not specified, a compile-time default is used. The parameter CREATE_MAIL_SPOOL in /etc/default/useradd determines whether the mail spool should be created.

MAIL_FILE (string)

Defines the location of the users mail spool files relatively to their home directory.

The MAIL_DIR and MAIL_FILE variables are used by useradd, usermod, and userdel to create, move, or delete the users mail spool.

MAX_MEMBERS_PER_GROUP (number)

Maximum members per group entry. When the maximum is reached, a new group entry (line) is started in /etc/group (with the same name, same password, and same GID).

The default value is 0, meaning that there are no limits in the number of members in a group.

This feature (split group) permits to limit the length of lines in the group file. This is useful to make sure that lines for NIS groups are not larger than 1024 characters.

If you need to enforce such limit, you can use 25.

Note: split groups may not be supported by all tools (even in the Shadow toolsuite). You should not use this variable unless you really need it.

USERDEL_CMD (string)

If defined, this command is run when removing a user. It should remove any at/cron/print jobs etc. owned by the user to be removed (passed as the first argument).

The return code of the script is not taken into account.

Here is an example script, which removes the users cron, at and print jobs:

#! /bin/sh

# Check for the required argument.
if [ $# != 1 ]; then
	echo "Usage: $0 username"
	exit 1
fi

# Remove cron jobs.
crontab -r -u $1

# Remove at jobs.
# Note that it will remove any jobs owned by the same UID,
# even if it was shared by a different username.
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \;

# Remove print jobs.
lprm $1

# All done.
exit 0

USERGROUPS_ENAB (boolean)

If set to yes, userdel will remove the users group if it contains no more members, and useradd will create by default a group with the name of the user.

FILES

/etc/group

Group account information.

/etc/login.defs

Shadow password suite configuration.

/etc/passwd

User account information.

/etc/shadow

Secure user account information.

/etc/shadow-maint/userdel-pre.d/*, /etc/shadow-maint/userdel-post.d/*

Run-part files to execute during user deletion. The environment variable ACTION will be populated with userdel and SUBJECT with the username. userdel-pre.d will be executed prior to any user deletion. userdel-post.d will execute after user deletion. If a script exits non-zero then execution will terminate.

/etc/subgid

Per user subordinate group IDs.

/etc/subuid

Per user subordinate user IDs.

EXIT VALUES

The userdel command exits with the following values:

0

success

1

cant update password file

2

invalid command syntax

6

specified user doesnt exist

8

user currently logged in

10

cant update group file

12

cant remove home directory

CAVEATS

userdel will not allow you to remove an account if there are running processes which belong to this account. In that case, you may have to kill those processes or lock the users password or account and remove the account later. The -f option can force the deletion of this account.

You should manually check all file systems to ensure that no files remain owned by this user.

You may not remove any NIS attributes on a NIS client. This must be performed on the NIS server.

If USERGROUPS_ENAB is defined to yes in /etc/login.defs, userdel will delete the group with the same name as the user. To avoid inconsistencies in the passwd and group databases, userdel will check that this group is not used as a primary group for another user, and will just warn without deleting the group otherwise. The -f option can force the deletion of this group.

SEE ALSO

chfn(1), chsh(1), passwd(1), login.defs(5), gpasswd(8), groupadd(8), groupdel(8), groupmod(8), subgid(5), subuid(5), useradd(8), usermod(8).

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

279 - Linux cli command tc-csum

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tc-csum and provides detailed information about the command tc-csum, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tc-csum.

NAME πŸ–₯️ tc-csum πŸ–₯️

checksum update action

SYNOPSIS

tcaction csum UPDATE

UPDATE := TARGET [ UPDATE ]

TARGET := { ip4h | icmp | igmp | tcp | udp | udplite | sctp | SWEETS }

SWEETS := { and | or | + }

DESCRIPTION

The csum action triggers checksum recalculation of specified packet headers. It is commonly used to fix incorrect checksums after the pedit action has modified the packet content.

OPTIONS

TARGET
Specify which headers to update: 2020-01-01

SWEETS
These are merely syntactic sugar and ignored internally.

EXAMPLES

The following performs stateless NAT for incoming packets from 192.0.2.100 to new destination 198.51.100.1. Assuming these are UDP packets, both IP and UDP checksums have to be recalculated:

tc qdisc add dev eth0 ingress handle ffff:

# tc filter add dev eth0 prio 1 protocol ip parent ffff: \
	u32 match ip src 192.0.2.100/32 flowid :1 \
	action pedit munge ip dst set 198.51.100.1 pipe \
	csum ip and udp

SEE ALSO

tc(8), tc-pedit(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

280 - Linux cli command vpnc

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vpnc and provides detailed information about the command vpnc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vpnc.

NAME πŸ–₯️ vpnc πŸ–₯️

client for Cisco VPN3000 Concentrator, IOS and PIX

SYNOPSIS

vpnc [–version] [–print-config] [–help] [–long-help] [options] [config files]

DESCRIPTION

This manual page documents briefly the vpnc and vpnc-disconnect commands.

vpnc is a VPN client for the Cisco 3000 VPN Concentrator, creating a IPSec-like connection as a tunneling network device for the local system. It uses the TUN/TAP driver in Linux kernel 2.4 and above and device tun(4) on BSD. The created connection is presented as a tunneling network device to the local system.

OBLIGATORY WARNING: the most used configuration (XAUTH authentication with pre-shared keys and password authentication) is insecure by design, be aware of this fact when you use vpnc to exchange sensitive data like passwords!

The vpnc daemon by itself does not set any routes, but it calls vpnc-script to do this job. vpnc-script displays a connect banner. If the concentrator supplies a network list for split-tunneling these networks are added to the routing table. Otherwise the default-route will be modified to point to the tunnel. Further a host route to the concentrator is added in the later case. If the client host needs DHCP, care must be taken to add another host route to the DHCP-Server around the tunnel.

The vpnc-disconnect command is used to terminate the connection previously created by vpnc and restore the previous routing configuration.

CONFIGURATION

The daemon reads configuration data from the following places:

  • command line options

  • config file(s) specified on the command line

  • /etc/vpnc/default.conf

  • /etc/vpnc.conf

  • prompting the user if not found above

vpnc can parse options and configuration files in any order. However the first place to set an option wins. configuration filenames which do not contain a / will be searched at /etc/vpnc/<filename> and /etc/vpnc/<filename>.conf. Otherwise <filename> and <filename>.conf will be used. If no configuration file is specified on the command-line at all, both /etc/vpnc/default.conf and /etc/vpnc.conf will be loaded.

Additionally, if the configuration file “-” is specified on the command-line vpnc will read configuration from stdin. The configuration is parsed and the connection proceeds when stdin is closed or the special character CEOT (CTRL-D) is read.

OPTIONS

The program options can be either given as arguments (but not all of them for security reasons) or be stored in a configuration file.

–gateway* <ip/hostname>*
IP/name of your IPSec gateway

conf-variable: IPSec gateway* <ip/hostname>*

–id* <ASCII string>*
your group name

conf-variable: IPSec ID* <ASCII string>*

–secret* <ASCII string>*
your group password (cleartext)

conf-variable: IPSec secret* <ASCII string>*

(configfile only option)
your group password (obfuscated)

conf-variable: IPSec obfuscated secret* <hex string>*

–username* <ASCII string>*
your username

conf-variable: Xauth username* <ASCII string>*

–password* <ASCII string>*
your password (cleartext)

conf-variable: Xauth password* <ASCII string>*

(configfile only option)
your password (obfuscated)

conf-variable: Xauth obfuscated password* <hex string>*

–domain* <ASCII string>*
(NT-) Domain name for authentication

conf-variable: Domain* <ASCII string>*

–xauth-inter
enable interactive extended authentication (for challenge response auth)

conf-variable: Xauth interactive

–vendor* <cisco/netscreen/fortigate>*
vendor of your IPSec gateway

Default: cisco

conf-variable: Vendor* <cisco/netscreen/fortigate>*

–natt-mode* <natt/none/force-natt/cisco-udp>*
Which NAT-Traversal Method to use:

  • natt – NAT-T as defined in RFC3947

  • none – disable use of any NAT-T method

  • force-natt – always use NAT-T encapsulation even without presence of a NAT device (useful if the OS captures all ESP traffic)

  • cisco-udp – Cisco proprietary UDP encapsulation, commonly over Port 10000

Note: cisco-tcp encapsulation is not yet supported

Default: natt

conf-variable: NAT Traversal Mode* <natt/none/force-natt/cisco-udp>*

–script* <command>*
command is executed using system() to configure the interface, routing and so on. Device name, IP, etc. are passed using environment variables, see README. This script is executed right after ISAKMP is done, but before tunneling is enabled. It is called when vpnc terminates, too

Default: /usr/share/vpnc-scripts/vpnc-script

conf-variable: Script* <command>*

–dh* <dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18>*
name of the IKE DH Group

Default: dh2

conf-variable: IKE DH Group* <dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18>*

–pfs* <nopfs/dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18/server>*
Diffie-Hellman group to use for PFS

Default: server

conf-variable: Perfect Forward Secrecy* <nopfs/dh1/dh2/dh5/dh14/dh15/dh16/dh17/dh18/server>*

–enable-1des
Deprecated: Please use –enable-weak-encryption instead.

conf-variable: Enable Single DES

–enable-weak-encryption
enables weak encryption methods (such as DES, 3DES)

conf-variable: Enable weak encryption

–enable-no-encryption
enables using no encryption for data traffic (key exchanged must be encrypted)

conf-variable: Enable no encryption

–enable-weak-authentication
enables weak authentication methods (such as MD5)

conf-variable: Enable weak authentication

–application-version* <ASCII string>*
Application Version to report. Note: Default string is generated at runtime.

Default: Cisco Systems VPN Client 0.5.3+git20240226-2:Linux

conf-variable: Application version* <ASCII string>*

–ifname* <ASCII string>*
visible name of the TUN/TAP interface

conf-variable: Interface name* <ASCII string>*

–ifmode* <tun/tap>*
mode of TUN/TAP interface:

  • tun: virtual point to point interface (default)

  • tap: virtual ethernet interface

Default: tun

conf-variable: Interface mode* <tun/tap>*

–ifmtu* <0-65535>*

Set MTU for TUN/TAP interface (default 0 == automatic detect)

conf-variable: Interface MTU* <0-65535>*

–debug* <0/1/2/3/99>*
Show verbose debug messages

  • 0: Do not print debug information.

  • 1: Print minimal debug information.

  • 2: Show statemachine and packet/payload type information.

  • 3: Dump everything excluding authentication data.

  • 99: Dump everything INCLUDING AUTHENTICATION data (e.g. PASSWORDS).

conf-variable: Debug* <0/1/2/3/99>*

–no-detach

Don’t detach from the console after login

conf-variable: No Detach

–pid-file* <filename>*
store the pid of background process in <filename>

Default: /run/vpnc.pid

conf-variable: Pidfile* <filename>*

–local-addr* <ip/hostname>*
local IP to use for ISAKMP / ESP / … (0.0.0.0 == automatically assign)

Default: 0.0.0.0

conf-variable: Local Addr* <ip/hostname>*

–local-port* <0-65535>*
local ISAKMP port number to use (0 == use random port)

Default: 500

conf-variable: Local Port* <0-65535>*

–udp-port* <0-65535>*
Local UDP port number to use (0 == use random port). This is only relevant if cisco-udp nat-traversal is used. This is the _local_ port, the remote udp port is discovered automatically. It is especially not the cisco-tcp port.

Default: 10000

conf-variable: Cisco UDP Encapsulation Port* <0-65535>*

–dpd-idle* <0,10-86400>*
Send DPD packet after not receiving anything for <idle> seconds. Use 0 to disable DPD completely (both ways).

Default: 300

conf-variable: DPD idle timeout (our side)* <0,10-86400>*

–non-inter
Don’t ask anything, exit on missing options

conf-variable: Noninteractive

–auth-mode* <psk/cert/hybrid>*
Authentication mode:

  • psk: pre-shared key (default)

  • cert: server + client certificate (not implemented yet)

  • hybrid: server certificate + xauth (if built with openssl support)

Default: psk

conf-variable: IKE Authmode* <psk/cert/hybrid>*

–ca-file* <filename>*

filename and path to the CA-PEM-File

conf-variable: CA-File* <filename>*

–ca-dir* <directory>*
path of the trusted CA-Directory

Default: /etc/ssl/certs

conf-variable: CA-Dir* <directory>*

–target-network* <target network/netmask>*
Target network in dotted decimal or CIDR notation

Default: 0.0.0.0/0.0.0.0

conf-variable: IPSEC target network* <target network/netmask>*

–password-helper* <executable>*
path to password program or helper name

conf-variable: Password helper* <executable>*

–print-config

Prints your configuration; output can be used as vpnc.conf

FILES

/etc/vpnc.conf /etc/vpnc/default.conf

The default configuration file. You can specify the same config directives as with command line options and additionally IPSec secret and Xauth password both supplying a cleartext password. Scrambled passwords from the Cisco configuration profiles can be used with IPSec obfuscated secret and Xauth obfuscated password.

See EXAMPLES for further details.

/etc/vpnc/*.conf

vpnc will read configuration files in this directory when the config filename (with or without .conf) is specified on the command line.

EXAMPLES

This is an example vpnc.conf with pre-shared keys:

IPSec gateway vpn.example.com

IPSec ID ExampleVpnPSK

IKE Authmode psk

IPSec secret PskS3cret!

Xauth username [email protected]

Xauth password USecr3t

And another one with hybrid authentication (requires that vpnc was built with openssl support):

IPSec gateway vpn.example.com

IPSec ID ExampleVpnHybrid

IKE Authmode hybrid

CA-Dir /etc/vpnc

or

CA-File /etc/vpnc/vpn-example-com.pem

IPSec secret HybS3cret?

Xauth username [email protected]

Xauth password 123456

The lines begin with a keyword (no leading spaces!). The values start exactly one space after the keywords, and run to the end of line. This lets you put any kind of weird character (except CR, LF and NUL) in your strings, but it does mean you can’t add comments after a string, or spaces before them.

In case the the CA-Dir option is used, your certificate needs to be named something like 722d15bd.X, where X is a manually assigned number to make sure that files with colliding hashes have different names. The number can be derived from the certificate file itself:

openssl x509 -subject_hash -noout -in /etc/vpnc/vpn-example-com.pem

See also the –print-config option to generate a config file, and the example file in the package documentation directory where more advanced usage is demonstrated.

Advanced features like manual setting of multiple target routes and disabling /etc/resolv.conf rewriting is documented in the README of the vpnc package.

AUTHOR

This man-page has been written by Eduard Bloch <blade(at)debian.org> and Christian Lackas <delta(at)lackas.net>, based on vpnc README by Maurice Massar <vpnc(at)unix-ag.uni-kl.de>. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

pcf2vpnc(1), cisco-decrypt(1), ip(8), ifconfig(8), route(1), http://www.unix-ag.uni-kl.de/~massar/vpnc/

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

281 - Linux cli command vfs_ceph

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_ceph and provides detailed information about the command vfs_ceph, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_ceph.

NAME πŸ–₯️ vfs_ceph πŸ–₯️

Utilize features provided by CephFS

SYNOPSIS

vfs objects = ceph

DESCRIPTION

This VFS module is part of the samba(8) suite.

The vfs_ceph VFS module exposes CephFS specific features for use by Samba.

Ceph is a distributed network file system designed to provide excellent performance, reliability, and scalability. This is a shared library allowing applications to access a Ceph distributed file system via a POSIX-like interface.

This module can be combined with other modules, but it should be the last module in the vfs objects list. Modules added to this list to the right of the ceph entry may not have any effect at all.

vfs_ceph performs mapping between Windows and POSIX Access Control Lists (ACLs). To ensure correct processing and enforcement of POSIX ACLs, the following Ceph configuration parameters are automatically applied:

  client acl type = posix_acl
		fuse default permissions = false

CONFIGURATION

vfs_ceph requires that the underlying share path is a Ceph filesystem.

  [share]
		vfs objects = ceph
		path = /non-mounted/cephfs/path
		kernel share modes = no

Since vfs_ceph does not require a filesystem mount, the share path is treated differently: it is interpreted as an absolute path within the Ceph filesystem on the attached Ceph cluster. In a ctdb cluster environment where ctdb manages Samba, CTDB_SAMBA_SKIP_SHARE_CHECK=yes must be configured to disable local share path checks, otherwise ctdb will not reach a healthy state.

Note that currently kernel share modes have to be disabled in a share running with the CephFS vfs module for file serving to work properly.

OPTIONS

ceph:config_file = path

Allows one to define a ceph configfile to use. Empty by default.

Example: ceph:config_file = /etc/ceph/ceph.conf

ceph:user_id = name

Allows one to explicitly set the client ID used for the CephFS mount handle. Empty by default (use the libcephfs client default).

Example: ceph:user_id = samba

ceph:filesystem = fs_name

Allows one to explicitly select the CephFS file system to use when the Ceph cluster supports more than one file system. Empty by default (use the default file system of the Ceph cluster).

Example: ceph:filesystem = myfs2

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

282 - Linux cli command tkiptun-ng

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tkiptun-ng and provides detailed information about the command tkiptun-ng, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tkiptun-ng.

NAME πŸ–₯️ tkiptun-ng πŸ–₯️

ng - inject a few frames into a WPA TKIP network with QoS

SYNOPSIS

tkiptun-ng [options] <replay interface>

DESCRIPTION

tkiptun-ng is a tool created by Martin Beck aka hirte, a member of aircrack-ng team. This tool is able to inject a few frames into a WPA TKIP network with QoS. He worked with Erik Tews (who created PTW attack) for a conference in PacSec 2008: “Gone in 900 Seconds, Some Crypto Issues with WPA”.

OPERATION

-H, –help
Shows the help screen.

Filter options:
-d <dmac>
MAC address of destination.

-s <smac>
MAC address of source.

-m <len>
Minimum packet length.

-n <len>
Maximum packet length.

-t <tods>
Frame control, “To” DS bit.

-f <fromds>
Frame control, “From” DS bit.

-D
Disable AP Detection.

Replay options:
-x <nbpps>
Number of packets per second.

-p <fctrl>
Set frame control word (hex).

-a <bssid>
Set Access Point MAC address.

-c <dmac>
Set destination MAC address.

-h <smac>
Set source MAC address.

-e <essid>
Set target SSID.

-M <sec>
MIC error timeout in seconds. Default: 60 seconds

Debug options:
-K <prga>
Keystream for continuation.

-y <file>
Keystream file for continuation.

-j
Inject FromFS packets.

-P <PMK>
Pairwise Master key (PMK) for verification or vulnerability testing.

-p <PSK>
Preshared key (PSK) to calculate PMK with essid.

Source options:
-i <iface>
Capture packets from this interface.

-r <file>
Extract packets from this pcap file.

AUTHOR

This manual page was written by Thomas d’Otreppe. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or any later version published by the Free Software Foundation On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

SEE ALSO

airbase-ng(8)
aireplay-ng(8)
airmon-ng(8)
airodump-ng(8)
airodump-ng-oui-update(8)
airserv-ng(8)
airtun-ng(8)
besside-ng(8)
easside-ng(8)
wesside-ng(8)
aircrack-ng(1)
airdecap-ng(1)
airdecloak-ng(1)
airolib-ng(1)
besside-ng-crawler(1)
buddy-ng(1)
ivstools(1)
kstats(1)
makeivs-ng(1)
packetforge-ng(1)
wpaclean(1)
airventriloquist(8)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

283 - Linux cli command systemd-update-done

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-update-done and provides detailed information about the command systemd-update-done, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-update-done.

NAME πŸ–₯️ systemd-update-done πŸ–₯️

update-done.service, systemd-update-done - Mark /etc/ and /var/ fully updated

SYNOPSIS

systemd-update-done.service

/usr/lib/systemd/systemd-update-done

DESCRIPTION

systemd-update-done.service is a service that is invoked as part of the first boot after the vendor operating system resources in /usr/ have been updated. This is useful to implement offline updates of /usr/ which might require updates to /etc/ or /var/ on the following boot.

systemd-update-done.service updates the file modification time (mtime) of the stamp files /etc/.updated and /var/.updated to the modification time of the /usr/ directory, unless the stamp files are already newer.

Services that shall run after offline upgrades of /usr/ should order themselves before systemd-update-done.service, and use the ConditionNeedsUpdate= (see systemd.unit(5)) condition to make sure to run when /etc/ or /var/ are older than /usr/ according to the modification times of the files described above. This requires that updates to /usr/ are always followed by an update of the modification time of /usr/, for example by invoking touch(1) on it.

Note that if the systemd.condition_needs_update= kernel command line option is used it overrides the ConditionNeedsUpdate= unit condition checks. In that case systemd-update-done.service will not reset the condition state until a follow-up reboot where the kernel switch is not specified anymore.

SEE ALSO

systemd(1), systemd.unit(5), touch(1)

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

284 - Linux cli command visudo

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command visudo and provides detailed information about the command visudo, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the visudo.

edits the

file in a safe fashion, analogous to

locks the

file against multiple simultaneous edits, performs basic validity checks, and checks for syntax errors before installing the edited file. If the

file is currently being edited you will receive a message to try again later.

If the

file does not exist, it will be created unless the editor exits without writing to the file.

parses the

file after editing and will not save the changes if there is a syntax error. Upon finding an error,

will print a message stating the line number(s) where the error occurred and the user will receive the

prompt. At this point the user may enter

to re-edit the

file,

to exit without saving the changes, or

to quit and save changes. The

option should be used with extreme caution because if

believes there to be a syntax error, so will

If

is typed to edit the

file after a syntax error has been detected, the cursor will be placed on the line where the error occurred (if the editor supports this feature).

There are two

settings that determine which editor

will run.

A colon

separated list of editors allowed to be used with

will choose the editor that matches the user’s

or

environment variable if possible, or the first editor in the list that exists and is executable.

does not preserve the

or

environment variables unless they are present in the

list or the

option is disabled in the

file. The default editor path is

which can be set at compile time via the

configure option.

If set,

will use the value of the

or

environment variables before falling back on the default editor list.

is typically run as root so this option may allow a user with

privileges to run arbitrary commands as root without logging. An alternative is to place a colon-separated list of

editors in the

variable.

will then only use

or

if they match a value specified in

If the

flag is enabled, the

and/or

environment variables must be present in the

list for the

flag to function when

is invoked via

The default value is

which can be set at compile time via the

configure option.

The options are as follows:

Enable

mode. The existing

file (and any other files it includes) will be checked for syntax errors. If the path to the

file was not specified,

will also check the file ownership and permissions (see the

and

options). A message will be printed to the standard output describing the status of

unless the

option was specified. If the check completes successfully,

will exit with a value of 0. If an error is encountered,

will exit with a value of 1.

Specify an alternate

file location, see below. As of version 1.8.27, the

path can be specified without using the

option.

Display a short help message to the standard output and exit.

Disable the editing of include files unless there is a pre-existing syntax error. By default,

will edit the main

file and any files included via

or

directives. Files included via

or

are never edited unless they contain a syntax error.

Enforce the default ownership (user and group) of the

file. In edit mode, the owner of the edited file will be set to the default. In check mode

an error will be reported if the owner is incorrect. This option is enabled by default if the

file was not specified.

Enforce the default permissions (mode) of the

file. In edit mode, the permissions of the edited file will be set to the default. In check mode

an error will be reported if the file permissions are incorrect. This option is enabled by default if the

file was not specified.

Enable

mode. In this mode details about syntax errors are not printed. This option is only useful when combined with the

option.

Enable

checking of the

file. If an alias is referenced but not actually defined or if there is a cycle in an alias,

will consider this a syntax error. It is not possible to differentiate between an alias and a host name or user name that consists solely of uppercase letters, digits, and the underscore

character.

Print the

and

grammar versions and exit.

A

file may be specified instead of the default,

The temporary file used is the specified

file with

appended to it. In

mode only,

may be used to indicate that

will be read from the standard input. Because the policy is evaluated in its entirety, it is not sufficient to check an individual

include file for syntax errors.

versions 1.8.4 and higher support a flexible debugging framework that is configured via

lines in the

file.

Starting with

1.8.12,

will also parse the arguments to the

plugin to override the default

path name, user-ID, group-ID, and file mode. These arguments, if present, should be listed after the path to the plugin (i.e., after

Multiple arguments may be specified, separated by white space. For example:

Plugin sudoers_policy sudoers.so sudoers_mode=0400

The following arguments are supported:

The

argument can be used to override the default path to the

file.

The

argument can be used to override the default owner of the sudoers file. It should be specified as a numeric user-ID.

The

argument can be used to override the default group of the sudoers file. It must be specified as a numeric group-ID (not a group name).

The

argument can be used to override the default file mode for the sudoers file. It should be specified as an octal value.

For more information on configuring

refer to its manual.

The following environment variables may be consulted depending on the value of the

and

settings:

Invoked by

as the editor to use

Used by

if

is not set

Used by

if neither

nor

is set

Sudo front-end configuration

List of who can run what

Default temporary file used by visudo

In addition to reporting

syntax errors,

may produce the following messages:

Someone else is currently editing the

file.

You didn’t run

as root.

Your user-ID does not appear in the system passwd database.

Either you are trying to use an undeclared {User,Runas,Host,Cmnd}_Alias or you have a user or host name listed that consists solely of uppercase letters, digits, and the underscore

character. In the latter case, you can ignore the warnings

will not complain

The message is prefixed with the path name of the

file and the line number where the undefined alias was used. In

(strict) mode these are errors, not warnings.

The specified {User,Runas,Host,Cmnd}_Alias was defined but never used. The message is prefixed with the path name of the

file and the line number where the unused alias was defined. You may wish to comment out or remove the unused alias.

The specified {User,Runas,Host,Cmnd}_Alias includes a reference to itself, either directly or through an alias it includes. The message is prefixed with the path name of the

file and the line number where the cycle was detected. This is only a warning unless

is run in

(strict) mode as

will ignore cycles when parsing the

file.

While processing a

or

a file was found with a name that ends in

or

Such files are skipped by

and

While processing a

or

a file was found with a name that contains a

character. Such files are skipped by

and

The

file contains a

setting not recognized by

Many people have worked on

over the years; this version consists of code written primarily by:

See the CONTRIBUTORS.md file in the

distribution (https://www.sudo.ws/about/contributors/) for an exhaustive list of people who have contributed to

There is no easy way to prevent a user from gaining a root shell if the editor used by

allows shell escapes.

If you believe you have found a bug in

you can submit a bug report at https://bugzilla.sudo.ws/

Limited free support is available via the sudo-users mailing list, see https://www.sudo.ws/mailman/listinfo/sudo-users to subscribe or search the archives.

is provided

and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. See the LICENSE.md file distributed with

or https://www.sudo.ws/about/license/ for complete details.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

285 - Linux cli command systemd-sysext.service

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command systemd-sysext.service and provides detailed information about the command systemd-sysext.service, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the systemd-sysext.service.

NAME πŸ–₯️ systemd-sysext.service πŸ–₯️

sysext, systemd-sysext.service, systemd-confext, systemd-confext.service - Activates System Extension Images

SYNOPSIS

systemd-sysext [OPTIONS…] COMMAND

systemd-sysext.service

systemd-confext [OPTIONS…] COMMAND

systemd-confext.service

DESCRIPTION

systemd-sysext activates/deactivates system extension images. System extension images may – dynamically at runtime β€” extend the /usr/ and /opt/ directory hierarchies with additional files. This is particularly useful on immutable system images where a /usr/ and/or /opt/ hierarchy residing on a read-only file system shall be extended temporarily at runtime without making any persistent modifications.

System extension images should contain files and directories similar in fashion to regular operating system tree. When one or more system extension images are activated, their /usr/ and /opt/ hierarchies are combined via “overlayfs” with the same hierarchies of the host OS, and the host /usr/ and /opt/ overmounted with it (“merging”). When they are deactivated, the mount point is disassembled β€” again revealing the unmodified original host version of the hierarchy (“unmerging”). Merging thus makes the extensions resources suddenly appear below the /usr/ and /opt/ hierarchies as if they were included in the base OS image itself. Unmerging makes them disappear again, leaving in place only the files that were shipped with the base OS image itself.

Files and directories contained in the extension images outside of the /usr/ and /opt/ hierarchies are not merged, and hence have no effect when included in a system extension image. In particular, files in the /etc/ and /var/ included in a system extension image will not appear in the respective hierarchies after activation.

System extension images are strictly read-only by default. On mutable host file systems, /usr/ and /opt/ hierarchies become read-only while extensions are merged, unless mutability is enabled. Mutability may be enabled via the –mutable= option; see “Mutability” below for more information.

System extensions are supposed to be purely additive, i.e. they are supposed to include only files that do not exist in the underlying basic OS image. However, the underlying mechanism (overlayfs) also allows overlaying or removing files, but it is recommended not to make use of this.

System extension images may be provided in the following formats:

1.

Plain directories or btrfs subvolumes containing the OS tree

2.

Disk images with a GPT disk label, following the Discoverable Partitions Specification[1]

3.

Disk images lacking a partition table, with a naked Linux file system (e.g. erofs, squashfs or ext4)

These image formats are the same ones that systemd-nspawn(1) supports via its –directory=/–image= switches and those that the service manager supports via RootDirectory=/RootImage=. Similar to them they may optionally carry Verity authentication information.

System extensions are searched for in the directories /etc/extensions/, /run/extensions/ and /var/lib/extensions/. The first two listed directories are not suitable for carrying large binary images, however are still useful for carrying symlinks to them. The primary place for installing system extensions is /var/lib/extensions/. Any directories found in these search directories are considered directory based extension images; any files with the .raw suffix are considered disk image based extension images. When invoked in the initrd, the additional directory /.extra/sysext/ is included in the directories that are searched for extension images. Note however, that by default a tighter image policy applies to images found there, though, see below. This directory is populated by systemd-stub(7) with extension images found in the systems EFI System Partition.

During boot OS extension images are activated automatically, if the systemd-sysext.service is enabled. Note that this service runs only after the underlying file systems where system extensions may be located have been mounted. This means they are not suitable for shipping resources that are processed by subsystems running in earliest boot. Specifically, OS extension images are not suitable for shipping system services or systemd-sysusers(8) definitions. See the Portable Services[2] page for a simple mechanism for shipping system services in disk images, in a similar fashion to OS extensions. Note the different isolation on these two mechanisms: while system extension directly extend the underlying OS image with additional files that appear in a way very similar to as if they were shipped in the OS image itself and thus imply no security isolation, portable services imply service level sandboxing in one way or another. The systemd-sysext.service service is guaranteed to finish start-up before basic.target is reached; i.e. at the time regular services initialize (those which do not use DefaultDependencies=no), the files and directories system extensions provide are available in /usr/ and /opt/ and may be accessed.

Note that there is no concept of enabling/disabling installed system extension images: all installed extension images are automatically activated at boot. However, you can place an empty directory named like the extension (no .raw) in /etc/extensions/ to “mask” an extension with the same name in a system folder with lower precedence.

A simple mechanism for version compatibility is enforced: a system extension image must carry a /usr/lib/extension-release.d/extension-release.NAME file, which must match its image name, that is compared with the host os-release file: the contained ID= fields have to match unless “_any” is set for the extension. If the extension ID= is not “_any”, the SYSEXT_LEVEL= field (if defined) has to match. If the latter is not defined, the VERSION_ID= field has to match instead. If the extension defines the ARCHITECTURE= field and the value is not “_any” it has to match the kernels architecture reported by uname(2) but the used architecture identifiers are the same as for ConditionArchitecture= described in systemd.unit(5). EXTENSION_RELOAD_MANAGER= can be set to 1 if the extension requires a service manager reload after application of the extension. Note that for the reasons mentioned earlier: Portable Services[2] remain the recommended way to ship system services. System extensions should not ship a /usr/lib/os-release file (as that would be merged into the host /usr/ tree, overriding the host OS version data, which is not desirable). The extension-release file follows the same format and semantics, and carries the same content, as the os-release file of the OS, but it describes the resources carried in the extension image.

The systemd-confext concept follows the same principle as the systemd-sysext(1) functionality but instead of working on /usr and /opt, confext will extend only /etc. Files and directories contained in the confext images outside of the /etc/ hierarchy are not merged, and hence have no effect when included in the image. Formats for these images are of the same as sysext images. The merged hierarchy will be mounted with “nosuid” and (if not disabled via –noexec=false) “noexec”.

Just like sysexts, confexts are strictly read-only by default. Merging confexts on mutable host file systems will result in /etc/ becoming read-only. As with sysexts, mutability can be enabled via the –mutable= option. Refer to “Mutability” below for more information.

Confexts are looked for in the directories /run/confexts/, /var/lib/confexts/, /usr/lib/confexts/ and /usr/local/lib/confexts/. The first listed directory is not suitable for carrying large binary images, however is still useful for carrying symlinks to them. The primary place for installing configuration extensions is /var/lib/confexts/. Any directories found in these search directories are considered directory based confext images; any files with the .raw suffix are considered disk image based confext images.

Again, just like sysext images, the confext images will contain a /etc/extension-release.d/extension-release.NAME file, which must match the image name (with the usual escape hatch of the user.extension-release.strict xattr(7)), and again with content being one or more of ID=, VERSION_ID=, and CONFEXT_LEVEL. Confext images will then be checked and matched against the base OS layer.

USES

The primary use case for system images are immutable environments where debugging and development tools shall optionally be made available, but not included in the immutable base OS image itself (e.g. strace(1) and gdb(1) shall be an optionally installable addition in order to make debugging/development easier). System extension images should not be misunderstood as a generic software packaging framework, as no dependency scheme is available: system extensions should carry all files they need themselves, except for those already shipped in the underlying host system image. Typically, system extension images are built at the same time as the base OS image β€” within the same build system.

Another use case for the system extension concept is temporarily overriding OS supplied resources with newer ones, for example to install a locally compiled development version of some low-level component over the immutable OS image without doing a full OS rebuild or modifying the nominally immutable image. (e.g. “install” a locally built package with DESTDIR=/var/lib/extensions/mytest make install && systemd-sysext refresh, making it available in /usr/ as if it was installed in the OS image itself.) This case works regardless if the underlying host /usr/ is managed as immutable disk image or is a traditional package manager controlled (i.e. writable) tree.

With systemd-confext one can perform runtime reconfiguration of OS services. Sometimes, there is a need to swap certain configuration parameter values or restart only a specific service without deployment of new code or a complete OS deployment. In other words, we want to be able to tie the most frequently configured options to runtime updateable flags that can be changed without a system reboot. This will help reduce servicing times when there is a need for changing the OS configuration. It also provides a reliable tool for managing configuration because all old configuration files disappear when the systemd-confext image is removed.

MUTABILITY

By default, merging system extensions on mutable host file systems will render /usr/ and /opt/ hierarchies read-only. Merging configuration extensions will have the same effect on /etc/. Mutable mode allows writes to these locations when extensions are merged.

The following modes are supported:

1.

disabled: Force immutable mode even if write routing directories exist below /var/lib/extensions.mutable/. This is the default.

2.

auto: Automatic mode. Mutability is disabled by default and only enabled if a corresponding write routing directory exists below /var/lib/extensions.mutable/.

3.

enabled: Force mutable mode and automatically create write routing directories below /var/lib/extensions.mutable/ when required.

4.

import: Force immutable mode like disabled above, but merge the contents of directories below /var/lib/extensions.mutable/ into the host file system.

5.

ephemeral: Force mutable mode like enabled above, but instead of using write routing directory below /var/lib/extensions.mutable/, systemd-sysext will use empty ephemeral directories. This means that the modifications made in the merged hierarchies will be gone when the hierarchies are unmerged.

6.

ephemeral-import: Force mutable mode like ephemeral above, but instead of ignoring the contents of write routing directories under /var/lib/extensions.mutable/, merge them into the host file system, like import does.

See “Options” below on specifying modes using the –mutable= command line option.

With exception of the ephemeral mode, the mutable mode routes writes to subdirectories in /var/lib/extensions.mutable/.

Writes to /usr/ are directed to /var/lib/extensions.mutable/usr/

writes to /opt/ are directed to /var/lib/extensions.mutable/opt/, and

writes to /etc/ land in /var/lib/extensions.mutable/etc/.

If usr/, opt/, or etc/ in /var/lib/extensions.mutable/ are symlinks, then writes are directed to the symlinks targets. Consequently, to retain mutability of a host file system, create symlinks

/var/lib/extensions.mutable/etc/ β†’ /etc/

/var/lib/extensions.mutable/usr/ β†’ /usr/

/var/lib/extensions.mutable/opt/ β†’ /opt/

to route writes back to the original base directory hierarchy.

Alternatively, a temporary file system may be mounted to /var/lib/extensions.mutable/, or symlinks in /var/lib/extensions.mutable/ may point to sub-directories on a temporary file system (e.g. below /tmp/) to only allow ephemeral changes. Note that this is not the same as ephemeral mode, because the temporary file system will still exist after unmerging.

Added in version 256.

COMMANDS

The following commands are understood by both the sysext and confext concepts:

status

When invoked without any command verb, or when status is specified the current merge status is shown, separately (for both /usr/ and /opt/ of sysext and for /etc/ of confext).

Added in version 248.

merge

Merges all currently installed system extension images into /usr/ and /opt/, by overmounting these hierarchies with an “overlayfs” file system combining the underlying hierarchies with those included in the extension images. This command will fail if the hierarchies are already merged. For confext, the merge happens into the /etc/ directory instead.

Added in version 248.

unmerge

Unmerges all currently installed system extension images from /usr/ and /opt/ for sysext and /etc/, for confext, by unmounting the “overlayfs” file systems created by merge prior.

Added in version 248.

refresh

A combination of unmerge and merge: if already mounted the existing “overlayfs” instance is unmounted temporarily, and then replaced by a new version. This command is useful after installing/removing system extension images, in order to update the “overlayfs” file system accordingly. If no system extensions are installed when this command is executed, the equivalent of unmerge is executed, without establishing any new “overlayfs” instance. Note that currently theres a brief moment where neither the old nor the new “overlayfs” file system is mounted. This implies that all resources supplied by a system extension will briefly disappear β€” even if it exists continuously during the refresh operation.

Added in version 248.

list

A brief list of installed extension images is shown.

Added in version 248.

-h, –help

Print a short help text and exit.

–version

Print a short version string and exit.

OPTIONS

–root=

Operate relative to the specified root directory, i.e. establish the “overlayfs” mount not on the top-level host /usr/ and /opt/ hierarchies for sysext or /etc/ for confext, but below some specified root directory.

Added in version 248.

–force

When merging system extensions into /usr/ and /opt/ for sysext and /etc/ for confext, ignore version incompatibilities, i.e. force merging regardless of whether the version information included in the images matches the host or not.

Added in version 248.

**–image-policy=**policy

Takes an image policy string as argument, as per systemd.image-policy(7). The policy is enforced when operating on system extension disk images. If not specified defaults to “root=verity+signed+encrypted+unprotected+absent:usr=verity+signed+encrypted+unprotected+absent” for system extensions, i.e. only the root and /usr/ file systems in the image are used. For configuration extensions defaults to “root=verity+signed+encrypted+unprotected+absent”. When run in the initrd and operating on a system extension image stored in the /.extra/sysext/ directory a slightly stricter policy is used by default: “root=signed+absent:usr=signed+absent”, see above for details.

Added in version 254.

**–mutable=BOOL|auto|**import

Set mutable mode.

no

force immutable mode even with write routing directories present. This is the default.

Added in version 256.

auto

enable mutable mode individually for /usr/, /opt/, and /etc/ if write routing sub-directories or symlinks are present in /var/lib/extensions.mutable/; disable otherwise. See “Mutability” above for more information on write routing.

Added in version 256.

yes

force mutable mode. Write routing directories will be created in /var/lib/extensions.mutable/ if not present.

Added in version 256.

import

immutable mode, but with contents of write routing directories in /var/lib/extensions.mutable/ also merged into the host file system.

Added in version 256.

ephemeral

force mutable mode, but with contents of write routing directories in /var/lib/extensions.mutable/ being ignored, and modifications of the host file system being discarded after unmerge.

Added in version 256.

ephemeral-import

force mutable mode, with contents of write routing directories in /var/lib/extensions.mutable/ being merged into the host file system, but with the modifications made to the host file system being discarded after unmerge.

Added in version 256.

Added in version 256.

**–noexec=**BOOL

When merging configuration extensions into /etc/ the “MS_NOEXEC” mount flag is used by default. This option can be used to disable it.

Added in version 254.

–no-reload

When used with merge, unmerge or refresh, do not reload daemon after executing the changes even if an extension that is applied requires a reload via the EXTENSION_RELOAD_MANAGER= set to 1.

Added in version 255.

–no-pager

Do not pipe output into a pager.

–no-legend

Do not print the legend, i.e. column headers and the footer with hints.

**–json=**MODE

Shows output formatted as JSON. Expects one of “short” (for the shortest possible output without any redundant whitespace or line breaks), “pretty” (for a pretty version of the same, with indentation and line breaks) or “off” (to turn off JSON output, the default).

EXIT STATUS

On success, 0 is returned.

SEE ALSO

systemd(1), systemd-nspawn(1), systemd-stub(7), importctl(1)

NOTES

Discoverable Partitions Specification

https://uapi-group.org/specifications/specs/discoverable_partitions_specification

Portable Services

https://systemd.io/PORTABLE_SERVICES

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

286 - Linux cli command vfs_shadow_copy

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command vfs_shadow_copy and provides detailed information about the command vfs_shadow_copy, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the vfs_shadow_copy.

NAME πŸ–₯️ vfs_shadow_copy πŸ–₯️

Expose snapshots to Windows clients as shadow copies.

SYNOPSIS

vfs objects = shadow_copy

DESCRIPTION

This VFS module is part of the samba(7) suite.

The vfs_shadow_copy VFS module functionality that is similar to Microsoft Shadow Copy services. When setup properly, this module allows Microsoft Shadow Copy clients to browse “shadow copies” on Samba shares.

This module is stackable.

CONFIGURATION

vfs_shadow_copy relies on a filesystem snapshot implementation. Many common filesystems have native support for this.

Filesystem snapshots must be mounted on specially named directories in order to be recognized by vfs_shadow_copy. The snapshot mount points must be immediate children of the directory being shared.

The snapshot naming convention is @GMT-YYYY.MM.DD-hh.mm.ss, where:

Β·

YYYY is the 4 digit year

Β·

MM is the 2 digit month

Β·

DD is the 2 digit day

Β·

hh is the 2 digit hour

Β·

mm is the 2 digit minute

Β·

ss is the 2 digit second.

The vfs_shadow_copy snapshot naming convention can be produced with the following date(1) command:

TZ=GMT date +@GMT-%Y.%m.%d-%H.%M.%S

EXAMPLES

Add shadow copy support to user home directories:

    [homes]
	vfs objects = shadow_copy

CAVEATS

This is not a backup, archival, or version control solution.

With Samba or Windows servers, vfs_shadow_copy is designed to be an end-user tool only. It does not replace or enhance your backup and archival solutions and should in no way be considered as such. Additionally, if you need version control, implement a version control system.

VERSION

This man page is part of version 4.20.1-Debian of the Samba suite.

AUTHOR

The original Samba software and related utilities were created by Andrew Tridgell. Samba is now developed by the Samba Team as an Open Source project similar to the way the Linux kernel is developed.

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

287 - Linux cli command tipc

➑ A Linux man page (short for manual page) is a form of software documentation found on Linux and Unix-like operating systems. This man-page explains the command tipc and provides detailed information about the command tipc, system calls, library functions, and other aspects of the system, including usage, options, and examples of _. You can access this man page by typing man followed by the tipc.

NAME πŸ–₯️ tipc πŸ–₯️

a TIPC configuration and management tool

SYNOPSIS

tipc [ OPTIONS ] COMMAND ARGUMENTS"

COMMAND := { bearer | link | media | nametable | node | socket"}

OPTIONS := { -h[help] }

DESCRIPTION

The Transparent Inter-Process Communication (TIPC) protocol offers total address transparency between processes which allows applications in a clustered computer environment to communicate quickly and reliably with each other, regardless of their location within the cluster.

TIPC originated at the telecommunications manufacturer Ericsson. The first open source version of TIPC was created in 2000 when Ericsson released its first Linux version of TIPC. TIPC was introduced in the mainline Linux kernel in 2006 and is now widely used both within and outside of Ericsson.

OPTIONS

-h,** –help**
Show help about last given command. For example tipc bearer –help will show bearer help and tipc –help will show general help. The position of the option in the string is irrelevant.

-j,** -json**
Output results in JavaScript Object Notation (JSON).

-p,** -pretty**
The default JSON format is compact and more efficient to parse but hard for most users to read. This flag adds indentation for readability.

COMMANDS

BEARER
- Show or modify TIPC bearers

LINK
- Show or modify TIPC links

MEDIA
- Show or modify TIPC media

NAMETABLE
- Show TIPC nametable

NODE
- Show or modify TIPC node parameters

SOCKET
- Show TIPC sockets

ARGUMENTS

Command arguments are described in a command specific man page and typically consists of nested commands along with key value pairs. If no arguments are given a command typically shows its help text. The explicit help option -h or –help can occur anywhere among the arguments and will show help for the last valid command given.

EXIT STATUS

Exit status is 0 if command was successful or a positive integer upon failure.

SEE ALSO

tipc-bearer(8), tipc-link(8), tipc-media(8), tipc-nametable(8), tipc-node(8), tipc-peer(8), tipc-socket(8)

REPORTING BUGS

Report any bugs to the Network Developers mailing list <[email protected]> where the development and maintenance is primarily done. You do not have to be subscribed to the list to send a message there.

AUTHOR

Richard Alpe <[email protected]>

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘

  β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œβ˜… KALI β˜… PARROT β˜… DEBIAN πŸ”΄ PENTESTING β˜… HACKING β˜… β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

              β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—  β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘   β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β•  β–ˆβ–ˆβ•‘  β–ˆβ–ˆβ•‘
             β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•
              β•šβ•β• β•šβ•β• β•šβ•β•β•β•β•β•  β•šβ•β•β•β•β•β• β•šβ•β•  β•šβ•β•β•šβ•β•β•β•β•β•β•β•šβ•β•β•β•β•β•

               β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ WITH COMMANDLINE-KUNGFU POWER β–ˆβ•‘β–Œβ”‚β•‘β–ˆβ•‘β–Œ

β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘