Preventing Volume Unlock Prompt I have an encrypted APFS volume that I do not wish to be unlocked automatically, however, every time a user logs in on my system they are prompted to enter a passphrase for the volume, every single time.

What I want to know is, is there a way to prevent macOS from trying to unlock specific APFS volumes when a user logs in, or even better, to only do-so if a password is found in that user's keychain (so I can have it auto-mount for some users but be ignored for others)?

I've already tried adding the volume to /etc/fstab with the noauto option, but while all other settings are respected when the volume is mounted, this one is ignored, presumably because unlocking of APFS volumes occurs before the volume is mounted.
If it asks for multiple passwords when a user logs in, probably you did not enable that user in FileVault. 

You can do that from the System Preferences:


On the Mac computer, open System Preferences > Security &amp; Privacy.
Click the FileVault tab, and if necessary, unlock the padlock.
Click the Enable Users button and an account list pops up.
Click Enable Users to add and enter the password of that user.


or from the command line: 


on the Mac computer, open the Terminal application.
Run the following command: sudo fdesetup add -usertoadd user1 and if prompted, enter the sudo password.
When prompted, enter the primary FileVault-authorized user name —
this is the user who you specified to manage FileVault 2 (in Assign an Active Directory user who is authorized to manage an encrypted disk).
When prompted, enter the password for the primary
FileVault-authorized user.
When prompted, enter the password for the new user who you specified
on the command line (user1 in this example).


Regarding your other question, to prevent Volume unlock Prompt, I think you can combine some things since on MacOS there is not a native utility to do what you asked (like libpam-mount for deb systems). More specifically:


You can disable an APFS volume to automount. You can follow the second answer to this question.
You can write a script to mount a volume, instead of typing the command line command every time you need it. You can read more about this here.
You can launch the script at startup. You could use launchd. You can check some approaches in this thread.
Obviously, you'd want to launch the script on a user basis. Here, you can read the official documentation for it. Additionally, in the thread linked at point 3 there are some mentions about launching a start-up script on a user basis.


I hope it is useful now in some sort of way, and sorry for misinterpreting the question.