Parted - GNU Partition Editor [PSARC/2009/145 FastTrack timeout 03/06/2009]
Phi Tran
Phi.Tran at sun.com
Mon Mar 2 15:44:38 PST 2009
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
>>>
>>>
>>
>
More information about the opensolaris-arc
mailing list