28e8164e |
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) |