src/plugin.h: add error parameter to call_hook
[vlock.git] / SECURITY
blob2ac08d5ae69c57e1d3d2f54888dbb4e03a498fe4
1 OVERVIEW
2 ========
4 vlock is a denial of service tool.  Linux allows any user logged into the
5 virtual console to lock the system completely.  vlock takes this one step
6 further and grants this ability to any user who is able to run the vlock-new
7 program.
9 The default installation sets permission that allow any user to run vlock-new
10 and is therefore insecure.  If you have a notion of trusted users it is
11 possible to set the VLOCK_GROUP variable while installing vlock like so::
13   make VLOCK_GROUP=vlock install
15 This way only members of the vlock group will be able to lock the machine
16 completely.  Others will still be able to lock their own console or terminal.
18 Another possibility is to install vlock with the VLOCK_GROUP set to root and
19 allow use of vlock through tools like sudo.  This approach, however, does not
20 bring much advantage over the previous group based one.
22 In the future the vlock-new optionally protected through PAM.
24 Setting VLOCK_GROUP also affects vlock-nosysrq.
26 DETAILS
27 =======
29 vlock-current
30 -------------
32 This tool does the user authentication.  Once started it only exits when proper
33 authentication was received.
35 Depending on the system configuration it probably needs read access to
36 /etc/shadow.  It may be possible to install it without any special permissions.
37 Installing as a setuid-root program should be safe, though.
39 vlock-all
40 ----------
42 This tool disables console switching while running vlock-current.
44 Disabling console switching is an unpriviledged operation in Linux.  Therefore
45 this tool does not need any special permissions.
47 vlock-new
48 ---------
50 This tool switches to a new console and runs vlock-all there.  It is similar to
51 using openvt(1) but much simpler.
53 To access the new virtual console vlock-new needs permissions on /dev/ttyXX.
54 It must therefore be installed as a setuid-root program.
56 vlock-nosysrq
57 -------------
59 This tool disables the magic SysRQ key while running vlock-all or vlock-new.
61 To access the according sysctl file at /proc/sys/kernel/sysrq it should be
62 installed as a setuid-root program.