通过web ui更改unix密码

ws.webpasswd的Python项目详细描述


这个包为unixpasswd命令提供了一个web ui,例如 只有sftp用户帐户仍然可以更改其密码。

警告:密码通过popen以明文形式从cgi进程传递到 在sudo下运行的助手进程。所以也许不要在 对抗性环境,人们可能会监视您的进程列表或其他内容。

用法

设置Web服务器以运行CGI脚本。下面是一个apache示例 配置片段:

ScriptAlias /passwd /path/to/venv/bin/webpasswd-cgi

由于更改另一个用户的密码需要根访问权限,因此还需要 为webpasswd-changehelper设置无密码sudo执行。 添加这样的规则,例如在/etc/sudoers.d/webpasswd

www-data ALL=NOPASSWD:/path/to/venv/bin/webpasswd-change

www-data表示执行cgi脚本的web服务器作为用户运行。)

您可以将以下环境变量传递给cgi脚本:

WEBPASSWD_CHANGE:
Path to ^{tt2}$ helper. If unset, assumes a virtualenv installation (so it’s located next to ^{tt6}$)
WEBPASSWD_STYLESHEET:
URL to a stylesheet to link to instead of using the built-in styles

运行测试

您需要添加一个用户帐户webpasswd,并在 测试运行按指示重置其密码。

更改

2.0.1(2018-03-05)

  • 内部处理PATH_INFO

2.0.0(2018-03-04)

  • 使用python pam重写,flask,python-3兼容,pip可安装。

1.0.0(2008-07-10)

  • 第一个工作版本,使用pypam.so和webpy.org

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

推荐PyPI第三方库


热门话题
使用jaxb2annotateplugin和XJC工具的java自定义注释   java组织。xeustechnologies。jcl无法加载WstxInputFactory类   java JUnit在格式化字符串上比较失败   java Bukkit配置部分getKeys   如何关闭Java流?   java Struts2正则表达式配置   链式事务注释的java奇怪行为   java在两个JButton之间使用变量   java签署APK时内容会发生什么变化?   java LWJGL:Slick:3D世界中的绘图字体   如何分解Java数组?   在Java MySql中处理多个过滤器   java如何在Firebase数据库中跳过初始OnChildaded事件触发   java如何在PreviewView中使用CameraX?   在子类#中重写父类后访问父类原始方法的java已解决   java找不到类型的属性   游戏框架游戏!框架+Java