我有一个运行在Linux (Apache)上的ASP.NET核心5 web应用程序,总体上运行良好。我希望它能够更改某些Linux用户的密码。基本上,登录到web应用程序的用户可以更改他们相应的Linux密码,用于SFTP。
我可以从web应用程序运行ssh/bash命令,但是它们是使用用户www-data运行的。
我不知道最好的方法是:
运行这样的命令确实可以更改用户的密码,只要有根权限:
echo -e "changeme2\nchangeme2" | passwd testuser1谢谢你的建议。
发布于 2021-05-15 13:33:29
谢谢@feihoa,我最终使用SSH.NET创建了一个SSH会话,用于本地主机,并做我需要做的事情。
public void SetLinuxPassword()
{
using (var client = new SshClient("localhost", "{username}", "{password}"))
{
client.Connect();
SshCommand cmd = client.RunCommand($"echo -e \"{password}\" | sudo -S bash changePassword.sh {LinuxUsername} {_newPlainTextPassword}");
}
}https://stackoverflow.com/questions/67545661
复制相似问题