如何在没有agetty登录提示的情况下验证用户身份?

如何在没有agetty登录提示的情况下验证用户身份?

我想写一个基于的shell脚本清洁发展机制这不仅可以让用户选择要运行的会话,还可以询问他们的信息用户名密码
只是提供一些细节:它使用对话,它提供了可在 shell 脚本中使用的curses 小部件。清洁发展机制仅在用户通过控制台登录屏幕登录后启动。我想启动它,这样我就可以首先询问用户信息(通过对话我将写的框),以及然后让他们选择他们想要开始的会话。

之后,我使用他们输入的内容让他们登录并启动所选的会话。

我已经尝试重定向到登录可以通过以下方式进行编程:

echo "$user $password" | login

#and

login <<< "$user $password"

登录似乎不接受输入重定向,所以这两种方法都不起作用(我没有在联机帮助页,但还是尝试过)。

有没有办法通过 shell 脚本来做到这一点?我发现这个 Perl 脚本它能够判断提供的输入是否有效,但它不会登录它们。
如果你能告诉我一种用 bash 以外的语言执行此操作的方法,那就没问题,只要我可以从 bash 调用它脚本,像这样:

#!/bin/bash

read user
read -s password

#log user in
auth-program "$user" "$password" # if success, now $user is logged in
                                 # and I can start the session

我希望你能帮我解决这个问题。
先感谢您!

相关内容