utility which helps to execute commands on behalf of all users in the system in a row
Project description
The with_each_user command is basically nothing but a shortcut/replacement for constructs like:
root:~# ls /home | xargs -i su - {} -c "whoami"
That is, its goal is to execute the same command for all users in the system in a row. The line above can be rewritten with:
root:~# with_each_user whoami
Additionally, you can filter out unneeded users by their logins, shells and uid, run commands simultaneously, interactively, and store script outputs in log files in a separate directory.
See usage for details.
Usage
This is the with_each_user --help output:
usage: with_each_user [-h] [-m MASK] [-s SHELL] [-u MIN_UID] [-U MAX_UID] [-c CONCURRENCY] [-d CURRENT_DIRECTORY] [-i] [-L LOG_DIRECTORY] command [command ...] Execute a command for a number users in the server positional arguments: command Shell command to execute optional arguments: -h, --help show this help message and exit -m MASK, --mask MASK Filter users by their logins. Globbing is here allowed, you can type, for example, "user*" -s SHELL, --shell SHELL Filter users by their shells. For example, you can exclude the majority of system users by issuing "/bin/bash" here -u MIN_UID, --min-uid MIN_UID Filter users by their minimal uid. -U MAX_UID, --max-uid MAX_UID Filter users by their max uid (to filter out "nobody", for example -c CONCURRENCY, --concurrency CONCURRENCY Number of processes to run simultaneously -d CURRENT_DIRECTORY, --current-directory CURRENT_DIRECTORY Script working directory (relative to user's home) -p, --preserve-environment Preserve root environment. Arguments match the same of "su" command -f, --format Format command line with variables custom for every user. Supported variables: {user}, {uid}, {gid}, {home}, {shell}, {gecos}. -r, --root Run command with root privileges (do not "su" to selected user). Option "--format" is helpful there -i, --interactive Interactive execution. Set this flag to run processes interactively -L LOG_DIRECTORY, --log-directory LOG_DIRECTORY Directory to store log for all executions. Omit this argument if you want just to print everything to stdout/stderr
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
with-each-user-0.9.2.tar.gz
(4.2 kB
view details)
File details
Details for the file with-each-user-0.9.2.tar.gz
.
File metadata
- Download URL: with-each-user-0.9.2.tar.gz
- Upload date:
- Size: 4.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0252648503c511edeaf58e5efbaffbcb0fc574ab2811f7184392bf298240c828 |
|
MD5 | cad3d0c312c8c65e9a027f8a387c7b3b |
|
BLAKE2b-256 | 4a88ae60c0c354cd875bf707f00fcfcf21f76487b227ac9d525db1da44a03cc5 |