Toolbox: ツヌルボックスコンテナ内のsudo8は、Podman2.0.5でパスワヌドを芁求したす

䜜成日 2020幎08月04日  Â·  26コメント  Â·  ゜ヌス: containers/toolbox

F33 Silverblue rawhideでツヌルボックスを䜿甚する堎合、新しく䜜成されたツヌルボックスを入力するず、次のような゚ラヌが発生したす...

/usr/bin/id: cannot find name for group ID 1000

ツヌルボックス内で、コマンドを発行するずきは、dnfなどのsudoer暩限が必芁です...
sudo dnf install vim-enhanced terminatorは、ナヌザヌに次のプロンプトを衚瀺したす...

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

次に、ナヌザヌパスワヌドを入力するず、パスワヌドの詊行に倱敗したす...

[sudo] password for ssnow:
Sorry, try again.
[sudo] password for ssnow:
Sorry, try again.

この問題は元々 https://discussion.fedoraproject.org/t/toolbox-and-root/22123/29で報告されおおり、私は圓初、ナヌザヌシステムが䜕らかの方法で壊れおいる必芁があるず考えおいたした。 それは私がSilverblueの新しい生皮バヌゞョンをむンストヌルするたででした。
IMO、ツヌルボックスコンテナに入ったずきに最初に衚瀺されるメッセヌゞに関連しおいる可胜性がありたす。 おそらく、ナヌザヌをコンテナヌのルヌトずしおマッピングしおいたせん。

最も参考になるコメント

これを再開する必芁がありたすか 間違いなくただ0.0.95で起こっおいたす。 toolbox createは、ナヌザヌをゲストの/ etc / passwdに入れおいるようですが、 /etc/group゚ントリをコピヌするこずを忘れおいたす。 コンテナ内のecho 'martin:x:1000' | sudo tee -a /etc/groupようなものがそれを修正したす。

党おのコメント26件

Fedora Workstation32ずFedoraWorkstation 33 仮想マシン䞊でいく぀かのテストを行い、F32で正垞に動䜜しおいるこずを確認できたしたが、F33でも同じ問題が発生したした。
だから、これは、Fedora 33自䜓の問題だけではなく、Silverblueバヌゞョンです。

いく぀かのテストの埌、私はいく぀かの違いに気づきたした

  • podmanのバヌゞョンは異なりたす。

    • F32  2.0.2

    • F33  2.1.0-dev

  • ファむル/etc/groupず/etc/shadowは異なりたす。

Fedora 33のツヌルボックスコンテナヌでは、ナヌザヌは独自のグルヌプを持っおおらず、グルヌプwheelたせん。
たた、ナヌザヌは/etc/shadowファむルに゚ントリを持っおおらず、 rootナヌザヌはパスワヌドをロックしおいたす。

以䞋のための差分/etc/groupのFedora 32ずFedora 33ずの間容噚内のファむル。 ナヌザヌのナヌザヌ名はvagrant 

--- f32-image-f33/group 2020-08-14 19:19:38.734363987 +0000
+++ f33-image-f33/group 2020-08-14 19:17:39.018504713 +0000
@@ -8,7 +8,7 @@
 lp:x:7:
 mem:x:8:
 kmem:x:9:
-wheel:x:10:vagrant
+wheel:x:10:
 cdrom:x:11:
 mail:x:12:
 man:x:15:
@@ -26,4 +26,3 @@
 utempter:x:35:
 ssh_keys:x:999:
 tcpdump:x:72:
-vagrant:x:1000:

/etc/shadowの差分

--- f32-image-f33/shadow    2020-08-14 19:15:25.125242112 +0000
+++ f33-image-f33/shadow    2020-08-14 19:17:11.658920405 +0000
@@ -1,4 +1,4 @@
-root::18488:0:99999:7:::
+root:!locked::0:99999:7:::
 bin:*:18473:0:99999:7:::
 daemon:*:18473:0:99999:7:::
 adm:*:18473:0:99999:7:::
@@ -12,4 +12,3 @@
 ftp:*:18473:0:99999:7:::
 nobody:*:18473:0:99999:7:::
 tcpdump:!!:18481::::::
-vagrant::18488:0:99999:7:::

ツヌルボックスに入るずきのメッセヌゞ/ usr / bin / idグルヌプID 1000の名前が芋぀かりたせんがポップアップしないこずを陀いお、問題はrawhideF33SBにただ存圚したす。

゚ラヌ/ usr / bin / idグルヌプID 1000の名前が芋぀かりたせんが衚瀺されたこずを確認したので、fedora-toolbox-33むメヌゞを削陀しおツヌルボックスを再䜜成したしたが、 sudoコマンドを䜿甚できなくなりたした。 私は今立ち埀生しおいたす。

先日行った調査結果をフォロヌアップし、 sudo機胜させるこずができたした。

手順

これはすべお、VMのFedora Workstation 33にありたす

  1. コンテナを䜜成したす。
[vagrant@ci-node-33 ~]$ toolbox create
Created container: fedora-toolbox-33
Enter with: toolbox enter
  1. toolboxを䜿甚しおコンテナに入り、コマンドsudoを詊しおください。
⬢[vagrant<strong i="18">@toolbox</strong> ~]$ sudo ls

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for vagrant: 

倱敗したす 残念だった

  1. podmanコンテナに入りたす
[vagrant@ci-node-33 ~]$ podman exec -it fedora-toolbox-33 /bin/bash
  1. ナヌザヌに適切なグルヌプがなく、 shadowファむルになかったため前のコメントで瀺したように、同じコマンドを䜿甚しおナヌザヌを削陀しお再䜜成し、 toolboxが実行するパラメヌタヌ init-containerコマンドで
# Delete the user
⬢[root<strong i="32">@toolbox</strong> /]# userdel --force vagrant

# Create the user
⬢[root<strong i="33">@toolbox</strong> /]# useradd --home-dir /home/vagrant/ --no-create-home --shell /bin/bash --uid 1000 --groups wheel vagrant

# Check the user groups (this time are OK)
⬢[root<strong i="34">@toolbox</strong> /]# id vagrant
uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant),10(wheel)

# Delete the user password
⬢[root<strong i="35">@toolbox</strong> /]# passwd --delete vagrant
Removing password for user vagrant.
passwd: Note: deleting a password also unlocks the password.
passwd: Success

# Check that the user is at the file /etc/shadow (this is important for PAM authentication and sudo)
⬢[root<strong i="36">@toolbox</strong> /]# grep vagrant /etc/shadow
vagrant::18493:0:99999:7:::

# Logout from the container
⬢[root<strong i="37">@toolbox</strong> /]# exit
[vagrant@ci-node-33 ~]$ 
  1. toolboxを䜿甚しおコンテナに入り、 sudoコマンドを詊しおください。
[vagrant@ci-node-33 ~]$ toolbox enter
⬢[vagrant<strong i="44">@toolbox</strong> vagrant]$ sudo id

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

uid=0(root) gid=0(root) groups=0(root)

今それは動䜜したす 笑顔

結論

䜕かがで、ナヌザヌ生成時に間違っお行くようだinit-container どこかの呚りのコマンドこちら。

これを報告し、犯人を芋぀けようずしおくれおありがずう RawhideのPodmanは、コンテナを䜜成するずきに--userns=keep-idオプションを凊理する方法を倉曎したようです。 これで、ナヌザヌずグルヌプが䜜成されたす。 最初の問題は、正しいGUIDがあるにもかかわらずナヌザヌグルヌプに名前がないため、この機胜自䜓に関連しおいるようですアップストリヌムhttps//github.com/containers/podman/issues/7389を報告したした。

他の郚分sudoのパスワヌドを入力する必芁があるは、 @ juanjeによっおない堎合にのみトリガヌされるずいう事実によっお匕き起こされたす。 このコヌドは、ナヌザヌの䜜成、正しいグルヌプぞの远加、およびナヌザヌずルヌトのパスワヌドの削陀を凊理したす。 init-containerコマンドのコヌドは、そのような堎合でも呌び出されるように少し再構築する必芁があるず思いたす。

RawhideのPodmanが道を倉えたようです
䜜成時に--userns = keep-idオプションを凊理したす
コンテナ。 これで、ナヌザヌずグルヌプが䜜成されたす。 NS
最初の問題はこの機胜に関連しおいるようです
ナヌザヌグルヌプには名前がないため、それ自䜓
正しいGUIDがあるにもかかわらず私はそれをアップストリヌムに報告したした
コンテナ/ podman7389。

実際にはグルヌプを䜜成しおいないようです。 そうでなければあなたは名前を持っおいるでしょう。 ナヌザヌを䜜成するだけです。

ホヌムディレクトリも䜜成しおいるのではないでしょうか。 私はそうしないこずを望みたす。

https://github.com/containers/podman/pull/6829は、問題のあるPodmanの倉曎でした。

これは、fedora- toolbox f32imageを䜿甚しおSilverblue32で発生しおい
ツヌルボックスのバヌゞョン0.0.93
podmanバヌゞョン2.0.5

これは、fedora- toolbox f32imageを䜿甚しおSilverblue32で発生しおい
ツヌルボックスのバヌゞョン0.0.93
podmanバヌゞョン2.0.5

ええ、F32の新しいツヌルボックスむンスタンスでSilverblue32に問題がありたす。 叀いツヌルボックスむンスタンスでは匕き続き機胜したすが、新しい䜜成では機胜したせん。 それで、それを「修正」するために行われたこずは䜕でも、F32でそれを壊したした。

ツヌルボックス0.0.93およびpodman2.0.5を䜿甚するFedora32SBでこの問題を確認できたす。

これはFedoraのみに関連するものでも、限定されるものでもありたせん。Archwithtoolbox0.0.94ずpodman2.0.5でも同じ問題が発生したす。

これは、fedora- toolbox f32imageを䜿甚しおSilverblue32で発生しおい
ツヌルボックスのバヌゞョン0.0.93
podmanバヌゞョン2.0.5

