A simple and dirtly walkaround we use now is to set root suid bit on chg-scsi,
this solves all problems for now.
Regards
Kirill
On Mon, 18 Nov 2002 17:53:11 +0100
Kirill Alder-Ponazdyr <lists AT codeangels DOT com> wrote:
> On Mon, 18 Nov 2002 11:42:11 -0500
> Galen Johnson <gjohnson AT trantor DOT org> wrote:
>
> > Perhaps the barcode device has different ownership/permissions/group
> > than the rest of the devices? I don't have a barcode reader device so
> > I'm just throwing out possiblities...
> >
> > =G=
>
> Not really, the barcodes are being read trough the same device which is used
> to controll the library, and that one is readable / writable by sys group.
>
> Also, the chg-scsi is actually able to read the barcodes (visible in debug)
> but trashes somewhere past that point. I did 2 x trusses, one for root and
> one for amanda, this is what I see when looking at the area near crash:
>
> Amanda User:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ----cut--------
> write(10, " 1 0 3 7 6 3 5 5 9 7 : #".., 50) = 50
> time() = 1037635597
> write(10, " 1 0 3 7 6 3 5 5 9 7 : #".., 37) = 37
> time() = 1037635597
> write(10, " 1 0 3 7 6 3 5 5 9 7 : d".., 51) = 51
> time() = 1037635597
> write(10, " 1 0 3 7 6 3 5 5 9 7 : #".., 48) = 48
> open64("/etc/amanda/daily.scsi/tape0-slot", O_RDONLY) = 4
> fstat64(4, 0xFFBFF728) = 0
> fstat64(4, 0xFFBFF5D0) = 0
> ioctl(4, TCGETA, 0xFFBFF6B4) Err#25 ENOTTY
> read(4, " 0\n", 8192) = 2
> llseek(4, 0xFFFFFFFFFFFFFFFF, SEEK_CUR) = 1
> close(4) = 0
> time() = 1037635597
> write(10, " 1 0 3 7 6 3 5 5 9 7 : #".., 31) = 31
> time() = 1037635597
> write(10, " 1 0 3 7 6 3 5 5 9 7 : u".., 57) = 57
> time() = 1037635597
> write(10, " 1 0 3 7 6 3 5 5 9 7 : u".., 64) = 64
> time() = 1037635597
> time() = 1037635597
> time() = 1037635597
> time() = 1037635597
> time() = 1037635597
> time() = 1037635597
> Incurred fault #6, FLTBOUNDS %pc = 0x000182E4
> siginfo: SIGSEGV SEGV_MAPERR addr=0x00000020
> Received signal #11, SIGSEGV [default]
> siginfo: SIGSEGV SEGV_MAPERR addr=0x00000020
> ----end--------
>
> Root User:
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> ----cut--------
> write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 50) = 50
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 37) = 37
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : d".., 51) = 51
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 48) = 48
> open64("/etc/amanda/daily.scsi/tape0-slot", O_RDONLY) = 4
> fstat64(4, 0xFFBFF718) = 0
> fstat64(4, 0xFFBFF5C0) = 0
> ioctl(4, TCGETA, 0xFFBFF6A4) Err#25 ENOTTY
> read(4, " 0\n", 8192) = 2
> llseek(4, 0xFFFFFFFFFFFFFFFF, SEEK_CUR) = 1
> close(4) = 0
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 31) = 31
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : u".., 57) = 57
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : u".., 64) = 64
> time() = 1037635622
> time() = 1037635622
> time() = 1037635622
> time() = 1037635622
> time() = 1037635622
> time() = 1037635622
> time() = 1037635622
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 42) = 42
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 34) = 34
> time() = 1037635622
> write(10, " S C S I _ E x e c u t e".., 38) = 38
> time() = 1037635622
> write(10, " 0 0", 3) = 3
> time() = 1037635622
> write(10, " 0 0", 3) = 3
> time() = 1037635622
> write(10, " 0 0", 3) = 3
> time() = 1037635622
> write(10, " 0 0", 3) = 3
> time() = 1037635622
> write(10, " 0 0", 3) = 3
> time() = 1037635622
> write(10, " 0 0", 3) = 3
> time() = 1037635622
> write(10, "\n", 1) = 1
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 33) = 33
> open64("/dev/rmt/0cbn", O_RDWR|O_NDELAY) = 4
> ioctl(4, 0x04C9, 0xFFBFF9F0) = 0
> close(4) = 0
> time() = 1037635622
> time() = 1037635622
> write(10, " 1 0 3 7 6 3 5 6 2 2 : #".., 46) = 46
> time() = 1037635622
> alarm(0) = 0
> sigaction(SIGALRM, 0xFFBFF9C0, 0xFFBFFA70) = 0
> sigprocmask(SIG_BLOCK, 0xFFBFFA60, 0xFFBFFA50) = 0
> alarm(1) = 0
> Received signal #14, SIGALRM, in sigsuspend() [caught]
> sigsuspend(0xFFBFFA40) Err#4 EINTR
> setcontext(0xFFBFF728)
> alarm(0) = 0
> sigprocmask(SIG_UNBLOCK, 0xFFBFFA60, 0x00000000) = 0
> sigaction(SIGALRM, 0xFFBFF9C0, 0x00000000) = 0
> ----cut--------
>
|