基于终端的密码管理器
passman的Python项目详细描述
passman是一个允许使用密码的密码管理应用程序 从舒适的环境中生成、存储、检索、更新和删除 命令行。
Passman的作者:
安装
passman是pip可安装的,使用
pip install passman
安装后,只需运行:
passman
如果遇到错误,请首先检查以下依赖项:
- Python3。passman不能使用python 2
- 系统的复制/粘贴机制(例如 xsel) 如果在Windows上,您将需要VisualC++生成工具来启用 密码。See Microsoft’s site for more info.
简介
虽然有大量的现有密码管理器,但很少有 从命令行直观地使用。帕斯曼的目标是通过 支持基于终端的用户界面 命令行参数。逾越节是写给那些没有 访问图形用户环境,需要快速访问 通过ssh的密码,或者只想从 终端,而不是使用图形替代品。另外, passman对命令行参数的完全支持允许用户定义 他们自己的别名,满足他们的特殊需要 尽可能的态度。功能
passman记录不同在线服务/每个服务的用户帐户 可以包含与 服务。passman支持所有的创建、读取、更新和删除选项 与服务相关联的所有数据。数据最容易通过 剪贴板。当获取服务的数据时, 复制到用户的剪贴板。如果数据仍然保留在 剪贴板20秒后,它将被清除。
通过在不带任何命令行参数的情况下运行passman,用户可以调用 基于终端的菜单。菜单上有经过消毒的输入, 确保在运行时不会发生任意崩溃。日志记录之后 在或注册时,用户可以访问Passman.s的所有功能。
passman还可以使用命令行参数运行,支持 创建、读取、更新和删除操作。此外,用户可以 提供用户名以避免手动输入。唯一的数据是 无法通过命令行参数提供主密码, 在返回任何数据之前将提示。
安全性
passman处理的几乎每一个数据都是加密的或 哈希德。passman存储的唯一明文是master 用户名。主密码是使用sha 512散列的。额外的 还创建了使用sha 256的散列,它充当服务的密钥 数据加密。所有服务的用户名、url、密码和名称都是 使用从主密码生成的密钥加密。全方位服务 加密使用具有标准块大小的AES加密。
数据存储
在线
默认情况下,passman在公共托管服务器上使用mongodb存储 所有用户数据。为用户分配一个mongo“文档”,其中 存储所有服务数据。发生所有加密和解密 在本地,仅通过网络发送加密或哈希数据。
离线
passman还在本地保存用户数据的缓存。登录或注册时, 在退出时,在线数据库也将被拉到本地 json文件位于~/.passman目录中。每个用户的缓存都是 分配了一个json文件。只有当前登录的用户数据 将被下载。
这有很多目的,但主要是解决 关闭服务器。如果MongoDB服务器关闭,用户可以运行 Passman处于脱机模式。脱机模式仅支持读取操作,并且 不允许用户创建、更新或删除其服务数据。菜单和命令行参数的使用都支持脱机模式。
命令行api
usage: passman.py [-h] [-u username] [-l] [-p service_name] [-w service_name] [-n service_name] [-a service_name] [-e service_name] [-r service_name] optional arguments: -h, --help show this help message and exit -u username, --user username Your username for passman -l, --list List existing services -p service_name, --pass service_name Get password for a service -w service_name, --www service_name Get URL for a service -n service_name, --name service_name Get the username for a service -a service_name, --add service_name Add a new service to your account -e service_name, --edit service_name Edit an existing service -r service_name, --remove service_name Remove and existing service