-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.root.sh
More file actions
executable file
·62 lines (50 loc) · 1.59 KB
/
setup.root.sh
File metadata and controls
executable file
·62 lines (50 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#! /bin/sh
# Copyright [2018-2024] EMBL-European Bioinformatics Institute
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Make a "WTSI Web VM" style user area
#
# You may also need to
# sudo aptitude install apache2-mpm-prefork
# Takes an environmental override
: ${WEBDIR:=/www}
case "$SUDO_USER::$1" in
:: | ::-h | ::--help | *::-h | *::--help)
echo "Syntax: $0 [ <username> ]
This does
mkdir -p \$WEBDIR/{tmp/,}\$USERNAME
chown ...
Username can be detected from sudo(8), else must be specified.
\$WEBDIR is $WEBDIR but may be overridden by setting the environment
variable.
" >&2
exit 1
;;
*::)
FOR_USER="$SUDO_USER"
;;
*::*)
FOR_USER="$1"
;;
esac
if [ "$USER" != 'root' ]; then
echo "[w] Looks like you are running as $USER"
echo " $0 needs to be root unless you can write $WEBDIR"
fi >&2
if [ -e "$WEBDIR/$FOR_USER" ]; then
echo "Abort: $WEBDIR/$FOR_USER exists" >&2
exit 2
fi
echo "Making userspace in $WEBDIR/$FOR_USER" >&2
mkdir -p "$WEBDIR" "$WEBDIR/$FOR_USER" "$WEBDIR/tmp/$FOR_USER"
chown $FOR_USER:$FOR_USER "$WEBDIR/$FOR_USER" "$WEBDIR/tmp/$FOR_USER"