mirror of
https://github.com/passbolt/go-passbolt-cli.git
synced 2025-05-12 02:58:20 +00:00
69 lines
2.6 KiB
Markdown
69 lines
2.6 KiB
Markdown
# go-passbolt-cli
|
|
A CLI tool to interact with Passbolt, a Open source Password Manager for Teams.
|
|
|
|
If you want to do something more complicated [this](https://github.com/speatzle/go-passbolt) Go Module to Interact with Passbolt from Go might Intrest you.
|
|
|
|
# Install
|
|
|
|
## Via Package:
|
|
Download the Package for your OS and architecture from the Latest Release.
|
|
Install via your Distros Package manager like `dpkg -i`
|
|
|
|
## Via Archive:
|
|
Download and Extract the Archive for your OS and architecture
|
|
Note: tab completion and manpages will need to be installed manually.
|
|
|
|
## Via Go:
|
|
go install github.com/speatzle/go-passbolt-cli
|
|
Note: this will install the binary as go-passbolt-cli, also tab completion and manpages will be missing.
|
|
# Getting Started
|
|
First you need to Setup basic information: the Server Address, your Private Key and your Password.
|
|
You have these options:
|
|
- Save it in the config file using `passbolt configure --serverAddress https://passbolt.example.org --userPrivateKey 'private' --userPassword '1234'`
|
|
- Setup Enviroment Variables
|
|
- Provide the Flags manually every time
|
|
|
|
Note: you can also just store the serverAddress and your Private Key, if your Password is not set it will prompt you for it every time
|
|
|
|
# Usage
|
|
|
|
Generally the Structure of Commands is like this:
|
|
```bash
|
|
go-passbolt-cli action entity [arguments]
|
|
```
|
|
|
|
Action is the Action you want to perform like Creating, Updating or Deleting a Entity.
|
|
Entity is a Resource(Password), Folder, User or Group that you want to apply a action to.
|
|
|
|
In Passbolt a Password is Usually Refert to as a Resource.
|
|
|
|
To Create a Resource you can do this, it will return the ID of the newly created Resource:
|
|
```bash
|
|
go-passbolt-cli create resource --name "Test Resource" --password "Strong Password"
|
|
```
|
|
|
|
You can then list all users:
|
|
```bash
|
|
go-passbolt-cli list user
|
|
```
|
|
For sharing we will need to know how we want to share, for that there are these Permission Types:
|
|
|
|
| Code | Meaning |
|
|
| --- | --- |
|
|
| `1` | "Read-only" |
|
|
| `7` | "Can update" |
|
|
| `15` | "Owner" |
|
|
| `-1` | Delete existing permission |
|
|
|
|
Now that we have a Resource ID, know the ID's of other Users and about know about Permission Types, we can share the Resource with them:
|
|
```bash
|
|
go-passbolt-cli share resource --id id_of_resource_to_share --type type_of_permission --users id_of_user_to_share_with
|
|
```
|
|
Note: you can supply the the users argument multiple times to share with multiple users
|
|
|
|
For sharing with groups the `--groups` argument exists.
|
|
|
|
# Documentation
|
|
Usage for all Subcommands is [here](https://github.com/speatzle/go-passbolt-cli/wiki/go-passbolt-cli).
|
|
And is also available via `man passbolt`
|
|
|