What to put in /etc/subu,gid to run unprivileged containers?
Clash Royale CLAN TAG#URR8PPP
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm trying to run an unprivileged Vagrant box using LXD, but I can't get the ID mappings to work.
First try:
$ sudo rm /etc/subu,gid
$ echo "root:1000000:65536" | sudo tee /etc/subu,gid
root:1000000:65536
$ sudo systemctl restart lxd
$ vagrant destroy -f
$ vagrant up
…
==> default: Machine has not been created yet, starting...
==> default: The host machine does not support LXD synced folders.
==> default:
==> default: To use this feature, you must first configure ID mappings for the
==> default: current user in /etc/subuid and /etc/subgid. For more information,
==> default: refer to `vagrant lxd shadow --help`.
==> default:
==> default: Importing LXC image...
==> default: Waiting for machine to boot. This may take a few minutes...
/home/username/.vagrant.d/gems/2.6.1/gems/vagrant-lxd-0.3.4/lib/vagrant-lxd/driver.rb:429:in `block (2 levels) in ipv4_address': undefined method `' for nil:NilClass (NoMethodError)
…
OK, let's follow the advice:
$ vagrant lxd shadow --help
In order to use shared folders, you must first add the effective user
and group ID (which are currently 1000 and 1000) to the host machine's
subuid(5) and subgid(5) files:
$ echo root:1000:1 | sudo tee -a /etc/subuid
$ echo root:1000:1 | sudo tee -a /etc/subgid
For more information about these commands, and user/group ID mapping in
general, refer to this article:
https://insights.ubuntu.com/2017/06/15/custom-user-mappings-in-lxd-containers/
$ sudo rm /etc/subu,gid
$ echo root:1000:1 | sudo tee -a /etc/subuid
root:1000:1
$ echo root:1000:1 | sudo tee -a /etc/subgid
root:1000:1
$ sudo systemctl restart lxd
$ vagrant destroy -f
$ vagrant up
…
==> default: Waiting for machine to boot. This may take a few minutes...
/home/username/.vagrant.d/gems/2.6.1/gems/vagrant-lxd-0.3.4/lib/vagrant-lxd/driver.rb:429:in `block (2 levels) in ipv4_address'Root: undefined method `' for nil:NilClass (NoMethodError)
sharee
I tried the same as the previous but a count of 1000 instead of just 1, and got the following result:
The underlying error message was: Create container: Create LXC container: LXD doesn't have a uid/gid allocation. In this mode, only privileged containers are supported
Now what can I try? What nothing seems to explain is which username/UID should be in the first column - the user running the Vagrant command? The UID of the user inside the container? Always "root", even when running unprivileged containers? Ditto for the second and third columns. Some sources seem to think that the second number should start at 100,000 or 1,000,000. Some sources put 1 for the third number and others put 65,536. Even man subuid
doesn't really explain how and why it should be used for people unfamiliar with "subordinate user IDs."
vagrant lxd vagrant-lxd
add a comment |
I'm trying to run an unprivileged Vagrant box using LXD, but I can't get the ID mappings to work.
First try:
$ sudo rm /etc/subu,gid
$ echo "root:1000000:65536" | sudo tee /etc/subu,gid
root:1000000:65536
$ sudo systemctl restart lxd
$ vagrant destroy -f
$ vagrant up
…
==> default: Machine has not been created yet, starting...
==> default: The host machine does not support LXD synced folders.
==> default:
==> default: To use this feature, you must first configure ID mappings for the
==> default: current user in /etc/subuid and /etc/subgid. For more information,
==> default: refer to `vagrant lxd shadow --help`.
==> default:
==> default: Importing LXC image...
==> default: Waiting for machine to boot. This may take a few minutes...
/home/username/.vagrant.d/gems/2.6.1/gems/vagrant-lxd-0.3.4/lib/vagrant-lxd/driver.rb:429:in `block (2 levels) in ipv4_address': undefined method `' for nil:NilClass (NoMethodError)
…
OK, let's follow the advice:
$ vagrant lxd shadow --help
In order to use shared folders, you must first add the effective user
and group ID (which are currently 1000 and 1000) to the host machine's
subuid(5) and subgid(5) files:
$ echo root:1000:1 | sudo tee -a /etc/subuid
$ echo root:1000:1 | sudo tee -a /etc/subgid
For more information about these commands, and user/group ID mapping in
general, refer to this article:
https://insights.ubuntu.com/2017/06/15/custom-user-mappings-in-lxd-containers/
$ sudo rm /etc/subu,gid
$ echo root:1000:1 | sudo tee -a /etc/subuid
root:1000:1
$ echo root:1000:1 | sudo tee -a /etc/subgid
root:1000:1
$ sudo systemctl restart lxd
$ vagrant destroy -f
$ vagrant up
…
==> default: Waiting for machine to boot. This may take a few minutes...
/home/username/.vagrant.d/gems/2.6.1/gems/vagrant-lxd-0.3.4/lib/vagrant-lxd/driver.rb:429:in `block (2 levels) in ipv4_address'Root: undefined method `' for nil:NilClass (NoMethodError)
sharee
I tried the same as the previous but a count of 1000 instead of just 1, and got the following result:
The underlying error message was: Create container: Create LXC container: LXD doesn't have a uid/gid allocation. In this mode, only privileged containers are supported
Now what can I try? What nothing seems to explain is which username/UID should be in the first column - the user running the Vagrant command? The UID of the user inside the container? Always "root", even when running unprivileged containers? Ditto for the second and third columns. Some sources seem to think that the second number should start at 100,000 or 1,000,000. Some sources put 1 for the third number and others put 65,536. Even man subuid
doesn't really explain how and why it should be used for people unfamiliar with "subordinate user IDs."
vagrant lxd vagrant-lxd
add a comment |
I'm trying to run an unprivileged Vagrant box using LXD, but I can't get the ID mappings to work.
First try:
$ sudo rm /etc/subu,gid
$ echo "root:1000000:65536" | sudo tee /etc/subu,gid
root:1000000:65536
$ sudo systemctl restart lxd
$ vagrant destroy -f
$ vagrant up
…
==> default: Machine has not been created yet, starting...
==> default: The host machine does not support LXD synced folders.
==> default:
==> default: To use this feature, you must first configure ID mappings for the
==> default: current user in /etc/subuid and /etc/subgid. For more information,
==> default: refer to `vagrant lxd shadow --help`.
==> default:
==> default: Importing LXC image...
==> default: Waiting for machine to boot. This may take a few minutes...
/home/username/.vagrant.d/gems/2.6.1/gems/vagrant-lxd-0.3.4/lib/vagrant-lxd/driver.rb:429:in `block (2 levels) in ipv4_address': undefined method `' for nil:NilClass (NoMethodError)
…
OK, let's follow the advice:
$ vagrant lxd shadow --help
In order to use shared folders, you must first add the effective user
and group ID (which are currently 1000 and 1000) to the host machine's
subuid(5) and subgid(5) files:
$ echo root:1000:1 | sudo tee -a /etc/subuid
$ echo root:1000:1 | sudo tee -a /etc/subgid
For more information about these commands, and user/group ID mapping in
general, refer to this article:
https://insights.ubuntu.com/2017/06/15/custom-user-mappings-in-lxd-containers/
$ sudo rm /etc/subu,gid
$ echo root:1000:1 | sudo tee -a /etc/subuid
root:1000:1
$ echo root:1000:1 | sudo tee -a /etc/subgid
root:1000:1
$ sudo systemctl restart lxd
$ vagrant destroy -f
$ vagrant up
…
==> default: Waiting for machine to boot. This may take a few minutes...
/home/username/.vagrant.d/gems/2.6.1/gems/vagrant-lxd-0.3.4/lib/vagrant-lxd/driver.rb:429:in `block (2 levels) in ipv4_address'Root: undefined method `' for nil:NilClass (NoMethodError)
sharee
I tried the same as the previous but a count of 1000 instead of just 1, and got the following result:
The underlying error message was: Create container: Create LXC container: LXD doesn't have a uid/gid allocation. In this mode, only privileged containers are supported
Now what can I try? What nothing seems to explain is which username/UID should be in the first column - the user running the Vagrant command? The UID of the user inside the container? Always "root", even when running unprivileged containers? Ditto for the second and third columns. Some sources seem to think that the second number should start at 100,000 or 1,000,000. Some sources put 1 for the third number and others put 65,536. Even man subuid
doesn't really explain how and why it should be used for people unfamiliar with "subordinate user IDs."
vagrant lxd vagrant-lxd
I'm trying to run an unprivileged Vagrant box using LXD, but I can't get the ID mappings to work.
First try:
$ sudo rm /etc/subu,gid
$ echo "root:1000000:65536" | sudo tee /etc/subu,gid
root:1000000:65536
$ sudo systemctl restart lxd
$ vagrant destroy -f
$ vagrant up
…
==> default: Machine has not been created yet, starting...
==> default: The host machine does not support LXD synced folders.
==> default:
==> default: To use this feature, you must first configure ID mappings for the
==> default: current user in /etc/subuid and /etc/subgid. For more information,
==> default: refer to `vagrant lxd shadow --help`.
==> default:
==> default: Importing LXC image...
==> default: Waiting for machine to boot. This may take a few minutes...
/home/username/.vagrant.d/gems/2.6.1/gems/vagrant-lxd-0.3.4/lib/vagrant-lxd/driver.rb:429:in `block (2 levels) in ipv4_address': undefined method `' for nil:NilClass (NoMethodError)
…
OK, let's follow the advice:
$ vagrant lxd shadow --help
In order to use shared folders, you must first add the effective user
and group ID (which are currently 1000 and 1000) to the host machine's
subuid(5) and subgid(5) files:
$ echo root:1000:1 | sudo tee -a /etc/subuid
$ echo root:1000:1 | sudo tee -a /etc/subgid
For more information about these commands, and user/group ID mapping in
general, refer to this article:
https://insights.ubuntu.com/2017/06/15/custom-user-mappings-in-lxd-containers/
$ sudo rm /etc/subu,gid
$ echo root:1000:1 | sudo tee -a /etc/subuid
root:1000:1
$ echo root:1000:1 | sudo tee -a /etc/subgid
root:1000:1
$ sudo systemctl restart lxd
$ vagrant destroy -f
$ vagrant up
…
==> default: Waiting for machine to boot. This may take a few minutes...
/home/username/.vagrant.d/gems/2.6.1/gems/vagrant-lxd-0.3.4/lib/vagrant-lxd/driver.rb:429:in `block (2 levels) in ipv4_address'Root: undefined method `' for nil:NilClass (NoMethodError)
sharee
I tried the same as the previous but a count of 1000 instead of just 1, and got the following result:
The underlying error message was: Create container: Create LXC container: LXD doesn't have a uid/gid allocation. In this mode, only privileged containers are supported
Now what can I try? What nothing seems to explain is which username/UID should be in the first column - the user running the Vagrant command? The UID of the user inside the container? Always "root", even when running unprivileged containers? Ditto for the second and third columns. Some sources seem to think that the second number should start at 100,000 or 1,000,000. Some sources put 1 for the third number and others put 65,536. Even man subuid
doesn't really explain how and why it should be used for people unfamiliar with "subordinate user IDs."
vagrant lxd vagrant-lxd
vagrant lxd vagrant-lxd
edited Mar 8 at 12:29
l0b0
asked Mar 8 at 12:20
l0b0l0b0
28.8k19122249
28.8k19122249
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f505123%2fwhat-to-put-in-etc-subu-gid-to-run-unprivileged-containers%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f505123%2fwhat-to-put-in-etc-subu-gid-to-run-unprivileged-containers%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown