[PATCH setup] Add new option --chown-admin
Christian Franke
Christian.Franke@t-online.de
Fri Sep 2 15:17:32 GMT 2022
Jon Turney wrote:
> On 28/08/2022 18:33, Christian Franke wrote:
>> As the 'root_scope' issues are now fixed, here a reworked and
>> enhanced (checkbox, setup.rc entry) version of the original patch
>> from this thread.
>>
>> With the new setting enabled, setup behaves like other install tools
>> when run elevated: The installation is then also protected against
>> accidental modifications by the current user.
>>
>> owner:group assignments of newly installed dirs/files:
>>
>> adm:adm -- "All Users", "[X] Change owner of newly installed files to
>> local Administrator"
>> usr:adm -- "All Users"
>> usr:def -- "Just Me"
>>
>> (usr = user running setup, adm = S-1-5-32-544, def = S-1-5-21-*-513)
>>
>
> Thanks. When writing the change summary for the last RC, I wondered
> what the file owner should be.
>
> I guess my question is, if adm:adm ownership is correct, and expected
> for consistency with other Windows installers, why not make that the
> default? and then do we really need to provide the current behaviour
> as an option, if it's "wrong".
Two good questions. I'm not sure.
>
>> An alternative for the UI would be a 3rd radio button ("All Users -
>> change owner of newly installed files to local Administrator"), but
>> the checkbox makes this addition IMO more obvious.
>>
>> The new setup.rc setting 'root-scope' is only used to read the
>> chown_admin setting but this could be enhanced, e.g. warn user if
>> root_scope selection differs from previous setup run.
>>
>> The drawback that files generated by postinstall scripts are still
>> owned by current user could be fixed with a perpetual postinstall
>> script. I could provide one for base-files package if desired.
>
> Doesn't this mean that we are using the wrong user-context to run
> those scripts?
>
The correct user context for running the script would be an equivalent
to 'sudo administrator' which is not possible.
A change or addition (environment CYGWIN=chown_admin) in the Cygwin DLL
would help: If launched with TokenOwner = Administrator, make sure that
all newly created dirs/files are owned by TokenOwner instead of current
user.
More information about the Cygwin-apps
mailing list