linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Olaf Hering <olh@suse.de>
To: linux-hotplug@vger.kernel.org
Subject: Re: Permissions in udev don't work when klibc is used ?
Date: Mon, 23 Feb 2004 16:39:42 +0000	[thread overview]
Message-ID: <20040223163942.GA29281@suse.de> (raw)
In-Reply-To: <200402231118.26239.remco@d-compu.dyndns.org>

 On Mon, Feb 23, Remco wrote:

> - for user and group names to work a "name conversion system" (user database + 
> api to use it) needs to be in place. (e.g. /etc/passwd, /etc/group, ldap and 
> glibc, nss-api, nss_ldap) 
> klibc hasn't got such a system / api (or it's not fully functional ?) so only 
> uid-s / gid-s are possible when linking against klibc.
> A name conversion system might (or will ?) not be available when using initrd. 
> (what about early userspace, or am I touching the TODO area too much now ?)

You can build your udev.permissions via sed, grep, awk or whatever via
getent passwd and getenv group and convert the names to numbers. No need
to pollute klibc with 'useless' stuff.


# provide numbers because klibc has no getpwnam function
# everything would belong to root
PT="`mktemp -q /tmp/udev.mkinitramfs.passwd.$$.XXXXXX`"
GT="`mktemp -q /tmp/udev.mkinitramfs.group.$$.XXXXXX`"
getent passwd | sed -e 's@^\([^:]\+\):[^:]*:\([^:]*\):.*@\1:\2@' > $PT
getent group | sed -e 's@^\([^:]\+\):[^:]*:\([^:]*\):.*@\1:\2@' > $GT
I=$IFS
IFS=:
while read a b c d e ; do
case "$a" in
	\#*|"") echo comment ;;
	*)
	dev=$a
	owner="`sed -e \"/^$b:/s@^.*:@@p;d\" < $PT`"
	group="`sed -e \"/^$c:/s@^.*:@@p;d\" < $GT`"
	if [ "$owner" = "" ] ; then owner=0 ; fi
	if [ "$group" = "" ] ; then group=0 ; fi
	mode=$d
	echo "$dev:$owner:$group:$mode" >> "$INITRD$udev_permissions"
	;;
esac
done < "$udev_permissions"
IFS=$I
rm -fv $PT $GT

If you find a faster solution, let us know.

-- 
USB is for mice, FireWire is for men!

sUse lINUX ag, nÜRNBERG


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id\x1356&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list  http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel

  parent reply	other threads:[~2004-02-23 16:39 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-02-23 10:18 Permissions in udev don't work when klibc is used ? Remco
2004-02-23 10:47 ` Kay Sievers
2004-02-23 14:01 ` Remco
2004-02-23 14:30 ` Kay Sievers
2004-02-23 15:18 ` Remco
2004-02-23 16:39 ` Olaf Hering [this message]
2004-02-23 18:31 ` Kay Sievers
2004-02-23 18:55 ` Olaf Hering
2004-02-23 19:01 ` Darren Salt
2004-02-23 19:10 ` Kay Sievers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040223163942.GA29281@suse.de \
    --to=olh@suse.de \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).