public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: Bug#274860: Acknowledgement (kernel-image-2.6.8-1-686: CDROM_SEND_PACKET ioctls only work as root)
       [not found]   ` <20041004131014.GF19341@lkcl.net>
@ 2004-10-04 13:53     ` Luke Kenneth Casson Leighton
  2004-10-04 14:01       ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Luke Kenneth Casson Leighton @ 2004-10-04 13:53 UTC (permalink / raw)
  To: 274860; +Cc: linux-kernel, 274867

found it.

it's a new piece of kernel code verify_command in
drivers/block/scsi_ioctl.c, which checks for the capability
CAP_SYS_RAWIO.

ah, dammit.

for k3b to work, you'd have to install it setuid root, call
getcap(), remove all but the necessary capabilities (i.e. don't
remove CAP_SYS_RAWIO), do a setfsuid() and setfsgid() and do
a setcap().

fuse (file system in userspace) uses this technique for allowing
mount and unmount but nothing else

[which doesn't work on 2.6.8 btw: the getcap() fails, but i did notice
that debian doesn't install fusermount as setuid to root which is half
the problem...]

l.

On Mon, Oct 04, 2004 at 02:10:14PM +0100, Luke Kenneth Casson Leighton wrote:
> additional info:
> 
> kernel 2.6.8.  ioctl ("/dev/hdc", CDROM_SEND_PACKET, cmd)
> 
> commands that are failing as non-root, even when permission is granted
> rwxrwxrwx to /dev/hdc, are, according to some debug info added to k3b:
> 
> 	GET CONFIGURATION (46)
> 	error code: 0
> 	sense key: NO SENSE (2)
> 	asc: 0
> 	ascq: 0
> 
> and:
> 
> 	MODE SELECT (55)
> 	error code: 0
> 	sense key: NO SENSE (2)
> 	asc: 0
> 	ascq: 0
> 
> the result is that k3b cannot determine that the drive exists, therefore
> it cannot use it even though cdrecord might actually work.
> 
> 
> as root, the following errors occur:
> 
> 	MODE SELECT (46)
> 	errorcode: 70
> 	sense key: ILLEGAL REQUEST (5)
> 	asc: 26
> 	ascq: 0
> 
> 	READ DVD STRUCTURE (ad)
> 	errorcode: 70
> 	sense key: NOT READY (2)
> 	asc: 3a
> 	ascq: 0
> 
> presumably it can be concluded that the GET CONFIGURATION ioctl command
> is the one at fault.
> 
> ... what gives?
> 
> l.
> 
> -- 
> --
> Truth, honesty and respect are rare commodities that all spring from
> the same well: Love.  If you love yourself and everyone and everything
> around you, funnily and coincidentally enough, life gets a lot better.
> --
> <a href="http://lkcl.net">      lkcl.net      </a> <br />
> <a href="mailto:lkcl@lkcl.net"> lkcl@lkcl.net </a> <br />
> 
> -- 
> --
> Truth, honesty and respect are rare commodities that all spring from
> the same well: Love.  If you love yourself and everyone and everything
> around you, funnily and coincidentally enough, life gets a lot better.
> --
> <a href="http://lkcl.net">      lkcl.net      </a> <br />
> <a href="mailto:lkcl@lkcl.net"> lkcl@lkcl.net </a> <br />
> 

-- 
--
Truth, honesty and respect are rare commodities that all spring from
the same well: Love.  If you love yourself and everyone and everything
around you, funnily and coincidentally enough, life gets a lot better.
--
<a href="http://lkcl.net">      lkcl.net      </a> <br />
<a href="mailto:lkcl@lkcl.net"> lkcl@lkcl.net </a> <br />


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Bug#274860: Acknowledgement (kernel-image-2.6.8-1-686: CDROM_SEND_PACKET ioctls only work as root)
  2004-10-04 13:53     ` Bug#274860: Acknowledgement (kernel-image-2.6.8-1-686: CDROM_SEND_PACKET ioctls only work as root) Luke Kenneth Casson Leighton
@ 2004-10-04 14:01       ` Jens Axboe
  2004-10-04 14:16         ` K.R. Foley
  2004-10-04 14:25         ` Luke Kenneth Casson Leighton
  0 siblings, 2 replies; 5+ messages in thread
From: Jens Axboe @ 2004-10-04 14:01 UTC (permalink / raw)
  To: Luke Kenneth Casson Leighton; +Cc: linux-kernel

On Mon, Oct 04 2004, Luke Kenneth Casson Leighton wrote:
> found it.
> 
> it's a new piece of kernel code verify_command in
> drivers/block/scsi_ioctl.c, which checks for the capability
> CAP_SYS_RAWIO.
> 
> ah, dammit.
> 
> for k3b to work, you'd have to install it setuid root, call
> getcap(), remove all but the necessary capabilities (i.e. don't
> remove CAP_SYS_RAWIO), do a setfsuid() and setfsgid() and do
> a setcap().

