使用node.js以编程方式添加samba用户
我在node js中编写了如下函数:使用node.js以编程方式添加samba用户,node.js,linux,bash,samba,Node.js,Linux,Bash,Samba,我在node js中编写了如下函数: const addUserToSamba = (userLogin, password) => { const echoPassword = spawnSync('echo', ['ne',`${password}\n${password}\n`]); const addUserCredentialsToSamba = spawnSync('smbpasswd', ['-a', '-s', userLogin],
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
当我运行addUserToSamba(userLogin,password)时使用给定的userlLogin和用户密码执行code>function,然后我甚至会收到消息Added user${userLogin}
,作为addUserCredentialsToSamba结果的标准输出
但是证书不起作用
我是否正确地将这个bash函数重写为node.js函数?
如果没有,我如何修复它?您只需跳过echo
部分,直接将凭证输出到smbpasswd
过程:
const addUserCredentialsToSamba = spawnSync('smbpasswd', ['-a', '-s', userLogin], {
input: `${password}\n${password}\n`,
});