flagflag  If you want to see English page, please click "English" Button at Left.
3: 2021-07-11 (日) 23:23:46 iseki ソース 4: 2021-07-13 (火) 11:24:06 iseki ソース
Line 1: Line 1:
-**** /usr/local/bin/start.sh (改) [#l51f1886]+**** /usr/local/bin/start.sh (改) [#t07ce283] 
 #!/bin/bash  #!/bin/bash
 # Copyright (c) Jupyter Development Team.  # Copyright (c) Jupyter Development Team.
Line 8: Line 9:
 # 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
-     cmd=( "bash" )+     cmd=( \\"bash\\" )
 else  else
-     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
-     if [[ ! -d "$1" ]] ; then+     if [[ ! -d \\"$1\\" ]] ; then
         return          return
     fi      fi
-     echo "$0: running hooks in $1" +     echo \\"$0: running hooks in $1\\
-     for f in "$1/"*; do +     for f in \\"$1/\\"*; do 
-         case "$f" in+         case \\"$f\\" in
             *.sh)              *.sh)
-                 echo "$0: running $f" +                 echo \\"$0: running $f\\
-                 source "$f"+                 source \\"$f\\"
                 ;;                  ;;
             *)              *)
-                 if [[ -x "$f" ]] ; then +                 if [[ -x \\"$f\\" ]] ; then 
-                     echo "$0: running $f" +                     echo \\"$0: running $f\\
-                     "$f"+                     \\"$f\\"
                 else                  else
-                     echo "$0: ignoring $f"+                     echo \\"$0: ignoring $f\\"
                 fi                  fi
                 ;;                  ;;
         esac          esac
     done      done
-     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
     #      #
-     HOME_DIR="/home" +     HOME_DIR=\\"/home\\
-     if [[ "$NB_GROUP" != "" ]]; then +     if [[ \\"$NB_GROUP\\" != \\"\\" ]]; then 
-         HOME_DIR="$HOME_DIR/$NB_GROUP" +         HOME_DIR=\\"$HOME_DIR/$NB_GROUP\\
-         if [[ ! -e "$HOME_DIR" ]]; then+         if [[ ! -e \\"$HOME_DIR\\" ]]; then
             mkdir $HOME_DIR              mkdir $HOME_DIR
         fi          fi
Line 54: Line 55:
     # 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
-         echo "Set username to: $NB_USER"+         echo \\"Set username to: $NB_USER\\"
         usermod -d $HOME_DIR/$NB_USER -l $NB_USER jovyan          usermod -d $HOME_DIR/$NB_USER -l $NB_USER jovyan
     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
         # changing username, make sure homedir exists          # changing username, make sure homedir exists
-         # (it could be mounted, and we shouldn't create it if it already exists) +         # (it could be mounted, and we shouldn\\\'t create it if it already exists) 
-         if [[ ! -e "$HOME_DIR/$NB_USER" ]]; then +         if [[ ! -e \\"$HOME_DIR/$NB_USER\\" ]]; then 
-             echo "Relocating home dir to $HOME_DIR/$NB_USER" +             echo \\"Relocating home dir to $HOME_DIR/$NB_USER\\
-             mv /home/jovyan "$HOME_DIR/$NB_USER" || ln -s /home/jovyan "$HOME_DIR/$NB_USER"+             mv /home/jovyan \\"$HOME_DIR/$NB_USER\\" || ln -s /home/jovyan \\"$HOME_DIR/$NB_USER\\"
         else          else
             cd $HOME_DIR/$NB_USER              cd $HOME_DIR/$NB_USER
 +             rm -rf /home/jovyan || true
         fi          fi
         # if workdir is in /home/jovyan, cd to $HOME_DIR/$NB_USER          # if workdir is in /home/jovyan, cd to $HOME_DIR/$NB_USER
-         if [[ "$PWD/" == "/home/jovyan/"* ]]; then +         if [[ \\"$PWD/\\" == \\"/home/jovyan/\\"* ]]; then 
-             newcwd="$HOME_DIR/$NB_USER/${PWD:13}" +             newcwd=\\"$HOME_DIR/$NB_USER/${PWD:13}\\
-             echo "Setting CWD to $newcwd" +             echo \\"Setting CWD to $newcwd\\
-             cd "$newcwd"+             cd \\"$newcwd\\"
         fi          fi
     fi      fi
Line 79: Line 81:
     # 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)
-     if [[ "$CHOWN_HOME" == "1" || "$CHOWN_HOME" == 'yes' ]]; then +     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}'"+         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          chown -R $CHOWN_HOME_OPTS $NB_UID:$NB_GID $HOME_DIR/$NB_USER
     fi      fi
-     if [ ! -z "$CHOWN_EXTRA" ]; then +     if [ ! -z \\"$CHOWN_EXTRA\\" ]; then 
-         for extra_dir in $(echo $CHOWN_EXTRA | tr ',' ' '); do +         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}'"+             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              chown -R $CHOWN_EXTRA_OPTS $NB_UID:$NB_GID $extra_dir
         done          done
Line 91: Line 93:
     # 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 
