Page 1 of 1

Permission denied on unionfs directory

Posted: Wed Mar 12, 2014 4:20 pm
by gmdune
All,

I'm getting a permission denied when running check_disk on a unionfs mounted directory. Oddly enough, when manually running the check, from the command line, no error gets posted other than a disk warning:

./check_disk "-w 15% -c 5% -W 50% -K 25% -X none -X cifs -X fuse -X nfs -X nfsd"
DISK WARNING - free space: / 57208 MB (60% inode=99%); /dev/shm 3921 MB (100% inode=99%); /boot 40 MB (43% inode=99%); /backups 2578907 MB (24% inode=95%); /mnt/nfs/backup-02 2068228 MB (18% inode=98%); /mnt/nfs/backup-03 5278630 MB (46% inode=98%); /mnt/nfs/backup-04 2178515 MB (21% inode=99%); /mnt/unionfs/backups 2578907 MB (6% inode=23%);| /=37399MB;84720;;0;99671 /dev/shm=0MB;3332;;0;3921 /boot=53MB;83;;0;98 /backups=7904814MB;8911162;;0;10483721 /mnt/nfs/backup-02=8825094MB;9259323;;0;10893322 /mnt/nfs/backup-03=6024292MB;9607483;;0;11302922 /mnt/nfs/backup-04=8059447MB;8702267;;0;10237962 /mnt/unionfs/backups=40339020MB;36480237;;0;42917927

On nagios server, I'm getting the following output:

DISK CRITICAL - /mnt/unionfs/backups is not accessible: Permission denied

BTW: /mnt/union/backups permissions are all at least 766 starting at /mnt; this mount is manually mounted not through fstab or autofs.

Thanks

Re: Permission denied on unionfs directory

Posted: Wed Mar 12, 2014 4:28 pm
by slansing
Does the nagios user/group have access? It is likely that it worked from the CLI as it was probably ran as root.

Re: Permission denied on unionfs directory

Posted: Wed Mar 12, 2014 7:16 pm
by technick
I agree, sounds like a permissions issue.

You can manually test it by running sudo -u nagios /usr/local/nagios/libexec/check_disk "-w 15% -c 5% -W 50% -K 25% -X none -X cifs -X fuse -X nfs -X nfsd"

Re: Permission denied on unionfs directory

Posted: Thu Mar 13, 2014 9:49 am
by sreinhardt
Thanks for the continued helpful posts technick! I was just going to suggest the same thing, it's very important to make sure that when checking plugin execution you are running as the nagios user not root, as that is how the plugin would be run when executed from the nagios daemon.

Re: Permission denied on unionfs directory

Posted: Thu Mar 13, 2014 10:35 am
by gmdune
Guys,

You were right, the nagios user can't read the /mnt/unionfs/backups directory:

[root@sr-backup-01-p ~]# sudo -u nagios /usr/local/nagios/libexec/check_disk "-w 15% -c 5% -W 50% -K 25% -X none -X cifs -X fuse -X nfs -X nfsd"
DISK CRITICAL - /mnt/unionfs/backups is not accessible: Permission denied
[root@sr-backup-01-p ~]# su - nagios
[nagios@sr-backup-01-p ~]$ cd /mnt/
[nagios@sr-backup-01-p mnt]$ ls -l
total 8
drwxrwxr-x 5 root root 4096 Jan 23 12:29 nfs
drwxrwxrwx 3 root root 4096 Oct 21 12:25 unionfs
[nagios@sr-backup-01-p mnt]$ cd unionfs/
[nagios@sr-backup-01-p unionfs]$ ls -l
ls: cannot access backups: Permission denied
total 0
d????????? ? ? ? ? ? backups

I have no idea why the permissions are all messed up when the nagios user tries to look at that directory, but the directory can be read as root. I'm trying to come up with a one liner that will ignore that directory, but every iteration I try doesn't work:

[nagios@sr-backup-01-p unionfs]$ sudo -u nagios /usr/local/nagios/libexec/check_disk "-w 15% -c 5% -W 50% -K 25% -i /mnt/unionfs/backups -X none -X cifs -X fuse -X nfs -X nfsd -X unionfs"
DISK CRITICAL - /mnt/unionfs/backups is not accessible: Permission denied
[nagios@sr-backup-01-p unionfs]$ sudo -u nagios /usr/local/nagios/libexec/check_disk "-w 15% -c 5% -W 50% -K 25% -i=/mnt/unionfs/backups -X none -X cifs -X fuse -X nfs -X nfsd -X unionfs"
DISK CRITICAL - /mnt/unionfs/backups is not accessible: Permission denied

What am I doing wrong?

Thanks

Re: Permission denied on unionfs directory

Posted: Thu Mar 13, 2014 10:52 am
by sreinhardt
Have you tried removing the " " around your flags? I would not be suprised if this was causing it to come in as one argument and not get processed correctly. Otherwise everything looks like it should.

Re: Permission denied on unionfs directory

Posted: Thu Mar 13, 2014 2:44 pm
by gmdune
All,

Thanks so much!

What you suggested worked from the command line just fine. Now my only questions is how do I code this in the commands.cfg file. Right now it looks like this:

command_name check_local_disk
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$

Would I just add a "-i"

command_name check_local_disk
command_line $USER1$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$ -i $ARG4

Thanks again for your help

Re: Permission denied on unionfs directory

Posted: Thu Mar 13, 2014 3:06 pm
by lmiltchev
You should have "-i $ARG4$" instead of "-i $ARG4". Let us know if this worked for you.

Re: Permission denied on unionfs directory

Posted: Thu Mar 13, 2014 4:54 pm
by gmdune
Yet is it did!
Thanks everyone for your help!