mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Nico Lastzka <Nico.Lastzka@ATSonline.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] Hard-coded directory permissions
Date: Thu, 11 Jun 2020 08:19:00 +0200	[thread overview]
Message-ID: <20200611061900.GI4898@develop-10-146> (raw)
In-Reply-To: <20200611054639.GM9599@pengutronix.de>

On Thu 11/06/20 07:46, Michael Olbrich wrote:
>On Wed, Jun 10, 2020 at 01:42:25PM +0200, Nico Lastzka wrote:
>> On Wed 10/06/20 11:32, Bruno Thomsen wrote:
>> > > From: ptxdist <ptxdist-bounces@pengutronix.de> on behalf of Nico Lastzka <Nico.Lastzka@ATSonline.de>
>> > > Sent: Wednesday, June 10, 2020 11:35
>> > > To: ptxdist@pengutronix.de <ptxdist@pengutronix.de>
>> > > Subject: [ptxdist] Hard-coded directory permissions
>> > >
>> > > Hi,
>> > >
>> > > I ran into a problem with the latest ptxdist 2020.06 when trying to install an ssh key to
>> > > "/root/.ssh/authorized_keys".
>> > >
>> > >
>> > > Here, the "image-enhancements rule" contains the following code which breaks the image creation:
>> > >
>> > >      @$(call install_copy, image_enhancements, 0, 0, 0400, $(PTXDIST_PLATFORMCONFIGDIR)/access/key-develop_id_ed25519.pub, /root/.ssh/authorized_keys )
>> >
>> > I think you need to create the parent directory first with correct permissions.
>> >
>> > @$(call install_copy, image_enhancements, 0, 0, 0400, /root/.ssh)
>> >
>>
>> Already tried that without success.
>
>You need to explicitly create the directory, the error complains about,
>with the correct permissions:
>
>	@$(call install_copy, image_enhancements, 0, 0, 0700, /root)
>

Thanks for the quick reply. I tried your solution but it did not work either. Although I can create
folders like '/root' and '/root/.ssh' without a problem, the issue comes from the fact that the awk
script uses hardcoded permissions for folders within a given file path. Now I have the following in
my rule:

--8<--------------------
@$(call install_copy, image_enhancements, 0, 0, 0700, /root)
@$(call install_copy, image_enhancements, 0, 0, 0700, /root/.ssh)
@$(call install_copy, image_enhancements, 0, 0, 0400, $(PTXDIST_PLATFORMCONFIGDIR)/access/key-develop_id_ed25519.pub, /root/.ssh/authorized_keys )
-------------------->8--

This leads to the following results:

1. '/root' is checked ok, since it uses the same permissions as defined by the rootfs
2. '/root/.ssh is checked ok, since it is not included by any other package (I can even change
permissions here)
3. '/root/.ssh/authorized_keys' is split into the following checks by the script:
   3a. '/root/.ssh/authorized_keys' is checked ok because no other package defines it
   3b. '/root/.ssh is checked ok although the permissions checked for are now 0755, since it is not included by any other package
   3c. '/root' check fails, since it now uses the hardcoded permissions 0755, whereas the rootfs defines 0700)

I think rather to use the hardcoded values for these folders the script should try to look it up
from 'perms[path]' first and only use the 0755 as a fallback.

>Michael
>
>-- 
>Pengutronix e.K.                           |                             |
>Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
>31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
>Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
>
>_______________________________________________
>ptxdist mailing list
>ptxdist@pengutronix.de
>To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de
>
>
>

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de

  reply	other threads:[~2020-06-11  6:19 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-10  9:35 Nico Lastzka
2020-06-10 11:32 ` Bruno Thomsen
2020-06-10 11:42   ` Nico Lastzka
2020-06-11  5:46     ` Michael Olbrich
2020-06-11  6:19       ` Nico Lastzka [this message]
2020-06-12  6:51         ` Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200611061900.GI4898@develop-10-146 \
    --to=nico.lastzka@atsonline.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox