Append $CONDA_DIR/bin to sudo secure_path

Retain behavior when su was used instead
This commit is contained in:
Peter Parente
2018-01-04 00:00:54 -05:00
parent 2c80cf3537
commit 6fa67cc500
2 changed files with 15 additions and 1 deletions

View File

@@ -48,8 +48,9 @@ if [ $(id -u) == 0 ] ; then
# Enable sudo if requested
if [[ "$GRANT_SUDO" == "1" || "$GRANT_SUDO" == 'yes' ]]; then
echo "Granting $NB_USER sudo access"
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
sed -ri "s#Defaults\s+secure_path=\"([^\"]+)\"#Defaults secure_path=\"\1:$CONDA_DIR/bin\"#" /etc/sudoers
fi
# Exec the command as NB_USER with the PATH and the rest of

View File

@@ -71,6 +71,19 @@ def test_sudo(container):
assert rv == 0
assert 'uid=0(root)' in c.logs(stdout=True).decode('utf-8')
def test_sudo_path(container):
"""Container should include /opt/conda/bin in the sudo secure_path."""
c = container.run(
tty=True,
user='root',
environment=['GRANT_SUDO=yes'],
command=['start.sh', 'sudo', 'jupyter', '--version']
)
rv = c.wait(timeout=10)
assert rv == 0
def test_group_add(container, tmpdir):
"""Container should run with the specified uid, gid, and secondary
group.