Установка: bj-server сам создаёт /run/bj (без bj-crypto служба падала с 226/NAMESPACE); шаг лицензии не показывается при установке с образа; причина при сбое запуска; Debian — один администратор с sudo, логин задаётся явно; логин на экране приветствия
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -154,6 +154,8 @@ func (in *installer) run() error {
|
||||
var todo []step
|
||||
for _, s := range all {
|
||||
switch {
|
||||
case s.id == "license" && strings.TrimSpace(in.code) == "" && in.bundle != "":
|
||||
// ключ продукта вводится в браузере на первой странице — шаг здесь не нужен
|
||||
case in.dryRun && s.id != "precheck":
|
||||
case in.steps != nil && !in.steps[s.id]:
|
||||
default:
|
||||
@@ -721,7 +723,8 @@ func (in *installer) stepFirstRun() (string, error) {
|
||||
}
|
||||
for _, unit := range units {
|
||||
if out, err := run("systemctl", "restart", unit); err != nil {
|
||||
return "", fmt.Errorf("запуск %s: %v %s", unit, err, out)
|
||||
st, _ := run("systemctl", "status", unit, "--no-pager", "-n", "15")
|
||||
return "", fmt.Errorf("запуск %s: %v %s\n%s", unit, err, out, st)
|
||||
}
|
||||
}
|
||||
if err := waitFor(90*time.Second, func() bool {
|
||||
|
||||
@@ -35,11 +35,10 @@ d-i apt-setup/cdrom/set-first boolean false
|
||||
d-i apt-setup/non-free-firmware boolean true
|
||||
d-i apt-setup/services-select multiselect security, updates
|
||||
|
||||
# Учётные записи: пароль root и администратор ОС задаются при установке
|
||||
d-i passwd/root-login boolean true
|
||||
# Учётная запись: одна — администратор ОС с sudo (вход root отключён). Установщик спросит
|
||||
# полное имя, ЛОГИН и пароль — логин человек видит и задаёт сам; им же входят в консоль сервера.
|
||||
d-i passwd/root-login boolean false
|
||||
d-i passwd/make-user boolean true
|
||||
d-i passwd/user-fullname string Администратор
|
||||
d-i passwd/username string bjadmin
|
||||
|
||||
# Разметка: весь выбранный диск, одна файловая система; диск и стирание подтверждаются при установке
|
||||
d-i partman-auto/method string regular
|
||||
|
||||
@@ -54,7 +54,8 @@ fi
|
||||
*) printf ' Лицензия НЕ АКТИВИРОВАНА: введите ключ продукта в «Настройка → Лицензия».\n';;
|
||||
esac
|
||||
fi
|
||||
printf '\n Вход в консоль сервера — учётной записью ОС (для обслуживания). Веб-вход — по адресу выше.\n\n'
|
||||
ADM=$(getent group sudo | cut -d: -f4 | tr ',' ' ')
|
||||
printf '\n Вход в консоль сервера (обслуживание): логин администратора ОС%s и его пароль,\n заданные при установке Debian; команды — через sudo. Веб-вход — по адресу выше.\n\n' "${ADM:+ ($ADM)}"
|
||||
} > "$ISSUE.tmp"
|
||||
if ! cmp -s "$ISSUE.tmp" "$ISSUE" 2>/dev/null; then
|
||||
mv -f "$ISSUE.tmp" "$ISSUE"
|
||||
|
||||
@@ -11,6 +11,7 @@ User=bj
|
||||
Group=bj
|
||||
RuntimeDirectory=bj
|
||||
RuntimeDirectoryMode=0750
|
||||
RuntimeDirectoryPreserve=yes
|
||||
Environment=BJ_CRYPTO_SOCKET=/run/bj/crypto.sock
|
||||
Environment=BJ_CRYPTO_PROVIDER=validata
|
||||
Environment=LD_LIBRARY_PATH=/opt/Validata/VDCSP/lib/amd64
|
||||
|
||||
@@ -31,6 +31,10 @@ NoNewPrivileges=true
|
||||
ProtectSystem=strict
|
||||
ProtectHome=true
|
||||
PrivateTmp=true
|
||||
# /run/bj — общий каталог с bj-crypto (сокет); на чистой установке его создаёт сама служба
|
||||
RuntimeDirectory=bj
|
||||
RuntimeDirectoryMode=0750
|
||||
RuntimeDirectoryPreserve=yes
|
||||
ReadWritePaths=/var/lib/bj /var/log/bj /run/bj
|
||||
StandardOutput=append:/var/log/bj/bj-server.log
|
||||
StandardError=append:/var/log/bj/bj-server.err
|
||||
|
||||
Reference in New Issue
Block a user