All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-devel@nongnu.org, Ross Lagerwall <ross.lagerwall@citrix.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org, xen-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 7/8] os-posix: Provide new -runasid option
Date: Tue, 10 Oct 2017 09:43:56 +0200	[thread overview]
Message-ID: <878tgjla6b.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <23003.36902.664875.346194@mariner.uk.xensource.com> (Ian Jackson's message of "Mon, 9 Oct 2017 16:05:10 +0100")

Ian Jackson <ian.jackson@eu.citrix.com> writes:

> Markus Armbruster writes ("Re: [Qemu-devel] [PATCH 7/8] os-posix: Provide new -runasid option"):
>> The last thing the QEMU command line needs is more exotic options.  Are
>> you sure we need a new one here?  Can we make existing -runas serve?
>> Precedence: Coreutils[*].  Pseudo-code:
>> 
>>     if argument is a decimal number starting with '+':
>>         user ID
>>     else if argument is a valid user name:
>>         user name
>>     else if argument is a valid user ID:
>>         user ID
>>     else:
>>         error
>
> I can do this.  So -runas <uid>.<gid> then.  I don't think it makes
> sense to try to -runas <uid> because: you wouldn't have a username
> to pass to initgroups: not calling initgroups would be a bear trap;
> and otherwise we wouldn't know what gid to use.

Actually, a numeric UID without group name or ID could be made to work
just fine as long as it maps to a user name.  The use case may not be
worth the bother, though.

Using '.' to separate user and group is suboptimal, because POSIX
portable user and group names may contain it:

    3.426 User Name

    A string that is used to identify a user; see also User Database.
    To be portable across systems conforming to IEEE Std 1003.1-2001,
    the value is composed of characters from the portable filename
    character set.  The hyphen should not be used as the first character
    of a portable user name.

and

    3.276 Portable Filename Character Set

    The set of characters from which portable filenames are constructed.

        A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
        a b c d e f g h i j k l m n o p q r s t u v w x y z
        0 1 2 3 4 5 6 7 8 9 . _ -

http://pubs.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html

Coreutils uses ':'.  Let's follow its lead.

WARNING: multiple messages have this Message-ID (diff)
From: Markus Armbruster <armbru@redhat.com>
To: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-devel@nongnu.org, Ross Lagerwall <ross.lagerwall@citrix.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org, xen-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 7/8] os-posix: Provide new -runasid option
Date: Tue, 10 Oct 2017 09:43:56 +0200	[thread overview]
Message-ID: <878tgjla6b.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <23003.36902.664875.346194@mariner.uk.xensource.com> (Ian Jackson's message of "Mon, 9 Oct 2017 16:05:10 +0100")

Ian Jackson <ian.jackson@eu.citrix.com> writes:

> Markus Armbruster writes ("Re: [Qemu-devel] [PATCH 7/8] os-posix: Provide new -runasid option"):
>> The last thing the QEMU command line needs is more exotic options.  Are
>> you sure we need a new one here?  Can we make existing -runas serve?
>> Precedence: Coreutils[*].  Pseudo-code:
>> 
>>     if argument is a decimal number starting with '+':
>>         user ID
>>     else if argument is a valid user name:
>>         user name
>>     else if argument is a valid user ID:
>>         user ID
>>     else:
>>         error
>
> I can do this.  So -runas <uid>.<gid> then.  I don't think it makes
> sense to try to -runas <uid> because: you wouldn't have a username
> to pass to initgroups: not calling initgroups would be a bear trap;
> and otherwise we wouldn't know what gid to use.

Actually, a numeric UID without group name or ID could be made to work
just fine as long as it maps to a user name.  The use case may not be
worth the bother, though.

Using '.' to separate user and group is suboptimal, because POSIX
portable user and group names may contain it:

    3.426 User Name

    A string that is used to identify a user; see also User Database.
    To be portable across systems conforming to IEEE Std 1003.1-2001,
    the value is composed of characters from the portable filename
    character set.  The hyphen should not be used as the first character
    of a portable user name.

and

    3.276 Portable Filename Character Set

    The set of characters from which portable filenames are constructed.

        A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
        a b c d e f g h i j k l m n o p q r s t u v w x y z
        0 1 2 3 4 5 6 7 8 9 . _ -

http://pubs.opengroup.org/onlinepubs/000095399/basedefs/xbd_chap03.html

Coreutils uses ':'.  Let's follow its lead.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

  parent reply	other threads:[~2017-10-10  7:44 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-04 16:18 [Qemu-devel] [PATCH v2 0/*] xen: xen-domid-restrict improvements Ian Jackson
2017-10-04 16:18 ` Ian Jackson
2017-10-04 16:18 ` [Qemu-devel] [PATCH 1/8] xen: link against xentoolcore Ian Jackson
2017-10-04 16:18   ` Ian Jackson
2017-10-04 16:18 ` [Qemu-devel] [PATCH 2/8] xen: restrict: use xentoolcore_restrict_all Ian Jackson
2017-10-04 16:18   ` Ian Jackson
2017-10-04 16:18 ` [Qemu-devel] [PATCH 3/8] xen: defer call to xen_restrict until after os_setup_post Ian Jackson
2017-10-04 16:18   ` Ian Jackson
2017-10-09 15:50   ` [Qemu-devel] " Anthony PERARD
2017-10-09 15:50     ` Anthony PERARD
2017-10-09 16:58     ` [Qemu-devel] " Ian Jackson
2017-10-09 16:58       ` Ian Jackson
2017-10-10 11:40       ` [Qemu-devel] " Anthony PERARD
2017-10-10 11:40         ` Anthony PERARD
2017-10-10 17:16         ` [Qemu-devel] " Ian Jackson
2017-10-10 17:16           ` Ian Jackson
2017-10-09 17:00     ` Ian Jackson
2017-10-04 16:18 ` [Qemu-devel] [PATCH 4/8] xen: destroy_hvm_domain: Move reason into a variable Ian Jackson
2017-10-04 16:18   ` Ian Jackson
2017-10-04 16:18 ` [Qemu-devel] [PATCH 5/8] xen: move xc_interface compatibility fallback further up the file Ian Jackson
2017-10-04 16:18   ` Ian Jackson
2017-10-04 16:18 ` [Qemu-devel] [PATCH 6/8] xen: destroy_hvm_domain: Try xendevicemodel_shutdown Ian Jackson
2017-10-04 16:18   ` Ian Jackson
2017-10-04 16:18 ` [Qemu-devel] [PATCH 7/8] os-posix: Provide new -runasid option Ian Jackson
2017-10-04 16:18   ` Ian Jackson
2017-10-06 12:47   ` [Qemu-devel] " Ross Lagerwall
2017-10-06 12:47     ` Ross Lagerwall
2017-10-06 14:24     ` [Qemu-devel] " Ian Jackson
2017-10-06 14:24       ` Ian Jackson
2017-10-06 14:39     ` Ian Jackson
2017-10-06 12:59   ` [Qemu-devel] " Peter Maydell
2017-10-06 12:59     ` Peter Maydell
2017-10-06 14:24     ` Ian Jackson
2017-10-06 14:24       ` Ian Jackson
2017-10-06 14:39     ` Ian Jackson
2017-10-09  5:46   ` Markus Armbruster
2017-10-09  5:46     ` Markus Armbruster
2017-10-09 15:05     ` Ian Jackson
2017-10-09 15:05       ` Ian Jackson
2017-10-09 15:24       ` Daniel P. Berrange
2017-10-09 15:24         ` Daniel P. Berrange
2017-10-09 16:52         ` Ian Jackson
2017-10-09 16:52           ` Ian Jackson
2017-10-09 16:59         ` Ian Jackson
2017-10-10  7:43       ` Markus Armbruster [this message]
2017-10-10  7:43         ` Markus Armbruster
2017-10-10 17:11         ` Ian Jackson
2017-10-10 17:11           ` Ian Jackson
2017-10-11  9:52         ` Ian Jackson
2017-10-09 15:14     ` Ian Jackson
2017-10-04 16:18 ` [Qemu-devel] [PATCH 8/8] RFC configure: do_compiler: Dump some extra info under bash Ian Jackson
2017-10-04 16:18   ` Ian Jackson
2017-10-06 12:58 ` [Qemu-devel] [PATCH v2 0/*] xen: xen-domid-restrict improvements Ross Lagerwall
2017-10-06 12:58   ` Ross Lagerwall
2017-10-06 13:19   ` [Qemu-devel] [Xen-devel] " Paul Durrant
2017-10-06 13:19     ` Paul Durrant
2017-10-10 13:40     ` [Qemu-devel] [Xen-devel] " Ross Lagerwall
2017-10-10 13:40       ` Ross Lagerwall
2017-10-10 17:21       ` [Qemu-devel] [Xen-devel] " Ian Jackson
2017-10-10 17:21         ` Ian Jackson
2017-10-06 14:17   ` [Qemu-devel] " Ian Jackson
2017-10-06 14:17     ` Ian Jackson
  -- strict thread matches above, loose matches on Subject: below --
2017-10-06 18:27 [Qemu-devel] [PATCH v3 0/8] " Ian Jackson
2017-10-06 18:27 ` [Qemu-devel] [PATCH 7/8] os-posix: Provide new -runasid option Ian Jackson
2017-11-06 12:29   ` Markus Armbruster
2017-11-06 12:29     ` Markus Armbruster
2017-11-06 15:16     ` Ian Jackson
2017-11-06 15:16       ` Ian Jackson
2017-11-06 18:40       ` Markus Armbruster
2017-11-06 18:40         ` Markus Armbruster
2017-11-08 11:15         ` Ian Jackson
2017-11-08 11:15           ` Ian Jackson
2017-10-04 15:53 [Qemu-devel] [PATCH v2 0/7] xen: xen-domid-restrict improvements Ian Jackson
2017-10-04 15:53 ` [Qemu-devel] [PATCH 7/8] os-posix: Provide new -runasid option Ian Jackson

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=878tgjla6b.fsf@dusky.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=anthony.perard@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jgross@suse.com \
    --cc=qemu-devel@nongnu.org \
    --cc=ross.lagerwall@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=xen-devel@nongnu.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.