Ticket #157 (closed defect: fixed)

Opened 5 years ago

Last modified 2 years ago

Permissions not attached to files in chroots


Reported by: jengelh Assigned to: pmatilai Priority: major Milestone:
Component: rpm Version: RPM Development Keywords: Cc:


Description

Installation with rpm --root yields:

/srv/nfs/base32# linux32 rpm --root $PWD -Uhv cups-client-1.3.11-4.5.1.i586.rpm Preparing... ########################################### [100%]

1:cups-client warning: user lp does not exist - using root( 26%)

warning: group lp does not exist - using root ########################################### [100%]

And that despite lp existing in both /etc/{passwd,group} and /srv/nfs/base32/etc/{passwd,group}. Looks non-trivial. Any idea what could be done?

Attachments

strace.log (139.0 kB) - added by jengelh on 05/18/10 12:33:21.

ts.spec (173 bytes)

  • added by jengelh on 05/18/10 12:33:35.

Change History

05/17/10 11:51:09 changed by pmatilai

  • owner changed from RpmTickets to pmatilai.
  • status changed from new to assigned.

Basically that means getpwnam() is failing for whatever reason. Rpm (tries to) preload nss libraries before chroot() to ensure working name services inside chroots but maybe there's a new catch here or something...

Try to get a strace log of the thing, that should provide some clues to what's going on.

05/18/10 12:32:34 changed by jengelh

It is reproducible using one's own system root itself, i.e.

rpm --root / -Uhv ts.rpm

05/18/10 12:33:21 changed by jengelh

  • attachment strace.log added.

05/18/10 12:33:35 changed by jengelh

  • attachment ts.spec added.

05/19/10 13:04:51 changed by pmatilai

FWIW I can't reproduce this. ts.spec does complain about user sys not existing but rightfully so as on Fedora there's no such user (only group called "sys"), and using other user/group names doesn't change the situation. Need to dig into the strace...

05/19/10 13:24:11 changed by pmatilai

Looking at the strace log, this has to do with the host being configured to use LDAP for user information and the system not falling back to /etc/{passwd,group} when not found in LDAP.

01/28/14 12:30:49 changed by pmatilai

  • status changed from assigned to closed.
  • resolution set to fixed.

This is likely to be the same issue as the one reported here: http://lists.rpm.org/pipermail/rpm-maint/2014-January/003652.html and should be fixed by this: https://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=abbf4897db217b4977b4c21eb09929c797ee015d