salt-call报错OSError: [Errno 13] Permission denied: '/root/.gvfs'

今天通过salt获取磁盘信息,并且通过return到mysql,但是发现表里面少了点minion的信息,然后经查看,都是一些新的ibm x3650 m4的机器

然后在saltstack的源码找到了status.diskusage的实现,先看看是怎么实现的磁盘使用量吧,下面是源码

ret = {}
for path in selected:
    fsstats = os.statvfs(path)
    blksz = fsstats.f_bsize
    available = fsstats.f_bavail * blksz
    total = fsstats.f_blocks * blksz
    ret[path] = {"available": available, "total": total}
return ret

先把路径打印出来看看都是什么

在salt/modules/status.py文件第454行添加

print path
salt-call -l debug status.diskusage

可以看到path遍历了几个目录,以下是目录

/export
/proc/sys/fs/binfmt_misc
/proc
/home
/dev
/swap
/boot/efi
/
/selinux
/proc/bus/usb
/net
/dev/pts
/misc
/root/.gvfs

发现了/root/.gvfs,由于salt是普通用户启动的,不能读取/root/目录,所以先看看这个是干什么的

[root@XXXXXXXXX admin]# mount |grep gvfs
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
[root@BJ-CQU-KFPT2-I192 admin]# ps aux|grep /root/.gvfs|grep -v grep
root      8810  0.0  0.0 274812  2796 ?        Ssl  Apr24   0:01 /usr/libexec//gvfs-fuse-daemon /root/.gvfs
[root@XXXXXXXXX admin]# 
[root@xxxxxxxxxx admin]# ls -al /root/.gvfs/
总用量 4
dr-x------.  2 root root    0 4月  24 18:33 .
dr-xr-x---. 26 root root 4096 5月  26 15:51 ..

目录是空的,但是也被挂载了
查看资料之后发现chinaunix有解释,下面是连接

http://bbs.chinaunix.net/thread-2004280-1-1.html

卸载之后再次执行命令,OK!

posted @ 2015-09-17 16:29  呜呼哀哉嘎嘣脆  阅读(1086)  评论(0编辑  收藏  举报