Garrett D'Amore wrote: > +1. > > Do we really need to introduce a new set of RBAC authorizations for > this? I'd have guessed that low-level sys_devices or whatever access > would have been sufficient.
Adding sys_devices would allow any user to modify the disk and didn't seem like sufficient access control. sys_devices can be used for reading in this case, but RBAC control should be used for writing. Phi > > -- Garrett > > Phi Tran wrote: >> I'm sponsoring this case for Mark Logan. (cc: Mark) >> >> Phi >> >> Phi Tran wrote: >>> Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI >>> This information is Copyright 2009 Sun Microsystems >>> 1. Introduction >>> 1.1. Project/Component Working Name: >>> Parted - GNU Partition Editor >>> 1.2. Name of Document Author/Supplier: >>> Author: Mark Logan >>> 1.3 Date of This Document: >>> 02 March, 2009 >>> 4. Technical Description >>> >>> 4.1. Overview >>> >>> GNU Partition Editor (Parted) [1] is a command-line application that >>> allows you to resize, create or delete disk partitions and >>> filesystems. The goal is to put it on the OpenSolaris Live CD. That >>> way one could shrink the Vista or other NTFS partition and create >>> space to install OpenSolaris. Many x86 machines come preinstalled >>> with Vista. The availability of Parted would increase adoption of >>> OpenSolaris by making it easier to create a dual-boot environment. >>> >>> Parted is in functionality, a superset of the Solaris fdisk command. >>> >>> Parted is for x86 only. >>> >>> 4.2. Details >>> >>> 4.2.1. Diagram >>> >>> >>> +---------+ >>> | Install >>> | >>> +---------+ >>> / \ (could use >>> either) / >>> \ >>> / \ >>> v >>> v >>> +--------+ >>> +---------+ | Parted >>> | | GParted | >>> +--------+ >>> +---------+ >>> \ / >>> \ >>> / >>> \ / >>> v >>> v >>> +-----------------------+ >>> | libparted / ntfsprogs >>> | >>> +-----------------------+ >>> 4.2.2. solaris-parted >>> >>> solaris-parted [2] is an open source project that ported Parted to >>> Solaris. I used this code as a starting point. >>> >>> 4.2.3. ntfsprogs >>> >>> Parted uses ntfsprogs [3] to resize, create or delete NTFS disk >>> partitions and filesystems. ntfsprogs [3] is a collection of >>> command-line utilities, one utility for each operation, e.g. >>> ntfsresize and mkntfs. >>> >>> ntfsprogs required very few changes to port to Solaris. >>> >>> 4.2.4. libparted >>> >>> GNU Parted is composed of a command-line interface and a library. >>> libparted does the actual device access, partition table editing and >>> filesystem manipulation. >>> >>> I made changes to libparted both to port it to Solaris and to >>> integrate solaris-parted and ntfsprogs into it. >>> >>> 4.2.5. GParted >>> >>> Gnome Partition Editor (GParted) [4] is a graphical application that >>> allows you to resize, create or delete disk partitions and >>> filesystems. GParted uses libparted and ntfsprogs. Parted is capable >>> of doing everything GParted does. >>> >>> GParted uses Gtkmm for its GUI. It requires Gtkmm 2.8.x or greater. >>> Solaris currently has Gtkmm 2.13.8. The most recent stable version is >>> 2.14.x. [5] >>> >>> GParted should use HAL (PSARC/2007/679) to lock out HAL-based >>> automounters when it is manipulating the partition table of a device. >>> [6] >>> >>> GParted is Phase 2 of this project. There will be a separate LSARC case. >>> >>> 4.2.6. open source >>> >>> It is my intent to get the GNU Parted, GParted and ntfsprogs projects >>> to buy back my changes. solaris-parted is no longer in development, >>> but I intend to get Parted to buy back those changes along with mine. >>> >>> 4.2.7. Security >>> >>> Interface level: Committed >>> >>> Parted needs permission to access the raw disk devices, just like >>> Solaris fdisk. >>> >>> The following RBAC authorizations and profile will be added. >>> >>> Authorization Names: >>> solaris.admin.parted.:::Partition Editor::help=AuthPartedHeader.html >>> solaris.admin.parted.write:::Edit Partitions::help=AuthPartedWrite.html >>> >>> Profile: >>> Edit Partitions:::Edit Disk Partitions using GNU Parted: >>> auths=solaris.admin.parted.write;help=RtParted.html >>> >>> 4.2.8. Integration with the OpenSolaris installation program >>> >>> We are talking to the OpenSolaris Install group about whether they >>> will use Parted or GParted to integrate that functionality into the >>> installation program. They have not yet decided on the implementation >>> specifics, so I did not include anything about it here. >>> >>> 4.3. Interfaces Exported >>> >>> Interface Name Classification Comments >>> --------------- -------------- ----------------- >>> SUNWparted Committed Package name >>> (Phase 1) >>> /usr/share/man/man8/parted.8 Volatile Manual page >>> (Phase 1) >>> /usr/bin/parted Volatile Parted launcher >>> shell script (Phase 1) >>> /usr/lib/parted/parted Volatile Parted >>> application (Phase 1) >>> /usr/lib/parted/mkntfs Volatile ntfsprogs >>> application (Phase 1) >>> /usr/lib/parted/ntfsresize Volatile ntfsprogs >>> application (Phase 1) >>> /usr/lib/parted/ntfsfix Volatile ntfsprogs >>> application (Phase 1) >>> /usr/lib/parted/ntfsclone Volatile ntfsprogs >>> application (Phase 1) >>> /usr/lib/libparted-1.8.so.8 Volatile Symbolic link >>> (Phase 1) >>> /usr/lib/libparted-1.8.so.8.0.0 Volatile Shared library >>> (Phase 1) >>> /usr/lib/libntfs.so.10 Volatile Symbolic link >>> (Phase 1) >>> /usr/lib/libntfs.so.10.0.0 Volatile Shared library >>> (Phase 1) >>> SUNWgparted Committed Package name >>> (Phase 2) >>> /usr/share/man/man8/gparted.8 Volatile Manual page >>> (Phase 2) >>> /usr/bin/gparted Volatile GParted >>> application (Phase 2) >>> >>> 4.4. Schedule >>> >>> I propose introducing GParted into OpenSolaris in three phases: >>> >>> Phase 1: Parted command line (2 man months) >>> >>> Put command line Parted on the CD. >>> A prototype of command line Parted is available now. >>> >>> Use Case: >>> >>> Boot OpenSolaris CD. >>> Run command line Parted in a Terminal window. >>> Shrink NTFS partition. >>> Install OpenSolaris. >>> >>> Phase 2: GParted GUI (3 man months) >>> >>> Put GParted GUI on the CD. >>> >>> Use Case: >>> >>> Boot OpenSolaris CD. >>> Run GParted GUI. >>> Shrink NTFS partition. >>> Install OpenSolaris. >>> >>> 4.5 References >>> >>> [1] GNU Parted >>> http://www.gnu.org/software/parted/ >>> >>> [2] solaris-parted >>> http://code.google.com/p/solaris-parted/ >>> >>> [3] NTFSprogs >>> http://www.linux-ntfs.org/ >>> >>> [4] GParted >>> http://gparted.sourceforge.net/ >>> >>> [5] Gtkmm >>> http://gtkmm.org/ >>> >>> [6] HAL spec >>> http://sac.sfbay/PSARC/2007/679/materials/hal-spec.html >>> >>> 6. Resources and Schedule >>> 6.4. Steering Committee requested information >>> 6.4.1. Consolidation C-team Name: >>> ON >>> 6.5. ARC review type: FastTrack >>> 6.6. ARC Exposure: open >>> >>> >> >