我在node,js中编写了函数,如下所示:
const addUserToSamba = (userLogin, password) => {
const echoPassword = spawnSync('echo', ['ne',`${password}\n${password}\n`]);
const addUserCredentialsToSamba = spawnSync('smbpasswd', ['-a', '-s', userLogin], {
input: echoPassword.stdout,
});
console.log('Added user credentials to Samba configuration');
console.log(addUserCredentialsToSamba.stderr.toString());
console.log(addUserCredentialsToSamba.stdout.toString());
}
我想在bash中实现这样的事情:
echo -ne "$PASS\n$PASS\n" | smbpasswd -a -s $LOGIN
当我使用给定的userlLogin和用户密码运行 addUserToSamba(userLogin, password);
函数时,我甚至得到消息 Added user ${userLogin}
作为addUserCredentialsToSamba结果的标准输出 .
但凭据不起作用 .
我是否正确地将此bash函数重写为node.js?如果不是,我该如何解决?
1 回答
您可以直接跳过
echo
部分并将凭证直接输出到smbpasswd
进程: