[PATCH setup] Add new option --chown-admin

Jon Turney jon.turney@dronecode.org.uk
Thu Sep 15 17:45:31 GMT 2022

On 02/09/2022 16:17, Christian Franke wrote:
> 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.

Well, perhaps we can explore that by asking what is the motivation for 
this change?  Does the current situation cause you a problem?  Is is it 
just motivated by the concern that the user running setup could 
accidentally modify the installation, or something else?

Corinna had some concerns about making the owner a group, rather than a 
user, which I believe historically caused some difficulties in Cygwin, 
so I think I'll need to understand that better before making a decision 
about this change.

>>> 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