Multi-user systems

Users

Computer Sharing

Ownership

Process ownership

File ownership

Access control models

(Virtual) system users

Principle os least privilege

Privilege separation

Process separation

Access control policy

Access rights subjects

Acess rights actions (verbs)

Access rights objects

Subjects in POSIX

User and group identifiers

User management

Changing identities

Login

User authentication

Remote login

Computer authentication

2-factor authentication

Enforcement: Hardware

Enforcement: kernel

Enforcement: system calls

Enforecemnt: service APIs

File systems

File access rights

Reprezentace

The UNIX model

Access vs ownership

Access verbs in POSIC file systems

Permission bits

Changing file ownership

Changing file permissions

setuid and setgid

Sticky directories

Access control lists

ACLs a POSIX

Device files

Sockets and pipes

Special attributes

Network file system

File system quotas

Removable media

The chroot system call

Uses of chroot

Sub-user granularity

Users are not enough

Naming programs

Program as a subject

Mandatory access control

Capabilities

Dismantling the root user

Security and execution

Untrusted input

Process as a subject

Sanboxing

Untrusted code

API-level access control

Android/iOS permissions