Split out fetching code into fetch.py.
[zeroinstall/zeroinstall-rsl.git] / 0store-secure-add.1
blob5e9377d329ba0ba248f18ddd4c74546fdb0cc4ad
1 .TH 0STORE-SECURE-ADD 1 "2007" "Thomas Leonard" ""
2 .SH NAME
3 0store-secure-add \- add an implementation to the system cache
5 .SH SYNOPSIS
7 .B 0store-secure-add
8 \fBDIGEST\fP
10 .SH DESCRIPTION
11 .PP
12 This command imports the current directory into the system-wide shared Zero
13 Install cache (by default, as /var/cache/0install.net/implementations/DIGEST).
14 This allows a program downloaded by one user to be shared with other users.
16 .PP
17 The current directory must contain a file called '.manifest' listing all the
18 files to be added (in the format required by DIGEST), and this file must have the
19 given digest. If not, the import is refused. Therefore, it is only possible to
20 add a directory to the cache if its name matches its contents.
22 .PP
23 It is intended that it be safe to grant untrusted users permission to call
24 this command with elevated privileges. To set this up, see below.
26 .SH SETTING UP SHARING
28 To enable sharing, the system administrator should follow these steps:
30 .PP
31 Create a new system user to own the cache:
33 .B adduser --system zeroinst
35 .PP
36 Create the shared directory, owned by this new user:
38 .B mkdir /var/cache/0install.net
40 .B chown zeroinst /var/cache/0install.net
43 Use visudo(8) to add these lines to /etc/sudoers:
45 .B Defaults>zeroinst env_reset
47 .B ALL     ALL=(zeroinst) NOPASSWD: /usr/bin/0store-secure-add
50 Create a script called
51 .B 0store-secure-add-helper
52 in PATH to call it. This script must be executable and contain these two lines:
55 #!/bin/sh
58 exec sudo -S -u zeroinst /usr/bin/0store-secure-add "$@" < /dev/null
61 The other Zero Install programs will call this helper script automatically.
63 .SH FILES
65 .IP "/var/cache/0install.net/implementations"
66 Default system-wide Zero Install cache.
68 .IP "~/.config/0install.net/injector/implementation-dirs"
69 List of system cache directories, one per line.
71 .SH LICENSE
72 .PP
73 Copyright (C) 2007 Thomas Leonard.
75 .PP
76 You may redistribute copies of this program under the terms of the GNU Lesser General Public License.
78 .SH BUGS
79 .PP
80 This program is EXPERIMENTAL. It has not been audited. Do not use it yet in
81 security-critial environments.
83 .PP
84 The env_reset line in sudoers may not be required. sudo(1) seems to do it automatically.
86 .PP
87 If sudo let us check whether we could call a command then we could switch to
88 using it automatically, instead of needing to add the helper script. Currently,
89 sudo delays for one second and writes to auth.log if we try to use this system
90 when it hasn't been set up.
92 .PP
93 Please report bugs to the developer mailing list:
95 http://0install.net/support.html
97 .SH AUTHOR
98 .PP
99 Zero Install was created by Thomas Leonard.
101 .SH SEE ALSO
102 0store(1)
105 The Zero Install web-site:
107 .B http://0install.net