Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

raidctl -s being privileged considered unnneesssary



A colleague is writing a nagios nrpe plugin to check raid status. (We
have a lot of machines wtih RAIDframe RAID1 sets.  These work very well,
but we wouldn't notice if a disk failed.)

raidctl -s provides the needed information, but /dev/rraid0d is
root.operator 640.   I don't want to give the plugin read access,
because then it could read the data on the disk.

So, it would be nice if there were some way to get raid status without
having the ability to read.  Perhaps a /dev/raid0stat, on which the
following ioctls

  ioctl(3,RAIDFRAME_GET_INFO,0x7f7fffffd890)
  ioctl(3,RAIDFRAME_GET_INFO,0x7f7ffffef238)
  ioctl(3,RAIDFRAME_GET_COMPONENT_LABEL,0x7f7ffffef410)
  ioctl(3,RAIDFRAME_GET_INFO,0x7f7ffffef238)
  ioctl(3,RAIDFRAME_GET_COMPONENT_LABEL,0x7f7ffffef410)
  ioctl(3,RAIDFRAME_CHECK_PARITY,0x7f7fffffd898)
  ioctl(3,RAIDFRAME_CHECK_RECON_STATUS,0x7f7ffffef424)
  ioctl(3,RAIDFRAME_CHECK_PARITYREWRITE_STATUS,0x7f7ffffef420)
  ioctl(3,RAIDFRAME_CHECK_COPYBACK_STATUS,0x7f7ffffef41c)

would work.  Or perhaps this argues for fine-grained capabilities
instead of suid.

Additionally, it would be nice if raidctl -s printed the status line one
would want for monitoring, something like:

STATUS: green

STATUS: yellow Reconstructing parity, 45% done.

STATUS: red Component wd1 FAILED.

since raidctl already has all of the data in machine-readable format.
The status line would basically have the worst aspect of the current
state encoded for a human.

Attachment: pgp5utTxiU55k.pgp
Description: PGP signature



Home | Main Index | Thread Index | Old Index