Добавление пользователя samba программно с помощью node.js - PullRequest
0 голосов
/ 09 декабря 2018

Я написал функцию в 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

Когда я бегу addUserToSamba(userLogin, password); функция с заданным userlLogin и паролем пользователя, тогда я даже получаю сообщение Added user ${userLogin} как стандартный вывод результата addUserCredentialsToSamba.

Но учетные данные не работают.

Правильно ли я переписал этот bashфункция для node.js одна?Если нет, как я могу это исправить?

1 Ответ

0 голосов
/ 09 декабря 2018

Вы можете просто пропустить часть echo и вывести учетные данные непосредственно в процесс smbpasswd:

const addUserCredentialsToSamba = spawnSync('smbpasswd', ['-a', '-s', userLogin], {
    input: `${password}\n${password}\n`,
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...