PASSMASS(1)
π PASSMASS β a lil' page from the General Commands Manual π
okay bestie, sit down, we're doing passmass from section 1 of the manual. it's giving "one command, many machines, zero chaos". let's go β¨
β¨ NAME β¨
passmass β change password on multiple machines π¦
πΈ SYNOPSIS πΈ
passmass [ host1 host2 host3 ... ]
π INTRODUCTION π
so here's the vibe: Passmass changes a password on multiple machines at once. if you have accounts on several machines that do not share password databases, Passmass can help you keep them all in sync. and like, that in turn makes it easier to change them more frequently. slay, security-wise π
when Passmass runs, it asks you for the old and new passwords. (and if you're changing root passwords and you have equivalencing, the old password is not used and may be omitted. so you can just skip it, no biggie.)
Passmass understands the "usual" conventions. additional arguments may be used for tuning, and β this is the important part β they affect all hosts which follow until another argument overrides it. so it's positional, bestie, the order is literally the whole plot.
for example: if you're known as libes on host1 and host2, but don on host3, you would say:
passmass host1 host2 -user don host3
the arguments are, in order of appearance on that stage:
-userβ the user whose password will be changed. by default, the current user is used. (main character energy: it's you unless you say otherwise π«Ά)-rloginβ userloginto access host. (default) π-sloginβ usesloginto access host.-sshβ usesshto access host. π₯-telnetβ usetelnetto access host.-programβ the next argument is a program to run to set the password. default is"passwd". other common choices are"yppasswd"and"set passwd"(e.g., VMS hosts). a program name such as"password fred"can be used to create entries for new accounts (when run as root). π-promptβ the next argument is a prompt suffix pattern. this lets the script know when the shell is prompting. the default is"# "for root and"% "for non-root accounts. π-timeoutβ the next argument is the number of seconds to wait for responses. default is30, but some systems can be much slower logging in. β³-suβ the next argument is1or0. if1, you are additionally prompted for a root password which is used tosuafter logging in. root's password is changed rather than the user's. this is useful for hosts which do not allow root to log in. π
π§ HOW TO USE π§
the best way to run Passmass is to put the command in a one-line shell script or alias. whenever you get a new account on a new machine, add the appropriate arguments to the command. then run it whenever you want to change your passwords on all the hosts. it's literally set-and-forget, except you do actually re-run it, bestie. π
π CAVEATS π
okay this is the part where I hold your hand and look you dead in the eyes.
using the same password on multiple hosts carries risks. in particular, if the password can be stolen, then all of your accounts are at risk. so you should not use Passmass in situations where your password is visible, such as across a network which hackers are known to eavesdrop. fr fr, do not do this on a sketchy network. π¨
on the other hand β and this is the plot twist β if you have enough accounts with different passwords, you may end up writing them down somewhere, and that can be a security problem too. π
funny story, and I'm quoting the source here: my college roommate had an 11"x13" piece of paper on which he had listed accounts and passwords all across the Internet. this was several years worth of careful work and he carried it with him everywhere he went. well, one day he forgot to remove it from his jeans, and we found a perfectly blank sheet of paper when we took out the wash the following day! π« iconic. devastating. the wash ate his whole internet identity.
π SEE ALSO π
"Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs" by Don Libes, O'Reilly and Associates, January 1995. π
π AUTHOR π
Don Libes, National Institute of Standards and Technology.
and that's the whole page, bestie π shoutout to Don Libes, and this iconic lil' manual page is dated 7 October 1993 β yes, a whole vintage queen, PASSMASS(1), still serving looks. bye pookie, go rotate those passwords πβ¨π¦
π¦ where this page comes from
- alpine 3.22: expect-doc 5.45.4-r5 Β· NIST-PD
- alpine 3.23: expect-doc 5.45.4-r5 Β· NIST-PD
- alpine 3.24: expect-doc 5.45.4-r5 Β· NIST-PD
- arch rolling: expect 5.45.4-5 Β· custom
- centos-stream 10: expect 5.45.4-25.el10 Β· LicenseRef-Fedora-Public-Domain
- centos-stream 9: expect 5.45.4-16.el9 Β· Public Domain
- debian bookworm: expect 5.45.4-2+b1
- debian trixie: expect 5.45.4-4
- fedora 43: expect 5.45.4-29.fc43 Β· LicenseRef-Fedora-Public-Domain
- fedora 43: expect 5.45.4-31.fc43 Β· LicenseRef-Fedora-Public-Domain
- fedora 44: expect 5.45.4-31.fc44 Β· LicenseRef-Fedora-Public-Domain
- fedora 44: expect 5.45.4-33.fc44 Β· LicenseRef-Fedora-Public-Domain
- nixos 26.05: expect 5.45.4
- nixpkgs unstable: expect 6.0a2
- opensuse-leap 16.0: expect 5.45.4-160000.2.2 Β· SUSE-Public-Domain
- opensuse-leap 16.0: expect 5.45.4-160000.2.2 Β· SUSE-Public-Domain
- opensuse-leap 16.0: expect 5.45.4-160000.2.2 Β· SUSE-Public-Domain
- opensuse-leap 16.0: expect 5.45.4-160000.2.2 Β· SUSE-Public-Domain
- ubuntu jammy: expect 5.45.4-2build1
- ubuntu noble: expect 5.45.4-3
- ubuntu questing: expect 5.45.4-4
- ubuntu resolute: expect 5.45.4-4build1
- ubuntu stonking: expect 5.45.4-8
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms