Fiddle with copyright messages so that they're correct.
[shells] / cvssh.1
1 .TH cvssh 1 "21 April 1999" "Local tools"
2 .SH NAME
3 cvssh \- quick shell for anonymous CVS servers
4 .SH SYNOPSIS
5 .B cvssh
6 .SH DESCRIPTION
7 The
8 .B cvssh
9 is intended to be used as the login shell of an anonymous CVS server
10 account. It's not terribly useful in the outside world, because it
11 requires a patched version of CVS which I haven't released.
12 .SH ANONYMOUS CVS
13 Suppose you want to set up a CVS repository in
14 .B /home/cvs/cvs
15 with the anonymous user
16 .BR anoncvs .
17 The following steps will get this done:
18 .IP " 1."
19 Make the directory
20 .B /home/cvs
21 owned by
22 .B root
23 with mode 755, and execute
24 .sp 1
25 .RS 10
26 .nf
27 .ft B
28 cvs -d /home/cvs/cvs init
29 .ft R
30 .fi
31 .RE
32 .IP ""
33 to create the repository.
34 .IP " 2."
35 Add a user
36 .B anoncvs
37 with a disabled password, shell set to
38 .B chrootsh
39 and home directory set to
40 .BR /home/cvs/./cvs .
41 .IP " 3."
42 As the super-user, run the following commands:
43 .PP
44 .RS 10
45 .nf
46 .ft B
47 # cd /home/cvs
48 # mkdir -m 711 bin dev etc lib
49 # mkdir -m 1777 tmp
50 .ft R
51 .fi
52 .RE
53 .IP ""
54 You may need some other directories as well. For example, Digital Unix
55 users will want to make
56 .B shlib
57 and
58 .B sbin
59 for the shared library system to work properly.
60 .IP " 4."
61 Copy the programs
62 .BR cvs ,
63 .B gzip
64 and
65 .B sh
66 into
67 .BR /home/cvs/bin .
68 If your version of
69 .B /bin/sh
70 is really the Free Software Foundation's
71 .B bash
72 in disguise (e.g., you're a Linux user) then you're probably better off
73 installing something lighter-weight like the FreeBSD shell (available in
74 a guise called
75 .B ash
76 with Debian GNU/Linux). It's smaller and doesn't need as many shared
77 libraries.
78 .IP ""
79 Also copy in the
80 .B cvssh
81 binary.
82 .IP " 5."
83 Copy in the shared libraries needed. If you have an
84 .B ldd
85 binary handy, run
86 .sp 1
87 .RS 10
88 .nf
89 .ft B
90 # ldd bin/*
91 .ft R
92 .fi
93 .RE
94 .IP ""
95 and copy in what it tells you to. Otherwise you'll have to find things
96 out the hard way by looking at error messages. Do any other
97 configuration your shared library system needs or desires here. For
98 example, Linux users should run
99 .sp 1
100 .RS 10
101 .nf
102 .ft B
103 # ldconfig -n -r/home/cvs /lib
104 .ft R
105 .fi
106 .RE
107 .IP ""
108 to make a cache file for the shared loader.
109 .IP " 6."
110 Make any devices needed in the
111 .B /dev
112 directory. For Linux, that probably involves
113 .sp 1
114 .RS 10
115 .nf
116 .ft B
117 # mknod -m666 dev/null c 1 3
118 # mknod -m666 dev/zero c 1 5
119 .ft R
120 .fi
121 .RE
122 .IP ""
123 Other operating systems will, of course, be different.
124 .IP " 7."
125 Edit the password and group files the
126 .B etc
127 directory. My versions are extremely minimal. The important thing is
128 that the
129 .B anoncvs
130 user should have an entry like the one in the main password database but
131 with home directory
132 .B /cvs
133 and shell
134 .BR /bin/cvssh .
135 The
136 .B passwd
137 file should contain no passwords or other useful information. Only put
138 other users in the files if you really feel like it.
139 .IP " 8."
140 Finishing touches. Run the command
141 .sp 1
142 .RS 10
143 .nf
144 .ft B
145 # touch cvs/.hushlogin
146 .ft R
147 .fi
148 .RE
149 .IP ""
150 to make sure that logging in doesn't spew junk everywhere.
151 Also, if you're planning on using SSH, do
152 .sp 1
153 .RS 10
154 .nf
155 .ft B
156 # mkdir cvs/.ssh
157 # touch cvs/.ssh/rc
158 .ft R
159 .fi
160 .RE
161 .IP ""
162 to make SSH stop trying to play silly games with
163 .BR xauth .
164 .IP " 9."
165 Relax. You're done.
166 .SH BUGS
167 None planned.
168 .SH "SEE ALSO"
169 .BR chrootsh (8),
170 .BR cvs (1).
171 .SH AUTHOR
172 Mark Wooding (mdw@nsict.org)