feat(users): per-user sealed folders users/<id>/{home,apps,data,permissions}; storage SET_USER/LOCK/PURGE; init sign-in/sign-out loop (purge fresh/removed/guest, seed from factory, session start/stop); shell logout; pm user+system app shelves; terminal SIGNED_OUT; per-program stack (gatekeeper 12p); 128K load scratch
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
//!
|
||||
//! app-image install <root> <manifest.toml> <binary>
|
||||
//! an installed, pre-approved app: /apps/<id>/, and (under factory/,
|
||||
//! which init seeds the encrypted areas from) its decision granting
|
||||
//! which init seeds each user's folder from) its decision granting
|
||||
//! everything it asks for, and data/<id>/ if that includes storage
|
||||
//! app-image stage <folder> <manifest.toml> <binary>
|
||||
//! an app folder the owner can install later (`install <folder>`)
|
||||
@@ -37,7 +37,7 @@ fn install(root: &Path, manifest: &Path, binary: &Path) -> Result<(), String> {
|
||||
};
|
||||
let mut out = [0u8; MAX_DECISION_TEXT];
|
||||
let n = decision.write(&mut out);
|
||||
let decisions = root.join("factory/system/permissions");
|
||||
let decisions = root.join("factory/permissions");
|
||||
fs::create_dir_all(&decisions).map_err(|e| e.to_string())?;
|
||||
fs::write(decisions.join(m.id.as_str()), &out[..n]).map_err(|e| e.to_string())?;
|
||||
if decision.granted.contains(Capability::Storage) {
|
||||
|
||||
Reference in New Issue
Block a user