From: "Venkateswararao Jujjuri (JV)" <jvrao@linux.vnet.ibm.com>
To: qemu-devel@nongnu.org
Cc: aliguori@us.ibm.com, Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Subject: [Qemu-devel] [PATCH-V2 0/7] virtio-9p:Introducing security model for VirtFS
Date: Tue, 11 May 2010 18:18:36 -0700 [thread overview]
Message-ID: <1273627123-32534-1-git-send-email-jvrao@linux.vnet.ibm.com> (raw)
This patch series introduces the security model for VirtFS.
Brief description of this patch series:
It introduces two type of security models for VirtFS.
They are: mapped and passthrough.
The following is common to both security models.
* Client's VFS determines/enforces the access control.
Largely server should never return EACCESS.
* Client sends gid/mode-bit information as part of creation only.
Changes from V1
---------------
o Added support for chmod and chown.
o Used chmod/chown to set credentials instead of setuid/setgid.
o Fixed a bug where uid used instated of uid.
Security model: mapped
----------------------
VirtFS server(QEMU) intercepts and maps all the file object create requests.
Files on the fileserver will be created with QEMU's user credentials and the
client-user's credentials are stored in extended attributes.
During getattr() server extracts the client-user's credentials from extended
attributes and sends to the client.
Given that only the user space extended attributes are available to regular
files, special files are created as regular files on the fileserver and the
appropriate mode bits are stored in xattrs and will be extracted during
getattr.
If the extended attributes are missing, server sends back the filesystem
stat() unaltered. This provision will make the files created on the
fileserver usable to client.
Points to be considered
* Filesystem will be VirtFS'ized. Meaning, other filesystems may not
understand the credentials of the files created under this model.
* Regular utilities like 'df' may not report required results in this model.
Need for special reporting utilities which can understand this security model.
Security model : passthrough
----------------------------
In this security model, VirtFS server passes down all requests to the
underlying filesystem. File system objects on the fileserver will be created
with client-user's credentials. This is done by setting setuid()/setgid()
during creation or ch* after file creation. At the end of create protocol
request, files on the fileserver will be owned by cleint-user's uid/gid.
Points to be considered
* Fileserver should always run as 'root'.
* Root squashing may be needed. Will be for future work.
* Potential for user credential clash between guest's user space IDs and
host's user space IDs.
It also adds security model attribute to -fsdev device and to -virtfs shortcut.
Usage model:
-fsdev local,id=jvrao,path=/tmp/,security_model=mapped
-virtfs local,path=/tmp/,security_model=passthrough,mnt_tag=v_tmp.
--
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
next reply other threads:[~2010-05-12 1:15 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-12 1:18 Venkateswararao Jujjuri (JV) [this message]
2010-05-12 1:18 ` [Qemu-devel] [PATCH-V2 1/7] virtio-9p: Introduces an option to specify the security model Venkateswararao Jujjuri (JV)
2010-05-12 1:18 ` [Qemu-devel] [PATCH-V2 2/7] virtio-9p: Rearrange fileop structures Venkateswararao Jujjuri (JV)
2010-05-12 1:18 ` [Qemu-devel] [PATCH-V2 3/7] virtio-9p: modify create/open2 and mkdir for new security model Venkateswararao Jujjuri (JV)
2010-05-12 1:18 ` [Qemu-devel] [PATCH-V2 4/7] virtio-9p: Implement Security model for mknod related files Venkateswararao Jujjuri (JV)
2010-05-12 1:18 ` [Qemu-devel] [PATCH-V2 5/7] virtio-9p: Implemented security model for symlink and link Venkateswararao Jujjuri (JV)
2010-05-12 1:18 ` [Qemu-devel] [PATCH-V2 6/7] virtio-9p: Implemented Security model for lstat and fstat Venkateswararao Jujjuri (JV)
2010-05-12 1:18 ` [Qemu-devel] [PATCH-V2 7/7] virtio-9p: Implemented security model for chown and chgrp Venkateswararao Jujjuri (JV)
-- strict thread matches above, loose matches on Subject: below --
2010-05-21 21:26 [Qemu-devel] [PATCH-V2 0/7] virtio-9p:Introducing security model for VirtFS Venkateswararao Jujjuri (JV)
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=1273627123-32534-1-git-send-email-jvrao@linux.vnet.ibm.com \
--to=jvrao@linux.vnet.ibm.com \
--cc=aliguori@us.ibm.com \
--cc=qemu-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).