diff --git a/web/assets/styles.css b/web/assets/styles.css index 5feabd2..c5c507c 100644 --- a/web/assets/styles.css +++ b/web/assets/styles.css @@ -410,3 +410,22 @@ html.modal-open { overflow: hidden; } .admin-table--wide, .admin-table--audit { min-width: 46rem; }.otp-value-row .button { width: 100%; } .pagination { justify-content: stretch; }.pagination__info { width: 100%; }.pagination__buttons .button { flex: 1; } } + +/* The sudo prerequisites beside the "expect to run as root" checkbox. Two steps, and + the second cannot be run until the first is true, so they are numbered rather than + left as a paragraph. Deliberately plain: this is read on the machine it describes. */ +.root-access-steps { + margin: .55rem 0 0; + padding-left: 1.15rem; + color: var(--admin-muted); + font-size: .67rem; + line-height: 1.6; +} +.root-access-steps li { margin-bottom: .5rem; } +.root-access-steps strong { color: #e2e8f0; font-weight: 700; } +.root-access-steps code { + color: var(--admin-lilac); + font-family: ui-monospace, SFMono-Regular, Menlo, monospace; + font-size: .95em; + word-break: break-all; +} diff --git a/web/uadmin/nodes.html b/web/uadmin/nodes.html index 16bf71c..032c458 100644 --- a/web/uadmin/nodes.html +++ b/web/uadmin/nodes.html @@ -142,14 +142,35 @@ - + Ticking this changes the command below to curl … | sudo sh and - installs to /opt/umbra with a system service running as its own + installs to /opt/umbra as a system service running as its own umbra-node account. Unticked, everything stays in your home - directory with a user service. The script still checks for root when it - runs, so it does the right thing either way — but the paths it writes to - are chosen here, so a mismatch would fail. + directory with a user service and no password is needed. +
    +
  1. + The account running the command must be in the + sudo group. On a machine set up with a separate + administrator and then a daily-use account, the first account created is + the one that gets sudo; a later account does not. Check + with id -nG. If sudo is not listed, an + administrator adds it: + sudo usermod -aG sudo account + then sign out and back in — group membership is fixed at sign-in. +
  2. +
  3. + To avoid typing a password for every node, grant + passwordless sudo for that one account. Run this + from an account that already has sudo: + sudo visudo -f /etc/sudoers.d/umbra-node + then add this line and save: + umbra ALL=(ALL) NOPASSWD: ALL + Replace umbra with whichever account will run the command. + Without this step the command still works — it will simply ask for a + password each time. +
  4. +