Block a user
33ed6e5c17
su: endpwent on exit
8375701bf6
session, su: Split password-collecting logic into a separate function
3e052c72a0
init: don't wait before executing the session binary
e9092ab235
sh: Display username instead of shell's PID in prompt
0b838572e1
apps: Add a new session program which manages user login
702cc0442c
endpwent: Close all opened instances of /etc/passwd, including those used by getpwuid() and getpwnam()
2ca20c1a1e
compilation fix
5aba1c5f15
su: Make it setuid root, ask for a password, and accept a username
477af66cdc
ps: Show usernames of processes, using getpwuid()
7d0e442cde
libc: Add /etc/passwd and the pwd.h API
e05f3f5325
Kernel: Read file modes from the initrd, filtering out write permissions
a2d9ada4dc
oopsie
68d0d0b759
apps: Add a new su utility
8f0e358360
libc: Add setuid, setgid, seteuid, setegid
09a615bd99
Kernel, libc: Expose processes' UID and GID in pstat()
acdc2d3ad7
init: Open /dev/console for appending
1c4f1ab867
Kernel, libc: Add setuid() and setgid() system calls
2269ec267c
apps: Add a 'stat' utility
b1729689df
libc: Open stdout and stderr write-only on init
77d331b258
init: Open /etc/motd with O_CLOEXEC to avoid leaking this file to children
c312d81de4
Kernel, libc: Add st_uid and st_gid to stat, and handle st_mode differently