Staging break user account modification in post-install

olli hauer ohauer at gmx.de
Sun Nov 10 20:28:57 UTC 2013


On 2013-11-10 21:06, Aryeh Friedman wrote:
> On Sun, Nov 10, 2013 at 2:59 PM, olli hauer <ohauer at gmx.de> wrote:
> 
>> On 2013-11-10 20:40, Aryeh Friedman wrote:
>>> post-install is now called *BEFORE* users are created (before staging was
>>> added it was after)... looking at bsd.port.mk there seems no reasonable
>>> target that replaces post-install for this purpose.   Namely I need to
>> lock
>>> the user account that was created and assign a default password to it.
>>> This is what I had that used to work:
>>>
>>> post-install:
>>>           echo password|pw usermod user -h 0 2>/dev/null
>>>           pw lock user
>>
>> Is the account always locked?
>>
> 
> No it is locked/unlocked by a WebUI when ever the user needs to perform
> some task that is requires streaming stdio (i.e. the WebUI will say "To
> complete task X do the following in a terminal 'ssh user at localhost' and the
> WebUI will do what ever juggling is needed to make it so X is performed on
> the next login into user [including unlocking the account] when tsak X
> completes it locks the account [in reality we do it before] again).
> 
> 
>> If yes what is the difference to create a user without any password and
>> assigning '/usr/sbin/nologin' as shell?
>>
>> What happens to the account without staging if installed from a package?
>>
> 
> Right now we are doing remote testing (different machine then the
> development one) via the port and thus have disabled pkg creation and thus
> need to do it before this.
> 

With staging the pkg-install script will be not executed during `make stage' but
if you run `make install'.

Without staging you have to execute the pkg-install script from the Makefile
with such a line
	@${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL

If you want to do this in a *package* you have to use a pkg-install script
regardless if you use stage or not.

-- 
olli


More information about the freebsd-ports mailing list