[unix] 루트로 실행되고 있는데 왜 / run / user / 1000 / gvfs read를 찾을 수 없습니까?

누군가 내가 뭘 잘못하고 있는지, 이것이 무엇인지, 어떻게 고칠 수 있는지 말해 줄 수 있습니까? Fedora 18을 실행 중이며 오류가 표시됩니다.

[root@servername /]# find . -name ngirc
find: `./run/user/1000/gvfs': Permission denied
[root@servername /]#
[root@thinktank /]# pwd
/
[root@thinktank /]# ls -ltr ./run/user/1000
ls: cannot access ./run/user/1000/gvfs: Permission denied
total 0
d?????????? ? ?    ?      ?            ? gvfs
lrwxrwxrwx. 1 root root  17 May 28 12:30 X11-display -> /tmp/.X11-unix/X0
drwx------. 2 kal  kal  120 May 28 12:30 keyring-QjDw4b
drwx------. 2 kal  kal   40 May 28 12:30 gvfs-burn
drwx------. 2 kal  kal   60 May 28 12:30 krb5cc_5f0bcaf94f916d6b61696e2251a4dbb3
drwx------. 2 kal  kal   60 May 28 18:25 dconf



답변

당신은 잘못한 것이 없으며 고칠 일이 없습니다. /run/user/$uid/gvfs또는 GVFS~$user/.gvfs 에 대한 FUSE 인터페이스 의 마운트 지점입니다 . GVFS는 Gnome에 대한 가상 파일 시스템 구현으로, Gnome 애플리케이션이 FTP 또는 Samba 서버와 같은 자원 또는 로컬 디렉토리와 같은 zip 파일의 컨텐츠에 액세스 할 수 있도록합니다. FUSE는 파일 시스템 드라이버를 커널 코드 대신 사용자 코드로 구현하는 방법입니다. GVFS-FUSE 게이트웨이는 Gnome 라이브러리를 사용하는 것뿐만 아니라 모든 응용 프로그램이 GVFS 파일 시스템 드라이버에 액세스 할 수 있도록합니다.

파일 시스템 드라이버는 기존 파일 시스템의 커널 코드와 달리 권한이없는 사용자로 실행되기 때문에 FUSE 파일 시스템으로 신뢰 경계를 관리하기가 어렵습니다. 복잡성을 피하기 위해 기본적으로 FUSE 파일 시스템은 드라이버 프로세스를 실행하는 사용자 만 액세스 할 수 있습니다. 루트 조차도이 제한을 무시하지 않습니다.

로컬 파일 시스템에서만 파일을 검색하는 경우으로 전달 -xdev하십시오 find. 여러 로컬 파일 시스템을 순회하려면 모두 열거하십시오.

find  / /home -xdev -name ngirc

파일이 어제부터 존재했다면 locate ngirc대신 시도 할 수 있습니다 ( locate일반적으로 매일 밤 업데이트되는 파일 이름 데이터베이스를 통해 검색).

GVFS 마운트 지점을 통과하려면 적절한 사용자로 수행해야합니다.

find / -name ngirc -path '/run/user/*/gvfs' -prune -o -path '/home/*/.gvfs' -prune -o -name ngirc -print
for d in /run/user/*; do su "${d##*/}" -c "find $d -name ngirc -print"; done


답변

그것은 A의 퓨즈 문제 . 소유자 이외의 사용자는 읽을 수 없습니다. 기본 구성을 해결하려면 user_allow_other 옵션을 활성화하십시오. 이 옵션은 /etc/fuse.conf에 추가하여 지정됩니다. 값이 없으므로 빈 줄에 옵션을 지정하십시오.


답변

다음과 같이 gvfs에 대한 권한 및 기타 세부 사항을 얻는 경우

d?????????? ? ?    ?      ?            ? gvfs

다음 명령을 사용하여 gvfs를 마운트 해제하십시오. 이 절차를 따르면 문제가 해결됩니다.

umount ~/gvfs(umount /run/user/112/gvfs in my case).

GVFS (GNOME Virtual File System)는 GNOME 데스크탑 용 가상 파일 시스템으로, udev 통합을 통해 SFTP, FTP, WebDAV, SMB 및 로컬 데이터를 통해 원격 데이터에 쉽게 액세스 할 수 있으므로 마운트 해제시 두려워 할 필요가 없습니다. .


답변

이것은 오래된 스레드이지만 그놈 버그 보고서에서는 최근에 공개 된 문제이므로 gvfs-fuser 문제를 해결하기위한 솔루션을 몇 시간 동안 검색하는 사람에게 유용 할 수 있습니다. 모두 밀접하게 관련되어있는 것 같습니다.

meld의 오류 메시지 :

Error copying '/media/root/5FDA03906F33F217/SAVE/rsyncTEST-usb/allusers' to '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'

[Errno 95] Operation not supported: '/run/user/0/gvfs/ftp:host=192.168.0.103/var/ftp/ftpd/images/PersistenceUSBs/rsync-meld/allusers'.

ftp를 통해 meld / diff / kdiff를 사용하려는 gvfs-fuser 문제가 발생했습니다. 퓨저와 gvfs 사이에 문제가있는 것 같습니다. 3.15.1에서는 문제가 발생하지 않지만 3.15.2에서보고되기 시작합니다. (새로운 파이썬 버전?) 해결책은 해결책이 아닙니다. 파일 / 디렉토리는 복사되지만 오류는 여전히 표시됩니다.

Christopher의 답변 은 문제를 정의하고 해결책을 제공합니다.

또 다른 가능한 해결책은 sshfs를 사용하는 것입니다 ( 이 주석이 스레드 참조 ). 에 대한 자세한 내용 은 gvfs 명령과 cat, ls, cp와 같은 일반적인 명령의 차이점gvfs-commands무엇입니까?를 참조하십시오 .

아마도 관련 버그는 그놈 # 317875그놈 # 768281 입니다.


답변