cups ppd files

Paul Howarth paul at city-fan.org
Tue Aug 29 15:44:44 UTC 2006


Matthew Saltzman wrote:
> On Tue, 29 Aug 2006, Paul Howarth wrote:
> 
>> Matthew Saltzman wrote:
>>> On Tue, 29 Aug 2006, Timothy Murphy wrote:
>>>> That seems perfectly sensible to me.
>>>> But I don't see why it requires you to have two different programs
>>>> with the same name.
>>>
>>> I don't really get this either.  All of the system-config utilities 
>>> in /usr/bin are symlinked to consolehelper.  Many have no /usr/sbin 
>>> counterpart.  Yet they seem to start just fine when invoked as root.
>>>
>>> My guess is that the /usr/sbin ones are artifacts of a 
>>> pre-consolehelper era and could be removed with no ill effects.
>>
>> You guess wrong. That would cause them to stop working. Consolehelper 
>> is not some super-configuration utility replacing all of the 
>> system-config-* programs, it's just a simple wrapper that prompts for 
>> the root password, switches to root (assuming the passwird was 
>> correct) and runs the requested program from /usr/sbin.
> 
> OK I stand corrected (makes sense, actually).  But I still don't get:
> 
> (a) It appears that invoking /usr/bin/system-config-* as root does not 
> redundantly prompt for the root password as has been suggested in this 
> thread.
> 
> (b) How does consolehelper know what utility to invoke?  It can't be 
> quite as simple as you suggest.  For example, 
> /usr/bin/system-config-users is a symlink to consolehelper, but there is 
> no /usr/sbin/system-config-users program for consolehelper to invoke.

The actual program does not, as you say, need to be installed in 
/usr/sbin. It does have to be installed somewhere though, and /usr/sbin 
is a good location as it's not on the PATH of regular users. The 
consolehelper utility finds the program from the 
/etc/security/console.apps/programname file, which for 
system-config-users has:

PROGRAM=/usr/share/system-config-users/system-config-users

In the absence of a PROGRAM entry here, consolehelper looks in /usr/sbin 
(see pm-hibernate for example). So /usr/sbin is the efault location for 
the target program.

It's good to see that consolehelper doesn't prompt for the password if 
run as root in the first place, which makes sense.

Paul.




More information about the fedora-list mailing list