我有一个程序,它将获取密码作为输入,然后执行shell执行以在UNIX中执行"su"(切换用户)命令.但是,我不知道如何将密码变量传递给UNIX su命令.我必须使用的语言非常有限(UniBasic).
有任何想法吗?
那么,最好的方法是使用setuid-root二进制文件,要求输入密码,然后执行所需的任何命令,但它需要你说不具备的知识.我建议改为看看sudo(1).
你可以ssh到localhost作为另一个用户来执行你想要的任何命令.或者,使用sudo并编辑/ etc/sudoers,以便sudo不要求输入密码.但是,可能会产生安全隐患.
编辑:请在投票时告诉我原因.我的回答可能不完美,但至少它是有效的.我自己这样做是为了一些只能在一个奇怪的用户名下运行的许可软件.