gpt4 book ai didi

node.js - 使用 node.js 以编程方式添加 samba 用户

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:20 26 4
gpt4 key购买 nike

我在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 函数?如果不是,我该如何解决?

最佳答案

您可以简单地跳过 echo 部分并将凭据直接输出到 smbpasswd 进程:

const addUserCredentialsToSamba = spawnSync('smbpasswd', ['-a', '-s', userLogin], {
input: `${password}\n${password}\n`,
});

关于node.js - 使用 node.js 以编程方式添加 samba 用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53691018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com