kopia lustrzana https://github.com/jupyterhub/repo2docker
Revert "[MRG] Do not try to build the image with root as the primary user."
rodzic
4514ba31ec
commit
e66f0af23c
|
@ -16,8 +16,6 @@ API changes
|
||||||
|
|
||||||
Bug fixes
|
Bug fixes
|
||||||
---------
|
---------
|
||||||
- Prevent building the image as root if --user-id and --user-name are not specified
|
|
||||||
in :pr:`676` by :user:`Xarthisius`.
|
|
||||||
|
|
||||||
|
|
||||||
Version 0.9.0
|
Version 0.9.0
|
||||||
|
|
|
@ -8,7 +8,6 @@ Usage:
|
||||||
python -m repo2docker https://github.com/you/your-repo
|
python -m repo2docker https://github.com/you/your-repo
|
||||||
"""
|
"""
|
||||||
import argparse
|
import argparse
|
||||||
import errno
|
|
||||||
import json
|
import json
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
|
@ -651,19 +650,6 @@ class Repo2Docker(Application):
|
||||||
extra=dict(phase='building'))
|
extra=dict(phase='building'))
|
||||||
|
|
||||||
if not self.dry_run:
|
if not self.dry_run:
|
||||||
if os.geteuid() == 0:
|
|
||||||
self.log.error(
|
|
||||||
'Root as the primary user in the image is not permitted.\n'
|
|
||||||
)
|
|
||||||
self.log.info(
|
|
||||||
"The uid and the username of the user invoking repo2docker "
|
|
||||||
"is used to create a mirror account in the image by default. "
|
|
||||||
"To override that behavior pass --user-id <numeric_id> and "
|
|
||||||
" --user-name <string> to repo2docker.\n"
|
|
||||||
"Please see repo2docker --help for more details.\n"
|
|
||||||
)
|
|
||||||
sys.exit(errno.EPERM)
|
|
||||||
|
|
||||||
build_args = {
|
build_args = {
|
||||||
'NB_USER': self.user_name,
|
'NB_USER': self.user_name,
|
||||||
'NB_UID': str(self.user_id),
|
'NB_UID': str(self.user_id),
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
import errno
|
|
||||||
import pytest
|
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
from unittest.mock import patch
|
from unittest.mock import patch
|
||||||
|
|
||||||
|
@ -104,14 +102,3 @@ def test_run_kwargs(repo_with_content):
|
||||||
args, kwargs = containers.run.call_args
|
args, kwargs = containers.run.call_args
|
||||||
assert 'somekey' in kwargs
|
assert 'somekey' in kwargs
|
||||||
assert kwargs['somekey'] == "somevalue"
|
assert kwargs['somekey'] == "somevalue"
|
||||||
|
|
||||||
|
|
||||||
def test_root_not_allowed():
|
|
||||||
with TemporaryDirectory() as src, patch('os.geteuid') as geteuid:
|
|
||||||
geteuid.return_value = 0
|
|
||||||
app = Repo2Docker()
|
|
||||||
argv = [src]
|
|
||||||
app = make_r2d(argv)
|
|
||||||
with pytest.raises(SystemExit) as exc:
|
|
||||||
app.build()
|
|
||||||
assert exc.code == errno.EPERM
|
|
||||||
|
|
Ładowanie…
Reference in New Issue