flagflag  
4: 2021-07-13 (Tue) 11:24:06 iseki source Cur: 2021-07-13 (Tue) 20:06:59 iseki source
Line 1: Line 1:
-**** /usr/local/bin/start.sh (改) [#t07ce283] +**** /usr/local/bin/start.sh [#g40ccb19]
 #!/bin/bash  #!/bin/bash
 # Copyright (c) Jupyter Development Team.  # Copyright (c) Jupyter Development Team.
 # Distributed under the terms of the Modified BSD License.  # Distributed under the terms of the Modified BSD License.
 + 
 set -e  set -e
- + 
- # Exec the specified command or fall back on bash +
- if [ $# -eq 0 ]; then +
-     cmd=( \\"bash\\" ) +
- else +
-     cmd=( \\"$@\\" ) +
- fi +
- +
- run-hooks () { +
-     # Source scripts or run executable files in a directory +
-     if [[ ! -d \\"$1\\" ]] ; then +
-         return +
-     fi +
-     echo \\"$0: running hooks in $1\\" +
-     for f in \\"$1/\\"*; do +
-         case \\"$f\\" in +
-             *.sh) +
-                 echo \\"$0: running $f\\" +
-                 source \\"$f\\" +
-                 ;; +
-             *) +
-                 if [[ -x \\"$f\\" ]] ; then +
-                     echo \\"$0: running $f\\" +
-                     \\"$f\\" +
-                 else +
-                     echo \\"$0: ignoring $f\\" +
-                 fi +
-                 ;; +
-         esac +
-     done +
-     echo \\"$0: done running hooks in $1\\" +
- } +
- +
- run-hooks /usr/local/bin/start-notebook.d +
- +
- # Handle special flags if we\\\'re root +
- if [ $(id -u) == 0 ] ; then +
- +
-     # +
-     HOME_DIR=\\"/home\\" +
-     if [[ \\"$NB_GROUP\\" != \\"\\" ]]; then +
-         HOME_DIR=\\"$HOME_DIR/$NB_GROUP\\" +
-         if [[ ! -e \\"$HOME_DIR\\" ]]; then +
-             mkdir $HOME_DIR +
-         fi +
-     fi +
- +
-     # Only attempt to change the jovyan username if it exists +
-     if id jovyan &> /dev/null ; then +
-         echo \\"Set username to: $NB_USER\\" +
-         usermod -d $HOME_DIR/$NB_USER -l $NB_USER jovyan +
-     fi +
- +
-     # handle home and working directory if the username changed +
-     if [[ \\"$NB_USER\\" != \\"jovyan\\" ]]; then +
-         # changing username, make sure homedir exists +
-         # (it could be mounted, and we shouldn\\\'t create it if it already exists) +
-         if [[ ! -e \\"$HOME_DIR/$NB_USER\\" ]]; then +
-             echo \\"Relocating home dir to $HOME_DIR/$NB_USER\\" +
-             mv /home/jovyan \\"$HOME_DIR/$NB_USER\\" || ln -s /home/jovyan \\"$HOME_DIR/$NB_USER\\" +
-         else +
-             cd $HOME_DIR/$NB_USER +
-             rm -rf /home/jovyan || true +
-         fi +
-         # if workdir is in /home/jovyan, cd to $HOME_DIR/$NB_USER +
-         if [[ \\"$PWD/\\" == \\"/home/jovyan/\\"* ]]; then +
-             newcwd=\\"$HOME_DIR/$NB_USER/${PWD:13}\\" +
-             echo \\"Setting CWD to $newcwd\\" +
-             cd \\"$newcwd\\" +
-         fi +
-     fi +
- +
-     CHOWN_HOME=1 +
-     # Handle case where provisioned storage does not have the correct permissions by default +
-     # Ex: default NFS/EFS (no auto-uid/gid) +
-     if [[ \\"$CHOWN_HOME\\" == \\"1\\" || \\"$CHOWN_HOME\\" == \\\'yes\\\' ]]; then +
-         echo \\"Changing ownership of $HOME_DIR/$NB_USER to $NB_UID:$NB_GID with options \\\'${CHOWN_HOME_OPTS}\\\'\\" +
-         chown -R $CHOWN_HOME_OPTS $NB_UID:$NB_GID $HOME_DIR/$NB_USER +
-     fi +
-     if [ ! -z \\"$CHOWN_EXTRA\\" ]; then +
-         for extra_dir in $(echo $CHOWN_EXTRA | tr \\\',\\\' \\\' \\\'); do +
-             echo \\"Changing ownership of ${extra_dir} to $NB_UID:$NB_GID with options \\\'${CHOWN_EXTRA_OPTS}\\\'\\" +
-             chown -R $CHOWN_EXTRA_OPTS $NB_UID:$NB_GID $extra_dir +
-         done +
-     fi +
- +
-     # Change UID:GID of NB_USER to NB_UID:NB_GID if it does not match +
-     if [ \\"$NB_UID\\" != $(id -u $NB_USER) ] || [ \\"$NB_GID\\" != $(id -g $NB_USER) ]; then +
-         echo \\"Set user $NB_USER UID:GID to: $NB_UID:$NB_GID\\" +
-         if [ \\"$NB_GID\\" != $(id -g $NB_USER) ]; then +
-             groupadd -f -g $NB_GID -o ${NB_GROUP:-${NB_USER}} +
-         fi +
-         userdel $NB_USER +
-         useradd --home $HOME_DIR/$NB_USER -u $NB_UID -g $NB_GID -G 100 -l $NB_USER +
-     fi +
- +
-     # Enable sudo if requested +
-     if [[ \\"$GRANT_SUDO\\" == \\"1\\" || \\"$GRANT_SUDO\\" == \\\'yes\\\' ]]; then +
-         echo \\"Granting $NB_USER sudo access and appending $CONDA_DIR/bin to sudo PATH\\" +
-         echo \\"$NB_USER ALL=(ALL) NOPASSWD:ALL\\" > /etc/sudoers.d/notebook +
-     fi +
- +
-     # Add $CONDA_DIR/bin to sudo secure_path +
-     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 +
- +
-     # Exec the command as NB_USER with the PATH and the rest of +
-     # the environment preserved +
-     run-hooks /usr/local/bin/before-notebook.d +
-     echo \\"Executing the command: ${cmd[@]}\\" +
-     exec sudo -E -H -u $NB_USER PATH=$PATH XDG_CACHE_HOME=$HOME_DIR/$NB_USER/.cache​ PYTHONPATH=${PYTHONPATH:-} \\"${cmd[@]}\\" +
- else +
-     if [[ \\"$NB_UID\\" == \\"$(id -u jovyan 2>/dev/null)\\" && \\"$NB_GID\\" == \\"$(id -g jovyan 2>/dev/null)\\" ]]; then +
-         # User is not attempting to override user/group via environment +
-         # variables, but they could still have overridden the uid/gid that +
-         # container runs as. Check that the user has an entry in the passwd +
-         # file and if not add an entry. +
-         STATUS=0 && whoami &> /dev/null || STATUS=$? && true +
-         if [[ \\"$STATUS\\" != \\"0\\" ]]; then +
-             if [[ -w /etc/passwd ]]; then +
-                 echo \\"Adding passwd file entry for $(id -u)\\" +
-                 cat /etc/passwd | sed -e \\"s/^jovyan:/nayvoj:/\\" > /tmp/passwd +
-                 echo \\"jovyan:x:$(id -u):$(id -g):,,,:/home/jovyan:/bin/bash\\" >> /tmp/passwd +
-                 cat /tmp/passwd > /etc/passwd +
-                 rm /tmp/passwd +
-             else +
-                 echo \\\'Container must be run with group \\"root\\" to update passwd file\\\' +
-             fi +
-         fi +
- +
-         # Warn if the user isn\\\'t going to be able to write files to $HOME. +
-         if [[ ! -w /home/jovyan ]]; then +
-             echo \\\'Container must be run with group \\"users\\" to update files\\\' +
-         fi +
-     else +
-         # Warn if looks like user want to override uid/gid but hasn\\\'t +
-         # run the container as root. +
-         if [[ ! -z \\"$NB_UID\\" && \\"$NB_UID\\" != \\"$(id -u)\\" ]]; then +
-             echo \\\'Container must be run as root to set $NB_UID\\\' +
-         fi +
-         if [[ ! -z \\"$NB_GID\\" && \\"$NB_GID\\" != \\"$(id -g)\\" ]]; then +
-             echo \\\'Container must be run as root to set $NB_GID\\\' +
-         fi +
-     fi +
- +
-     # Warn if looks like user want to run in sudo mode but hasn\\\'t run +
-     # the container as root. +
-     if [[ \\"$GRANT_SUDO\\" == \\"1\\" || \\"$GRANT_SUDO\\" == \\\'yes\\\' ]]; then +
-         echo \\\'Container must be run as root to grant sudo permissions\\\' +
-     fi +
- +
-     # Execute the command +
-     run-hooks /usr/local/bin/before-notebook.d +
-     echo \\"Executing the command: ${cmd[@]}\\" +
-     exec \\"${cmd[@]}\\" +
- fi +
- +
-**** /usr/local/bin/start.sh.orig [#g40ccb19] +
- #!/bin/bash +
- # Copyright (c) Jupyter Development Team. +
- # Distributed under the terms of the Modified BSD License. +
- +
- set -e +
 # Exec the specified command or fall back on bash  # Exec the specified command or fall back on bash
 if [ $# -eq 0 ]; then  if [ $# -eq 0 ]; then
Line 175: Line 12:
     cmd=( "$@" )      cmd=( "$@" )
 fi  fi
 + 
 run-hooks () {  run-hooks () {
     # Source scripts or run executable files in a directory      # Source scripts or run executable files in a directory
Line 200: Line 37:
     echo "$0: done running hooks in $1"      echo "$0: done running hooks in $1"
 }  }
 + 
 run-hooks /usr/local/bin/start-notebook.d  run-hooks /usr/local/bin/start-notebook.d
 + 
 # Handle special flags if we're root  # Handle special flags if we're root
 if [ $(id -u) == 0 ] ; then  if [ $(id -u) == 0 ] ; then
 + 
     # Only attempt to change the jovyan username if it exists      # Only attempt to change the jovyan username if it exists
     if id jovyan &> /dev/null ; then      if id jovyan &> /dev/null ; then
Line 211: Line 48:
         usermod -d /home/$NB_USER -l $NB_USER jovyan          usermod -d /home/$NB_USER -l $NB_USER jovyan
     fi      fi
 + 
     # Handle case where provisioned storage does not have the correct permissions by default      # Handle case where provisioned storage does not have the correct permissions by default
     # Ex: default NFS/EFS (no auto-uid/gid)      # Ex: default NFS/EFS (no auto-uid/gid)
Line 224: Line 61:
         done          done
     fi      fi
 + 
     # handle home and working directory if the username changed      # handle home and working directory if the username changed
     if [[ "$NB_USER" != "jovyan" ]]; then      if [[ "$NB_USER" != "jovyan" ]]; then
Line 240: Line 77:
         fi          fi
     fi      fi
 + 
     # Change UID:GID of NB_USER to NB_UID:NB_GID if it does not match      # Change UID:GID of NB_USER to NB_UID:NB_GID if it does not match
     if [ "$NB_UID" != $(id -u $NB_USER) ] || [ "$NB_GID" != $(id -g $NB_USER) ]; then      if [ "$NB_UID" != $(id -u $NB_USER) ] || [ "$NB_GID" != $(id -g $NB_USER) ]; then
Line 250: Line 87:
         useradd --home /home/$NB_USER -u $NB_UID -g $NB_GID -G 100 -l $NB_USER          useradd --home /home/$NB_USER -u $NB_UID -g $NB_GID -G 100 -l $NB_USER
     fi      fi
 + 
     # Enable sudo if requested      # Enable sudo if requested
     if [[ "$GRANT_SUDO" == "1" || "$GRANT_SUDO" == 'yes' ]]; then      if [[ "$GRANT_SUDO" == "1" || "$GRANT_SUDO" == 'yes' ]]; then
Line 256: Line 93:
         echo "$NB_USER ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/notebook          echo "$NB_USER ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/notebook
     fi      fi
 + 
     # Add $CONDA_DIR/bin to sudo secure_path      # Add $CONDA_DIR/bin to sudo secure_path
     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      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
 + 
     # Exec the command as NB_USER with the PATH and the rest of      # Exec the command as NB_USER with the PATH and the rest of
     # the environment preserved      # the environment preserved
Line 283: Line 120:
             fi              fi
         fi          fi
 + 
         # Warn if the user isn't going to be able to write files to $HOME.          # Warn if the user isn't going to be able to write files to $HOME.
         if [[ ! -w /home/jovyan ]]; then          if [[ ! -w /home/jovyan ]]; then
Line 298: Line 135:
         fi          fi
     fi      fi
 + 
     # Warn if looks like user want to run in sudo mode but hasn't run      # Warn if looks like user want to run in sudo mode but hasn't run
     # the container as root.      # the container as root.
Line 304: Line 141:
         echo 'Container must be run as root to grant sudo permissions'          echo 'Container must be run as root to grant sudo permissions'
     fi      fi
 + 
     # Execute the command      # Execute the command
     run-hooks /usr/local/bin/before-notebook.d      run-hooks /usr/local/bin/before-notebook.d


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
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
Today

Who's Online

112 user(s) are online (22 user(s) are browsing xpwiki)

Members: 0
Guests: 112

more...

Access Counter

Today : 1315113151131511315113151
Yesterday : 1412914129141291412914129
Total : 2345876123458761234587612345876123458761234587612345876123458761
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com