bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: avoid mkdir/selinux failure when mknod is a shell built-in


From: Matthew Woehlke
Subject: Re: avoid mkdir/selinux failure when mknod is a shell built-in
Date: Wed, 16 Apr 2008 12:09:04 -0500
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.12) Gecko/20080213 Thunderbird/2.0.0.12 Mnenhy/0.7.5.0

Eric Blake wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Jim Meyering on 4/16/2008 6:30 AM:
| My first reaction was "great! that looks much better".
| Unfortunately, the technique doesn't work with that shell:
|
|   openbsd$ ./mknod --version|head -1
|   mknod (GNU coreutils) 6.10.188-7cb24
|   openbsd$ PATH=. /bin/sh -c 'mknod --version'|head -1
|   /bin/sh: mknod: --: unknown option
|   /bin/sh: mknod: usage: mknod [-m mode] name [b | c] major minor
|   /bin/sh: mknod: usage: mknod [-m mode] name p

That still uses a builtin.  You need an exec in the loop to force a PATH
search (even command, which bypasses functions, won't bypass builtins).
Or perhaps a forwarding command will help; do any of these work?

$ /bin/sh -c '(exec mknod --version)' | head -1
$ /bin/sh -c 'nice mknod --version' | head -1
$ /bin/sh -c 'nohup mknod --version' | head -1

I realize you already pushed something, but for the record, wouldn't 'env' work as well (and without the side effects)?

--
Matthew
> pinotree uses the large trout on tsdgeos and PutHuhn :)
> PutHuhn runs
> tsdgeos lights a fire and eats the trout
(with apologies to Pino Toscano, PutHuhn and Albert Astals Cid, who came up with this entirely on their own)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]