基于终端的密码管理器

passman的Python项目详细描述


passman是一个允许使用密码的密码管理应用程序 从舒适的环境中生成、存储、检索、更新和删除 命令行。

Passman的作者:

Sam Messina

Dan Jensen

安装

passman是pip可安装的,使用

pip install passman

安装后,只需运行:

passman

如果遇到错误,请首先检查以下依赖项:

简介

虽然有大量的现有密码管理器,但很少有 从命令行直观地使用。帕斯曼的目标是通过 支持基于终端的用户界面 命令行参数。逾越节是写给那些没有 访问图形用户环境,需要快速访问 通过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

特别感谢

阿尤什·科利:https://github.com/akohli96

格雷格·布林克曼:https://github.com/GregoryBrinkman

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题