Папки шлюза по сети: Windows спрашивает логин и пароль; блок виден сразу, пароль скрыт

- bj-igate-admin share: при открытии — «map to guest = never»: с «bad user» Samba пускала текущую учётную запись Windows гостем, гостю в папку нельзя, и Windows сразу писала «нет доступа» без окна логина и пароля.
- Блок «Папки шлюза по сети» — не под раскрытием, со своим заголовком; поле пароля — скрытое (было открытым текстом).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
zuevav
2026-10-07 08:41:31 +03:00
parent b9d9bbc652
commit 0bdcf0f9d8
2 changed files with 8 additions and 4 deletions
+3
View File
@@ -363,6 +363,9 @@ SQL
printf '[%s]\n comment = Шлюз НРД: папки обмена %s (INBOX/OUTBOX/SENT/ERRORS)\n path = %s\n browseable = yes\n read only = no\n valid users = %s\n force user = %s\n force group = %s\n' "$n" "$c" "$d" "$su" "$SVC_USER" "$SVC_USER"
done
echo "$E"; } >> "$CONF"
# Windows сначала пробует войти текущей учётной записью; с «map to guest = bad user» Samba пускает её гостем,
# гостю в папку нельзя — и Windows пишет «нет доступа» вместо окна логина и пароля. С «never» — спрашивает пароль.
sed -i -E 's/^([[:space:]]*)map to guest[[:space:]]*=[[:space:]]*bad user.*$/\1map to guest = never/I' "$CONF"
testparm -s "$CONF" >/dev/null 2>&1 || { sed -i "/^$B/,/^$E/d" "$CONF"; err "smb.conf после правки не проходит проверку (testparm) — правка отменена"; }
systemctl enable smbd >/dev/null 2>&1; systemctl restart smbd >/dev/null 2>&1 || err "служба smbd не перезапустилась"
ok "папки шлюза открыты по сети для $su: \\\\$(hostname -I | awk '{print $1}')\\igate_exchange" ;;
@@ -23,6 +23,7 @@
.ct-act{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.ct-act .btn[disabled]{opacity:.5;cursor:not-allowed}
@media (max-width:760px){.ct-grid{grid-template-columns:minmax(0,1fr)}}
.ig-share{margin-top:18px;padding-top:16px;border-top:1px solid var(--border)}
.ig-addr{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:6px}
.ig-addr code{font-size:14px;padding:4px 10px;border-radius:8px;background:var(--card);border:1px solid var(--border);user-select:all}
.ig-addr .muted{font-size:12.5px}
@@ -78,17 +79,17 @@
<button type="button" class="btn" id="ig-goprod" style="background:var(--err);border-color:var(--err)">Перейти на боевой</button>
</div>
</div>
<details class="ig-share" id="ig-share" style="margin-top:14px">
<summary style="cursor:pointer;color:var(--accent);font-size:13.5px">Доступ к папкам шлюза по сети (необязательно)</summary>
<div class="ig-share" id="ig-share">
<h3>Папки шлюза по сети <span class="muted" style="font-weight:400;font-size:13px">— необязательно</span></h3>
<p class="muted" style="font-size:13px;margin:8px 0 0">Папки обмена шлюза (INBOX, OUTBOX, SENT, ERRORS) можно открыть по сети Windows — если другие программы организации кладут или забирают файлы через этот шлюз. bj для работы это не нужно. Доступ — по своему логину и паролю, файлы пишутся от имени шлюза.</p>
<div id="ig-share-st" class="muted" style="font-size:13px;margin-top:8px">Проверяю…</div>
<form id="ig-share-f" style="display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:560px;margin-top:10px">
<label style="grid-column:1/-1;display:flex;gap:8px;align-items:center;font-weight:400;margin:0"><input type="checkbox" name="enabled" style="width:auto"> Открыть папки шлюза по сети</label>
<label class="f">Логин<input name="user" value="igate-share" autocomplete="off" spellcheck="false"></label>
<label class="f">Пароль (от 8 символов)<input name="password" type="text" autocomplete="off" spellcheck="false" placeholder="пусто — прежний"></label>
<label class="f">Пароль (от 8 символов)<input name="password" type="password" autocomplete="new-password" spellcheck="false" placeholder="пусто — прежний"></label>
<div style="grid-column:1/-1;display:flex;gap:8px;align-items:center;flex-wrap:wrap"><button type="submit" class="btn sm">Сохранить</button><span id="ig-share-out" style="font-size:13px"></span></div>
</form>
</details>
</div>
<div class="ig-job" id="ig-job" hidden aria-live="polite">
<div class="ig-job-h"><span class="ig-spin"></span><b id="ig-job-t">Записываю канал в шлюз НРД</b><span class="muted" id="ig-job-time"></span></div>
<ol class="dq-steps" id="ig-job-steps"></ol>