Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
lxc
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
lxc
Commits
6e42a5ea
Commit
6e42a5ea
authored
Mar 15, 2017
by
Stéphane Graber
Committed by
GitHub
Mar 15, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1465 from geaaru/lxc-sabayon-unpriv
[lxc-sabayon] Disable _unprivileged_shift_owner for create unprivileg…
parents
bb2f4389
3d288bbe
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
28 additions
and
9 deletions
+28
-9
sabayon.common.conf.in
config/templates/sabayon.common.conf.in
+2
-0
lxc-sabayon.in
templates/lxc-sabayon.in
+26
-9
No files found.
config/templates/sabayon.common.conf.in
View file @
6e42a5ea
...
...
@@ -54,6 +54,8 @@ lxc.cgroup.devices.allow = c 1:9 rwm
#lxc.cgroup.devices.allow = c 10:228 rwm
## kvm
#lxc.cgroup.devices.allow = c 10:232 rwm
## /dev/mem
#lxc.cgroup.devices.allow = c 1:1 rwm
# If something doesn't work, try to comment this out.
# Dropping sys_admin disables container root from doing a lot of things
...
...
templates/lxc-sabayon.in
View file @
6e42a5ea
...
...
@@ -66,6 +66,7 @@ rootfs=
unprivileged
=
false
mapped_uid
=
mapped_gid
=
flush_owner
=
false
#======================== Helper Functions ========================#
...
...
@@ -81,12 +82,15 @@ Template options:
-d, --debug Run this script in a debug mode (set -x and wget w/o -q).
-m URL --mirror=URL The Sabayon mirror to use; defaults to random mirror.
-u, --unprivileged Tuning of rootfs for unprivileged containers.
Are needed --mapped-gid and --mapped-uid options.
-r, --release Identify release to use. Default is DAILY.
--mapped-gid Group Id to use on unprivileged container
(based of value present on file /etc/subgid).
--mapped-uid User Id to use on unprivileged container
(based of value present on file /etc/subuid)
--flush-owner Only for directly creation of unprivileged containers
through lxc-create command. Execute fuidshift command.
Require --mapped-gid,--mapped-uid and --unprivileged
options.
Environment variables:
RELEASE Release version of Sabayon. Default is
${
RELEASE
}
.
...
...
@@ -281,13 +285,18 @@ configure_container() {
local
unprivileged_options
=
""
if
[[
$unprivileged
&&
$unprivileged
==
true
]]
;
then
unprivileged_options
=
"
if
[[
$flush_owner
==
true
]]
;
then
unprivileged_options
=
"
lxc.id_map = u 0
${
mapped_uid
}
65536
lxc.id_map = g 0
${
mapped_gid
}
65536
"
fi
unprivileged_options
=
"
$unprivileged_options
# Include common configuration.
lxc.include =
$LXC_TEMPLATE_CONFIG
/sabayon.userns.conf
"
else
...
...
@@ -332,7 +341,7 @@ parse_cmdline() {
# Parse command options.
local
short_options
=
"a:dm:n:p:r:hu"
local
long_options
=
"arch:,debug,mirror:,name:,path:,release:,rootfs:,mapped-uid:,mapped-gid:,help"
local
long_options
=
"arch:,debug,mirror:,name:,path:,release:,rootfs:,mapped-uid:,mapped-gid:,
flush-owner,
help"
options
=
$(
getopt
-u
-q
-a
-o
"
$short_options
"
-l
"
$long_options
"
--
"
$@
"
)
...
...
@@ -383,6 +392,9 @@ parse_cmdline() {
mapped_gid
=
$2
shift
;;
--flush-owner
)
flush_owner
=
true
;;
--
)
break
;;
...
...
@@ -415,12 +427,15 @@ parse_cmdline() {
arch
=
$(
parse_arch
"
$arch
"
)
\
||
die 1
"Unsupported architecture:
$arch
"
[[
$unprivileged
&&
$unprivileged
==
true
&&
-z
"
$mapped_uid
"
]]
&&
\
[[
$unprivileged
==
true
&&
$flush_owner
==
true
&&
-z
"
$mapped_uid
"
]]
&&
\
die 1
'Missing required option --mapped-uid with --unprivileged option'
[[
$unprivileged
&&
$unprivileged
==
true
&&
-z
"
$mapped_gid
"
]]
&&
\
[[
$unprivileged
==
true
&&
$flush_owner
==
true
&&
-z
"
$mapped_gid
"
]]
&&
\
die 1
'Missing required option --mapped-gid with --unprivileged option'
[[
$flush_owner
==
true
&&
$unprivileged
==
false
]]
&&
\
die 1
'flush-owner require --unprivileged option'
return
0
}
...
...
@@ -441,7 +456,7 @@ main () {
DEBUG
=
"
$debug
"
MIRROR_URL
=
"
${
mirror_url
:-$(
random_mirror_url
)}
"
einfo
"Use arch =
$arch
, mirror_url =
$MIRROR_URL
, path =
$path
, name =
$name
, release =
$release
, unprivileged =
$unprivileged
, rootfs =
$rootfs
, mapped_uid =
$mapped_uid
, mapped_gid =
$mapped_gid
"
einfo
"Use arch =
$arch
, mirror_url =
$MIRROR_URL
, path =
$path
, name =
$name
, release =
$release
, unprivileged =
$unprivileged
, rootfs =
$rootfs
, mapped_uid =
$mapped_uid
, mapped_gid =
$mapped_gid
, flush_owner =
$flush_owner
"
[
"
$debug
"
=
'yes'
]
&&
set
-x
...
...
@@ -463,9 +478,11 @@ main () {
systemd_container_tuning
# Fix container for unprivileged mode.
if
[[
$unprivileged
&&
$unprivileged
==
true
]]
;
then
if
[[
$unprivileged
==
true
]]
;
then
unprivileged_rootfs
unprivileged_shift_owner
if
[[
$flush_owner
==
true
]]
;
then
unprivileged_shift_owner
fi
fi
return
0
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment