Shared Password Directories

We assume that roles have been created as shown in roles_management.md

Create a shared directory for different purposes:

pass team share add my_team/development developer manager
'my_team/development' is shared with: developer, manager.
pass team share add my_team/management developer manager
'my_team/management' is shared with: developer, manager.

Using set instead of add removes all roles from the given share and adds only the new ones.

pass team share set my_team/management manager
'my_team/management' is shared with: manager.

List all shares:

pass team share list
Shared Directories
└── my_team
    ├── development
    └── management

Show a particular share:

pass team share show my_team/management
Share: my_team/management
├── Roles:
│   └── manager
└── GPG Keys:
    └── F0034C88981B7393 ── passt-user2

Use remove to remove a particular role:

pass team share add my_team/developer-secrets developer manager
'my_team/developer-secrets' is shared with: developer, manager.
pass team share remove my_team/developer-secrets manager # ;)
'my_team/developer-secrets' is shared with: developer.

When remove removes the last role from a share, the directory is not shared anymore.

pass team share remove my_team/developer-secrets developer
'my_team/developer-secrets' is not shared any longer.

Use unset to remove a share entirely. This is equivalent to share remove <directory> --all.

pass team share add some/wrong/path developer
'some/wrong/path' is shared with: developer.
pass team share unset some/wrong/path
'some/wrong/path' is not shared any longer.

Error handling:

pass team share show some/wrong/path
Error: Directory 'some/wrong/path' does not exist.

(exit 89)
pass team share unset some/wrong/path
Error: 'some/wrong/path' is not a shared directory.

(exit 91)

Generated from shared_password_directories.sh