-         echo "Set user $NB_USER UID:GID to: $NB_UID:$NB_GID" +         echo \\"Set user $NB_USER UID:GID to: $NB_UID:$NB_GID\\
-         if [ "$NB_GID" != $(id -g $NB_USER) ]; then+         if [ \\"$NB_GID\\" != $(id -g $NB_USER) ]; then
             groupadd -f -g $NB_GID -o ${NB_GROUP:-${NB_USER}}              groupadd -f -g $NB_GID -o ${NB_GROUP:-${NB_USER}}
         fi          fi
Line 101: Line 103:
     # Enable sudo if requested      # Enable sudo if requested
-     if [[ "$GRANT_SUDO" == "1" || "$GRANT_SUDO" == 'yes' ]]; then +     if [[ \\"$GRANT_SUDO\\" == \\"1\\" || \\"$GRANT_SUDO\\" == \\\'yes\\\' ]]; then 
-         echo "Granting $NB_USER sudo access and appending $CONDA_DIR/bin to sudo PATH" +         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+         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
     run-hooks /usr/local/bin/before-notebook.d      run-hooks /usr/local/bin/before-notebook.d
-     echo "Executing the command: ${cmd[@]}" +     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[@]}"+     exec sudo -E -H -u $NB_USER PATH=$PATH XDG_CACHE_HOME=$HOME_DIR/$NB_USER/.cache​ PYTHONPATH=${PYTHONPATH:-} \\"${cmd[@]}\\"
 else  else
-     if [[ "$NB_UID" == "$(id -u jovyan 2>/dev/null)" && "$NB_GID" == "$(id -g jovyan 2>/dev/null)" ]]; then+     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          # User is not attempting to override user/group via environment
         # variables, but they could still have overridden the uid/gid that          # variables, but they could still have overridden the uid/gid that
Line 121: Line 123:
         # file and if not add an entry.          # file and if not add an entry.
         STATUS=0 && whoami &> /dev/null || STATUS=$? && true          STATUS=0 && whoami &> /dev/null || STATUS=$? && true
-         if [[ "$STATUS" != "0" ]]; then+         if [[ \\"$STATUS\\" != \\"0\\" ]]; then
             if [[ -w /etc/passwd ]]; then              if [[ -w /etc/passwd ]]; then
-                 echo "Adding passwd file entry for $(id -u)" +                 echo \\"Adding passwd file entry for $(id -u)\\
-                 cat /etc/passwd | sed -e "s/^jovyan:/nayvoj:/" > /tmp/passwd +                 cat /etc/passwd | sed -e \\"s/^jovyan:/nayvoj:/\\" > /tmp/passwd 
-                 echo "jovyan:x:$(id -u):$(id -g):,,,:/home/jovyan:/bin/bash" >> /tmp/passwd+                 echo \\"jovyan:x:$(id -u):$(id -g):,,,:/home/jovyan:/bin/bash\\" >> /tmp/passwd
                 cat /tmp/passwd > /etc/passwd                  cat /tmp/passwd > /etc/passwd
                 rm /tmp/passwd                  rm /tmp/passwd
             else              else
-                 echo 'Container must be run with group "root" to update passwd file'+                 echo \\\'Container must be run with group \\"root\\" to update passwd file\\\'
             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
-             echo 'Container must be run with group "users" to update files'+             echo \\\'Container must be run with group \\"users\\" to update files\\\'
         fi          fi
     else      else
-         # Warn if looks like user want to override uid/gid but hasn't+         # Warn if looks like user want to override uid/gid but hasn\\\'t
         # run the container as root.          # run the container as root.
-         if [[ ! -z "$NB_UID" && "$NB_UID" != "$(id -u)" ]]; then +         if [[ ! -z \\"$NB_UID\\" && \\"$NB_UID\\" != \\"$(id -u)\\" ]]; then 
-             echo 'Container must be run as root to set $NB_UID'+             echo \\\'Container must be run as root to set $NB_UID\\\'
         fi          fi
-         if [[ ! -z "$NB_GID" && "$NB_GID" != "$(id -g)" ]]; then +         if [[ ! -z \\"$NB_GID\\" && \\"$NB_GID\\" != \\"$(id -g)\\" ]]; then 
-             echo 'Container must be run as root to set $NB_GID'+             echo \\\'Container must be run as root to set $NB_GID\\\'
         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.
-     if [[ "$GRANT_SUDO" == "1" || "$GRANT_SUDO" == 'yes' ]]; then +     if [[ \\"$GRANT_SUDO\\" == \\"1\\" || \\"$GRANT_SUDO\\" == \\\'yes\\\' ]]; then 
-         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
-     echo "Executing the command: ${cmd[@]}" +     echo \\"Executing the command: ${cmd[@]}\\
-     exec "${cmd[@]}"+     exec \\"${cmd[@]}\\"
 fi  fi


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 5月翌月
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
<今日>

オンライン状況

103 人のユーザが現在オンラインです。 (22 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 103

もっと...

アクセスカウンタ

今日 : 1221412214122141221412214
昨日 : 1412914129141291412914129
総計 : 2345782423457824234578242345782423457824234578242345782423457824
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com