我正在写一个C Shell程序,它正在做su或者sudo或者ssh.他们都希望他们的密码在控制台输入(TTY)而不是stdin或命令行.
有人知道解决方案吗?
设置无密码sudo不是一种选择.
期望可能是一个选择,但它在我的精简系统中不存在.
我试图从一个非常低的用户(几乎没有特权)将一些文件复制到root用户.我需要允许有权访问低帐户的人将某些文件复制到更高的帐户.我曾考虑使用bin/Bash脚本,但我不希望文件中的任何密码被查看.
我决定创建一个C++应用程序,其中包含我想传递给su/setuid命令的帐户的密码.我知道密码可以在二进制文件中查看,但不是问题.不是纯文本的密码就足够了.
我的问题是,我无法弄清楚如何"登录"作为我需要更新该帐户中运行的服务的文件的用户.我有用户帐户名,即localadmin,以及该帐户的密码.但是如何将这些文件传递给Linux以将文件从C++应用程序复制到localadmin帐户主目录/子目录?
我试过用C++:
system("su localadmin"); //这会提示输入密码,但不知道如何传递密码.
的setuid(0); //再次,我在哪里传递密码以获得帐户权限?我得到的只是"不允许操作".
如果这是一个简单的问题,我道歉.我只是尝试将命令作为localadmin运行并完成.