it works in 2.6.9-rcX.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Bug#274860: Acknowledgement (kernel-image-2.6.8-1-686: CDROM_SEND_PACKET ioctls only work as root)
  2004-10-04 14:01       ` Jens Axboe
@ 2004-10-04 14:16         ` K.R. Foley
  2004-10-04 14:25         ` Luke Kenneth Casson Leighton
  1 sibling, 0 replies; 5+ messages in thread
From: K.R. Foley @ 2004-10-04 14:16 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Luke Kenneth Casson Leighton, linux-kernel

Jens Axboe wrote:
> On Mon, Oct 04 2004, Luke Kenneth Casson Leighton wrote:
> 
>>found it.
>>
>>it's a new piece of kernel code verify_command in
>>drivers/block/scsi_ioctl.c, which checks for the capability
>>CAP_SYS_RAWIO.
>>
>>ah, dammit.
>>
>>for k3b to work, you'd have to install it setuid root, call
>>getcap(), remove all but the necessary capabilities (i.e. don't
>>remove CAP_SYS_RAWIO), do a setfsuid() and setfsgid() and do
>>a setcap().
> 
> 
> it works in 2.6.9-rcX.
> 

I don't know for sure if this is related or not, but it sure sounds like 
it. I have noticed the following in at least the last few versions (I 
believe 2.6.9-rc2 also): Even though CONFIG_SECURITY_CAPABILITIES can be 
configured as a module, if I don't compile it into the kernel getcap and 
setcap fail.

kr

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Bug#274860: Acknowledgement (kernel-image-2.6.8-1-686: CDROM_SEND_PACKET ioctls only work as root)
  2004-10-04 14:25         ` Luke Kenneth Casson Leighton
@ 2004-10-04 14:19           ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2004-10-04 14:19 UTC (permalink / raw)
  To: Luke Kenneth Casson Leighton; +Cc: linux-kernel

On Mon, Oct 04 2004, Luke Kenneth Casson Leighton wrote:
> On Mon, Oct 04, 2004 at 04:01:46PM +0200, Jens Axboe wrote:
> > On Mon, Oct 04 2004, Luke Kenneth Casson Leighton wrote:
> > > found it.
> > > 
> > > it's a new piece of kernel code verify_command in
> > > drivers/block/scsi_ioctl.c, which checks for the capability
> > > CAP_SYS_RAWIO.
> > > 
> > > ah, dammit.
> > > 
> > > for k3b to work, you'd have to install it setuid root, call
> > > getcap(), remove all but the necessary capabilities (i.e. don't
> > > remove CAP_SYS_RAWIO), do a setfsuid() and setfsgid() and do
> > > a setcap().
> > 
> > it works in 2.6.9-rcX.
>  
>  okay so someone has added the GET_CAPABILITY to verify_command in
>  scsi_block.c there, yes?

GET_CONFIGURATION, yes. There have been a number of additions since
2.6.8.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Bug#274860: Acknowledgement (kernel-image-2.6.8-1-686: CDROM_SEND_PACKET ioctls only work as root)
  2004-10-04 14:01       ` Jens Axboe
  2004-10-04 14:16         ` K.R. Foley
@ 2004-10-04 14:25         ` Luke Kenneth Casson Leighton
  2004-10-04 14:19           ` Jens Axboe
  1 sibling, 1 reply; 5+ messages in thread
From: Luke Kenneth Casson Leighton @ 2004-10-04 14:25 UTC (permalink / raw)
  To: Jens Axboe; +Cc: linux-kernel

On Mon, Oct 04, 2004 at 04:01:46PM +0200, Jens Axboe wrote:
> On Mon, Oct 04 2004, Luke Kenneth Casson Leighton wrote:
> > found it.
> > 
> > it's a new piece of kernel code verify_command in
> > drivers/block/scsi_ioctl.c, which checks for the capability
> > CAP_SYS_RAWIO.
> > 
> > ah, dammit.
> > 
> > for k3b to work, you'd have to install it setuid root, call
> > getcap(), remove all but the necessary capabilities (i.e. don't
> > remove CAP_SYS_RAWIO), do a setfsuid() and setfsgid() and do
> > a setcap().
> 
> it works in 2.6.9-rcX.
 
 okay so someone has added the GET_CAPABILITY to verify_command in
 scsi_block.c there, yes?


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-10-04 14:25 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1CES9w-0005Lh-6f@lkcl.net>
     [not found] ` <handler.274860.B.10968930694757.ack@bugs.debian.org>
     [not found]   ` <20041004131014.GF19341@lkcl.net>
2004-10-04 13:53     ` Bug#274860: Acknowledgement (kernel-image-2.6.8-1-686: CDROM_SEND_PACKET ioctls only work as root) Luke Kenneth Casson Leighton
2004-10-04 14:01       ` Jens Axboe
2004-10-04 14:16         ` K.R. Foley
2004-10-04 14:25         ` Luke Kenneth Casson Leighton
2004-10-04 14:19           ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox