13
13
14
14
run-hooks () {
15
15
# Source scripts or run executable files in a directory
16
- if [[ ! -d " $1 " ]] ; then
16
+ if [[ ! -d " ${1} " ]] ; then
17
17
return
18
18
fi
19
- echo " $0 : running hooks in $1 "
20
- for f in " $1 /" * ; do
21
- case " $f " in
19
+ echo " ${0} : running hooks in ${1} "
20
+ for f in " ${1} /" * ; do
21
+ case " ${f} " in
22
22
* .sh)
23
- echo " $0 : running $f "
23
+ echo " ${0} : running ${f} "
24
24
# shellcheck disable=SC1090
25
- source " $f "
25
+ source " ${f} "
26
26
;;
27
27
* )
28
- if [[ -x " $f " ]] ; then
29
- echo " $0 : running $f "
30
- " $f "
28
+ if [[ -x " ${f} " ]] ; then
29
+ echo " ${0} : running ${f} "
30
+ " ${f} "
31
31
else
32
- echo " $0 : ignoring $f "
32
+ echo " ${0} : ignoring ${f} "
33
33
fi
34
34
;;
35
35
esac
36
36
done
37
- echo " $0 : done running hooks in $1 "
37
+ echo " ${0} : done running hooks in ${1} "
38
38
}
39
39
40
40
run-hooks /usr/local/bin/start-notebook.d
@@ -44,73 +44,73 @@ if [ "$(id -u)" == 0 ] ; then
44
44
45
45
# Only attempt to change the jovyan username if it exists
46
46
if id jovyan & > /dev/null ; then
47
- echo " Set username to: $NB_USER "
48
- usermod -d " /home/$NB_USER " -l " $NB_USER " jovyan
47
+ echo " Set username to: ${ NB_USER} "
48
+ usermod -d " /home/${ NB_USER} " -l " ${ NB_USER} " jovyan
49
49
fi
50
50
51
51
# handle home and working directory if the username changed
52
- if [[ " $NB_USER " != " jovyan" ]]; then
52
+ if [[ " ${ NB_USER} " != " jovyan" ]]; then
53
53
# changing username, make sure homedir exists
54
54
# (it could be mounted, and we shouldn't create it if it already exists)
55
- if [[ ! -e " /home/$NB_USER " ]]; then
56
- echo " Relocating home dir to /home/$NB_USER "
57
- mv /home/jovyan " /home/$NB_USER " || ln -s /home/jovyan " /home/$NB_USER "
55
+ if [[ ! -e " /home/${ NB_USER} " ]]; then
56
+ echo " Relocating home dir to /home/${ NB_USER} "
57
+ mv /home/jovyan " /home/${ NB_USER} " || ln -s /home/jovyan " /home/${ NB_USER} "
58
58
fi
59
- # if workdir is in /home/jovyan, cd to /home/$NB_USER
60
- if [[ " $PWD /" == " /home/jovyan/" * ]]; then
61
- newcwd=" /home/$NB_USER /${PWD: 13} "
62
- echo " Setting CWD to $newcwd "
63
- cd " $newcwd "
59
+ # if workdir is in /home/jovyan, cd to /home/${ NB_USER}
60
+ if [[ " ${ PWD} /" == " /home/jovyan/" * ]]; then
61
+ newcwd=" /home/${ NB_USER} /${PWD: 13} "
62
+ echo " Setting CWD to ${ newcwd} "
63
+ cd " ${ newcwd} "
64
64
fi
65
65
fi
66
66
67
67
# Handle case where provisioned storage does not have the correct permissions by default
68
68
# Ex: default NFS/EFS (no auto-uid/gid)
69
- if [[ " $CHOWN_HOME " == " 1" || " $CHOWN_HOME " == ' yes' ]]; then
70
- echo " Changing ownership of /home/$NB_USER to $NB_UID : $ NB_GID with options '${CHOWN_HOME_OPTS} '"
69
+ if [[ " ${ CHOWN_HOME} " == " 1" || " ${ CHOWN_HOME} " == ' yes' ]]; then
70
+ echo " Changing ownership of /home/${ NB_USER} to ${ NB_UID} : ${ NB_GID} with options '${CHOWN_HOME_OPTS} '"
71
71
# shellcheck disable=SC2086
72
- chown $CHOWN_HOME_OPTS " $NB_UID : $ NB_GID" " /home/$NB_USER "
72
+ chown ${ CHOWN_HOME_OPTS} " ${ NB_UID} : ${ NB_GID} " " /home/${ NB_USER} "
73
73
fi
74
- if [ -n " $CHOWN_EXTRA " ]; then
75
- for extra_dir in $( echo " $CHOWN_EXTRA " | tr ' ,' ' ' ) ; do
76
- echo " Changing ownership of ${extra_dir} to $NB_UID : $ NB_GID with options '${CHOWN_EXTRA_OPTS} '"
74
+ if [ -n " ${ CHOWN_EXTRA} " ]; then
75
+ for extra_dir in $( echo " ${ CHOWN_EXTRA} " | tr ' ,' ' ' ) ; do
76
+ echo " Changing ownership of ${extra_dir} to ${ NB_UID} : ${ NB_GID} with options '${CHOWN_EXTRA_OPTS} '"
77
77
# shellcheck disable=SC2086
78
- chown $CHOWN_EXTRA_OPTS " $NB_UID : $ NB_GID" " $extra_dir "
78
+ chown ${ CHOWN_EXTRA_OPTS} " ${ NB_UID} : ${ NB_GID} " " ${ extra_dir} "
79
79
done
80
80
fi
81
81
82
82
# Change UID:GID of NB_USER to NB_UID:NB_GID if it does not match
83
- if [ " $NB_UID " != " $( id -u " $NB_USER " ) " ] || [ " $NB_GID " != " $( id -g " $NB_USER " ) " ]; then
84
- echo " Set user $NB_USER UID:GID to: $NB_UID : $ NB_GID"
85
- if [ " $NB_GID " != " $( id -g " $NB_USER " ) " ]; then
86
- groupadd -f -g " $NB_GID " -o " ${NB_GROUP:- ${NB_USER} } "
83
+ if [ " ${ NB_UID} " != " $( id -u " ${ NB_USER} " ) " ] || [ " ${ NB_GID} " != " $( id -g " ${ NB_USER} " ) " ]; then
84
+ echo " Set user ${ NB_USER} UID:GID to: ${ NB_UID} : ${ NB_GID} "
85
+ if [ " ${ NB_GID} " != " $( id -g " ${ NB_USER} " ) " ]; then
86
+ groupadd -f -g " ${ NB_GID} " -o " ${NB_GROUP:- ${NB_USER} } "
87
87
fi
88
- userdel " $NB_USER "
89
- useradd --home " /home/$NB_USER " -u " $NB_UID " -g " $NB_GID " -G 100 -l " $NB_USER "
88
+ userdel " ${ NB_USER} "
89
+ useradd --home " /home/${ NB_USER} " -u " ${ NB_UID} " -g " ${ NB_GID} " -G 100 -l " ${ NB_USER} "
90
90
fi
91
91
92
92
# Enable sudo if requested
93
- if [[ " $GRANT_SUDO " == " 1" || " $GRANT_SUDO " == ' yes' ]]; then
94
- echo " Granting $NB_USER sudo access and appending $CONDA_DIR /bin to sudo PATH"
95
- echo " $NB_USER ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/notebook
93
+ if [[ " ${ GRANT_SUDO} " == " 1" || " ${ GRANT_SUDO} " == ' yes' ]]; then
94
+ echo " Granting ${ NB_USER} sudo access and appending ${ CONDA_DIR} /bin to sudo PATH"
95
+ echo " ${ NB_USER} ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/notebook
96
96
fi
97
97
98
- # Add $CONDA_DIR/bin to sudo secure_path
99
- sed -r " s#Defaults\s+secure_path\s*=\s*\" ?([^\" ]+)\" ?#Defaults secure_path=\" \1:$CONDA_DIR /bin\" #" /etc/sudoers | grep secure_path > /etc/sudoers.d/path
98
+ # Add ${ CONDA_DIR} /bin to sudo secure_path
99
+ sed -r " s#Defaults\s+secure_path\s*=\s*\" ?([^\" ]+)\" ?#Defaults secure_path=\" \1:${ CONDA_DIR} /bin\" #" /etc/sudoers | grep secure_path > /etc/sudoers.d/path
100
100
101
101
# Exec the command as NB_USER with the PATH and the rest of
102
102
# the environment preserved
103
103
run-hooks /usr/local/bin/before-notebook.d
104
104
echo " Executing the command:" " ${cmd[@]} "
105
- exec sudo -E -H -u " $NB_USER " PATH=" $PATH " XDG_CACHE_HOME=" /home/$NB_USER /.cache" PYTHONPATH=" ${PYTHONPATH:- } " " ${cmd[@]} "
105
+ exec sudo -E -H -u " ${ NB_USER} " PATH=" ${ PATH} " XDG_CACHE_HOME=" /home/${ NB_USER} /.cache" PYTHONPATH=" ${PYTHONPATH:- } " " ${cmd[@]} "
106
106
else
107
- if [[ " $NB_UID " == " $( id -u jovyan 2> /dev/null) " && " $NB_GID " == " $( id -g jovyan 2> /dev/null) " ]]; then
107
+ if [[ " ${ NB_UID} " == " $( id -u jovyan 2> /dev/null) " && " ${ NB_GID} " == " $( id -g jovyan 2> /dev/null) " ]]; then
108
108
# User is not attempting to override user/group via environment
109
109
# variables, but they could still have overridden the uid/gid that
110
110
# container runs as. Check that the user has an entry in the passwd
111
111
# file and if not add an entry.
112
112
STATUS=0 && whoami & > /dev/null || STATUS=$? && true
113
- if [[ " $STATUS " != " 0" ]]; then
113
+ if [[ " ${ STATUS} " != " 0" ]]; then
114
114
if [[ -w /etc/passwd ]]; then
115
115
echo " Adding passwd file entry for $( id -u) "
116
116
sed -e " s/^jovyan:/nayvoj:/" /etc/passwd > /tmp/passwd
@@ -122,24 +122,24 @@ else
122
122
fi
123
123
fi
124
124
125
- # Warn if the user isn't going to be able to write files to $HOME.
125
+ # Warn if the user isn't going to be able to write files to ${ HOME} .
126
126
if [[ ! -w /home/jovyan ]]; then
127
127
echo ' Container must be run with group "users" to update files'
128
128
fi
129
129
else
130
130
# Warn if looks like user want to override uid/gid but hasn't
131
131
# run the container as root.
132
- if [[ -n " $NB_UID " && " $NB_UID " != " $( id -u) " ]]; then
133
- echo " Container must be run as root to set NB_UID to $NB_UID "
132
+ if [[ -n " ${ NB_UID} " && " ${ NB_UID} " != " $( id -u) " ]]; then
133
+ echo " Container must be run as root to set NB_UID to ${ NB_UID} "
134
134
fi
135
- if [[ -n " $NB_GID " && " $NB_GID " != " $( id -g) " ]]; then
136
- echo " Container must be run as root to set NB_GID to $NB_GID "
135
+ if [[ -n " ${ NB_GID} " && " ${ NB_GID} " != " $( id -g) " ]]; then
136
+ echo " Container must be run as root to set NB_GID to ${ NB_GID} "
137
137
fi
138
138
fi
139
139
140
140
# Warn if looks like user want to run in sudo mode but hasn't run
141
141
# the container as root.
142
- if [[ " $GRANT_SUDO " == " 1" || " $GRANT_SUDO " == ' yes' ]]; then
142
+ if [[ " ${ GRANT_SUDO} " == " 1" || " ${ GRANT_SUDO} " == ' yes' ]]; then
143
143
echo ' Container must be run as root to grant sudo permissions'
144
144
fi
145
145
0 commit comments