feat: add share_key for Samba password, sync smbpasswd on startup

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
stswangzhiping
2026-05-04 14:17:28 +08:00
parent 4be305d0e2
commit f8789876f5
3 changed files with 47 additions and 1 deletions

View File

@@ -7,6 +7,7 @@ require('../lib/systemd-env');
const path = require('path');
const { exec } = require('child_process');
const { ClawClient } = require('../lib/client');
const config = require('../lib/config');
const log = require('../lib/logger');
const { pollSms } = require('../drivers/sim/sms-reader');
@@ -17,6 +18,16 @@ exec(`bash "${bindScript}"`, (err, stdout, stderr) => {
else log.info('clawd', `bind-quectel-serial: ok`);
});
// 同步 Samba 共享密码idempotent失败不影响主流程
const cfg = config.load();
if (cfg.share_key) {
const shareKey = cfg.share_key.replace(/'/g, "'\\''");
exec(`printf '%s\\n%s\\n' '${shareKey}' '${shareKey}' | smbpasswd -a sts -s 2>/dev/null`, (err) => {
if (err) log.warn('clawd', `smbpasswd sync failed (samba not installed?): ${err.message}`);
else log.info('clawd', 'smbpasswd synced for user sts');
});
}
let smsTimer = null;
let smsPolling = false;