README: document Phase 5 features and upgrade migration
- Admin credential change (Settings button in topbar) - User rename (usermod -l, password reset required after) - PBKDF2 hashing detail in Auth section - Upgrade migration steps for /etc/micronas/ path change - Fix dev/test snippet to use MICRONAS_PASS_HASH Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
1f40f08e12
commit
aef2e8a01b
1 file changed
+40
-2
@@ -85,14 +85,52 @@ LAN or Tailscale only — never expose to the internet.
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Quick local run (no gunicorn needed, must have flask installed):
|
# Quick local run (no gunicorn needed, must have flask installed):
|
||||||
MICRONAS_USER=admin MICRONAS_PASS=secret flask --app app.py run --debug --host=0.0.0.0
|
MICRONAS_USER=admin MICRONAS_PASS_HASH="$(python3 -c "
|
||||||
|
import hashlib, os
|
||||||
|
s=os.urandom(16).hex()
|
||||||
|
h=hashlib.pbkdf2_hmac('sha256',b'secret',s.encode(),260000).hex()
|
||||||
|
print(f'{s}\${h}')
|
||||||
|
")" flask --app app.py run --debug --host=0.0.0.0
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Or use plaintext for dev only (still supported): `MICRONAS_USER=admin MICRONAS_PASS=secret flask --app app.py run --debug`
|
||||||
|
|
||||||
Note: SMB/NFS/user management calls require root and the relevant daemons — run on the actual LXC for full testing.
|
Note: SMB/NFS/user management calls require root and the relevant daemons — run on the actual LXC for full testing.
|
||||||
|
|
||||||
## Auth
|
## Auth
|
||||||
|
|
||||||
All routes require a login session. On first run you are redirected to `/setup` to create the admin account. Credentials are stored hashed in `/etc/micronas/micronas.env`. The WebDAV htpasswd file lives at `/etc/micronas/webdav.passwd` (readable by `www-data`, not world-readable).
|
All routes require a login session. On first run you are redirected to `/setup` to create the admin account. Credentials are stored hashed (PBKDF2-HMAC-SHA256, 260 000 iterations) in `/etc/micronas/micronas.env`. The WebDAV htpasswd file lives at `/etc/micronas/webdav.passwd` (group-readable by `www-data`, not world-readable).
|
||||||
|
|
||||||
|
**Changing the admin password** — click the ⚙ Settings button in the top-right corner. Enter your current password to confirm, then set a new username and/or password. You will be logged out automatically and redirected to login.
|
||||||
|
|
||||||
|
## Upgrading from an older install (path migration)
|
||||||
|
|
||||||
|
If you installed MicroNAS before the `/etc/micronas/` directory was introduced, run this once:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /etc/micronas
|
||||||
|
[ -f /etc/micronas.env ] && mv /etc/micronas.env /etc/micronas/micronas.env
|
||||||
|
[ -f /etc/micronas-webdav.passwd ] && mv /etc/micronas-webdav.passwd /etc/micronas/webdav.passwd
|
||||||
|
chown root:www-data /etc/micronas/webdav.passwd
|
||||||
|
chmod 640 /etc/micronas/webdav.passwd
|
||||||
|
# Patch the Apache config if it still references the old path
|
||||||
|
sed -i 's|/etc/micronas-webdav.passwd|/etc/micronas/webdav.passwd|' \
|
||||||
|
/etc/apache2/conf-available/micronas-webdav.conf
|
||||||
|
cp /opt/micronas/micronas.service /etc/systemd/system/
|
||||||
|
systemctl daemon-reload && systemctl restart micronas && systemctl reload apache2
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## User management
|
||||||
|
|
||||||
|
Users created in MicroNAS are standard Linux system accounts (`useradd -M -s /usr/sbin/nologin`). Their password is set in both the Linux shadow file (via `smbpasswd`) and the WebDAV htpasswd file automatically.
|
||||||
|
|
||||||
|
**Rename** — the Rename button in the Users tab renames the Linux account (`usermod -l`). Because SMB and WebDAV store passwords by username, those entries are removed and must be reset after a rename. The UI shows a warning prompt.
|
||||||
|
|
||||||
|
**Delete** — removes the Linux account, SMB entry, and WebDAV htpasswd entry.
|
||||||
|
|
||||||
|
**Password change** — updates SMB and WebDAV passwords in sync. Changing a user's password also re-registers them in WebDAV if they were created before WebDAV was installed.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user