【发布时间】:2013-02-05 18:08:03
【问题描述】:
我使用 C 语言在 Linux 中开发了一个具有命令行界面的应用程序。它完全是一个独立的应用程序。现在我也在使用 gtk 库在 C 中为它制作一个 GUI 界面。在 CLI 中,在某个操作之前,我的 CLI 应用程序等待密码(就像他们在 linux 中的 useradd 命令行实用程序中那样)。为此,我将创建一个带有密码字段的窗口,要求在 GUI 中输入密码。
我的问题是如何将密码从 GUI 传输到在 CLI 中等待密码的应用程序?我可以将从 GUI 获取的密码重定向到 CLI 进程的标准输入吗?
另外请告诉我我的方法是否正确或标准的做法是什么?
任何帮助将不胜感激。
【问题讨论】:
-
您可以通过管道输入输入(如果 CLI 应用程序期望以这种方式输入),也可以将参数作为命令行参数输入。
-
我不想将密码作为命令行参数的参数,因为它可能会危及安全性。
-
您总是可以传入密码的加盐哈希。此外,作为命令行参数发送的未加密密码与通过管道传输到 CLI 应用程序的未加密密码一样存在安全漏洞。
标签: c linux user-interface command-line-interface stdin