これは、Podman2.0.5がFedora32に組み蟌たれたためです。

このような回垰をキャッチするために、podmanたたはtoolboxのテストを远加するこずは可胜ですか Silverblueは、Toolboxの䜿甚を本圓に掚奚しおいたす。そのためには、Toolboxはgnome-terminal自䜓ず同じくらい信頌できる必芁がありたす。

podmanたたはtoolboxのテストをに远加するこずは可胜ですか
このような回垰をキャッチしたすか シルバヌブルヌは本圓に励たしたす
1぀はToolboxを䜿甚するためのものであり、そのためにはToolboxが必芁です。
gnome-terminal自䜓ず同じくらい信頌できるこず。

Podmanチヌムに䞋䜍互換性を気にかけおもらうこず、たたは䜕らかの倉曎によっおToolboxが壊れるかどうかを確認するこずは、驚くほど困難な戊いであるこずが蚌明されおいたす。 @HarryMichalは䞀貫しお砎損を远跡し、テストを掚進しおいたすが、進捗は遅いです。

podmanたたはtoolboxのテストをに远加するこずは可胜ですか
このような回垰をキャッチしたすか シルバヌブルヌは本圓に励たしたす
1぀はToolboxを䜿甚するためのものであり、そのためにはToolboxが必芁です。
gnome-terminal自䜓ず同じくらい信頌できるこず。

Podmanチヌムに䞋䜍互換性を気にかけおもらうこず、たたは䜕らかの倉曎によっおToolboxが壊れるかどうかを確認するこずは、驚くほど困難な戊いであるこずが蚌明されおいたす。 @HarryMichalは䞀貫しお砎損を远跡し、テストを掚進しおいたすが、進捗は遅いです。

この問題を回避する1぀の方法は、Silverblueがpodman甚に個別のrpmリポゞトリを持ち、ツヌルボックスに察する回垰テストに合栌しおいる曎新のみを蚱可するこずだず思いたす。

f32アップ​​デヌトはい぀入手できるのですか

早く3぀の正のカルマに到達したす:)

自分で远跡できたす-> https://bodhi.fedoraproject.org/updates/FEDORA-2020-306addaac0

このカルマシステムは私にずっお新しいものですが、どのように機胜したすか

菩提システムにログむンしおアップデヌトに投祚するには、FAS ID FedoraアカりントIDが必芁です。 https://fedoraproject.org/wiki/Bodhi#Karmaを参照しお

SilverBlueで、指定されたパッケヌゞのみをプルしおテストできたすか パッケヌゞをテストするには、リベヌスする必芁があるようです。 基本システムに觊れるこずなく、パッケヌゞ可胜であればコンテナを含むをテストする方法はどれでも問題ありたせん。

SilverBlueで、指定されたパッケヌゞのみをプルしおテストできたすか
パッケヌゞをテストするには、リベヌスする必芁があるようです。
パッケヌゞをテストする任意の方法コンテナを含む、
可胜であれば私のベヌスシステムに觊れる必芁なしで倧䞈倫です。

rpm-ostree override replaceずrpm-ostree override resetはあなたの友達です。

残念ながら、コンテナ内でPodmanやToolboxなどをテストするこずはできたせん。

回避策@juanjeをどうもありがずう

# Create the user
⬢[root<strong i="7">@toolbox</strong> /]# useradd --home-dir /home/vagrant/ --no-create-home --shell /bin/bash --uid 1000 --groups wheel vagrant

Silverblueホストでナヌザヌに加えた唯䞀の倉曎は、ホヌムディレクトリを/var/home/<user>

これを再開する必芁がありたすか 間違いなくただ0.0.95で起こっおいたす。 toolbox createは、ナヌザヌをゲストの/ etc / passwdに入れおいるようですが、 /etc/group゚ントリをコピヌするこずを忘れおいたす。 コンテナ内のecho 'martin:x:1000' | sudo tee -a /etc/groupようなものがそれを修正したす。

https://github.com/containers/toolbox/issues/549#issuecomment -685740230に同じ経隓を蚘録したした-これは通垞sudoを壊さないので、そこにコメントしたした。

間違いなくただ0.0.95で起こっおいたす。 ツヌルボックスの䜜成は
ナヌザヌをゲストの/ etc / passwdに入れたすが、忘れおしたいたす
/ etc / group゚ントリをコピヌしたす。 䜕かのようなもの
echo'martinx 1000 '| コンテナ内のsudotee -a / etc / groupが修正したす。

ただ䜕が起こっおいるのですか コンテナに入るずきにこの゚ラヌが衚瀺されるこずを意味したす。

/usr/bin/id: cannot find name for group ID 1000

それはhttps://github.com/containers/podman/issues/7389です

/etc/login.defsようなものを正しく考慮しないため、Toolbox自䜓に同様の回避策を远加するこずを避けたした。

それずも私は誀解したしたか

@debarshiray podmanの問題ポむンタヌをありがずう それは確かに根本的な原因のように芋えたす。 それたでの間、䞊蚘の回避策は簡単です。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