forked from ApolloAuto/apollo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker_adduser.sh
executable file
·65 lines (56 loc) · 2 KB
/
docker_adduser.sh
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
63
64
65
#!/usr/bin/env bash
###############################################################################
# Copyright 2017 The Apollo Authors. All Rights Reserved.
#
# 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.
###############################################################################
addgroup --gid "$DOCKER_GRP_ID" "$DOCKER_GRP"
adduser --disabled-password --force-badname --gecos '' "$DOCKER_USER" \
--uid "$DOCKER_USER_ID" --gid "$DOCKER_GRP_ID" 2>/dev/null
usermod -aG sudo "$DOCKER_USER"
echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
cp -r /etc/skel/. /home/${DOCKER_USER}
echo '
export PATH=${PATH}:/apollo/scripts:/usr/local/miniconda/bin
if [ -e "/apollo/scripts/apollo_base.sh" ]; then
source /apollo/scripts/apollo_base.sh
fi
ulimit -c unlimited
' >> "/home/${DOCKER_USER}/.bashrc"
echo '
genhtml_branch_coverage = 1
lcov_branch_coverage = 1
' > "/home/${DOCKER_USER}/.lcovrc"
# Set user files ownership to current user, such as .bashrc, .profile, etc.
chown ${DOCKER_USER}:${DOCKER_GRP} /home/${DOCKER_USER}
ls -ad /home/${DOCKER_USER}/.??* | xargs chown -R ${DOCKER_USER}:${DOCKER_GRP}
# setup GPS device
if [ -e /dev/novatel0 ]; then
chmod a+rw /dev/novatel0
fi
if [ -e /dev/novatel1 ]; then
chmod a+rw /dev/novatel1
fi
if [ -e /dev/novatel2 ]; then
chmod a+rw /dev/novatel2
fi
if [ -e /dev/ttyACM0 ]; then
chmod a+rw /dev/ttyACM0
fi
# setup camera device
if [ -e /dev/camera/obstacle ]; then
chmod a+rw /dev/camera/obstacle
fi
if [ -e /dev/camera/trafficlights ]; then
chmod a+rw /dev/camera/trafficlights
fi