ls : .gvfs에 액세스 할 수 없습니다 : 권한이 거부되었습니다


11

터미널에서 응용 프로그램을 root ( sudo gedit /etc/default/varnish) 로 실행할 때마다 다른 터미널을 열 때 터미널 맨 윗줄에 "ls : .gvfs : Permission denied"오류가 발생합니다.

인터넷에서 해결책을 찾았습니다.

  umount /path/to/.gvfs
  rm -rf .gvfs

그러나 일시적으로 문제를 해결합니다.

시스템에 두 개의 마운트 된 gvfs 인스턴스가있는 것으로 보입니다.

  $ sudo mount |grep gvfs
    gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=33)
    gvfsd-fuse on /home/****/.gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=0,group_id=0)

몇 개월 전과 같은지 홈 폴더에서 권한을 변경 해야하는 것과 관련이 있는지 모르겠습니다.

  sudo chown -R $USER:www-data

문제 해결을 도와 주시겠습니까?

편집 : 마운트 해제 후 /run/user/1000/gvfs해당 오류가 발생하지 않습니다.


1
그리고 이것이 sudo그래픽 프로그램으로 실행되어서는 안되는 이유 중 하나입니다 .
muru


@muru 링크를 주셔서 감사합니다. 그래픽 응용 프로그램을 열기 위해 sudo를 실행하지 않아야하는 이유를 잘 설명하고 있습니다. 그러나 나는 왜 왜 내가 그 오류 메시지를 받기 시작했는지 궁금합니다.
kenn

링크 된 질문에서 가장 중요한 대답을 인용하면 : "이것은 때때로 구성 파일이 루트에 의해 소유되어 사용자가 액세스 할 수 없게합니다 (나중에 루트가 아닌 사용자 자신으로 프로그램을 실행할 때)."
muru

1
이 특정 상황이 실제로 sudo를 사용하여 그래픽 프로그램실행하는 것과 관련이 없을 수 있습니다 . 사용자 폴더 에 대한 권한 / 액세스 는 항상 흥미롭고 (우리 중 일부에게는) 놀라웠습니다 . .gvfs
Eliah Kagan

답변:


10

그래픽 응용 프로그램을 함께 실행 sudo하면 때때로 이와 같은 문제가 발생할 수 있습니다.

설명

sudo루트로 실행하는 것과 같이 수퍼 유저 권한으로 프로그램을 실행하지만 프로그램은 여전히 ​​현재 홈 디렉토리를 홈 디렉토리로 간주 합니다 .

따라서 소프트웨어가 구성 파일을 작성할 때 루트 사용자 가 소유 한 홈 디렉토리에 파일을 작성하게 됩니다. 편집하거나 삭제할 수없는 파일이 생길 수 있으며 소프트웨어를 수정할 수 없어서 더 많은 문제가 발생할 수 있습니다.

가장 좋은 해결책은 무엇입니까?

대안이 있습니다 : gksudo.

이 sudo 변형은 홈 디렉토리와 같은 환경 변수를 설정하여 루트로 그래픽 응용 프로그램을 훨씬 안전하게 실행하고 홈 디렉토리에서 루트 소유 파일을 작성하는 프로그램을 혼동하지 않습니다.

왜 이것이 그래픽 응용 프로그램에 영향을 줍니까?

이것은 그래픽 응용 프로그램에만 영향을 미치지 않으며 모든 그래픽 응용 프로그램에도 영향을 미치지 않습니다. 현재 사용자의 홈 디렉토리 내에 구성을 저장하는 응용 프로그램에 영향을줍니다. 이것은 그래픽 응용 프로그램에서 더 일반적입니다.

때로는 응용 프로그램이 sudo로 실행 중인지를 감지하고 그에 따라 동작을 조정할 수 있지만 일반적으로 sudo로 실행되지 않는 그래픽 응용 프로그램에서는 일반적이지 않습니다.

문제를 어떻게 해결합니까?

홈 디렉토리에서 루트 소유 파일 및 디렉토리를 찾아서 제거해야합니다. 내 생각에 소유권을 변경하는 것보다 제거하는 것이 좋습니다. 사용자가 아닌 루트 사용자이므로 소유권을 변경하면 예기치 않은 결과가 발생할 수 있습니다. 나중에 원하는 것이 있다고 판단되면 다시 백업 할 수 있습니다.

홈 디렉토리에서 루트 소유 파일을 찾으려면 다음을 수행하십시오.

find ~ -user root

여전히 일부 응용 프로그램 (사용자로 실행)에 문제가있는 경우 재부팅하여 다시 실행 해보십시오 /tmp. 간혹 일부 응용 프로그램에서 기존 구성 파일이 손상 되어 홈 디렉토리에서 모든 구성 을 제거해야 할 수도 있지만 많은 경우에는 그렇지 않습니다.


설명해 주셔서 감사합니다. 어떻게 고칠 수 있습니까? 아니면 모두 나와 같은 문제가 있습니까?
kenn

3
그래픽 프로그램을 실행할 때 gksudo대신 사용 sudo합니다.
thomasrutter

따라서 내 시스템에는 아무런 문제가 없습니다.
kenn

2
예, 홈 디렉토리에 루트 소유 파일이 아닌 루트 소유 파일이있을 가능성이 있습니다.
thomasrutter 2014 년

2

사용자에게 권한을 부여하면 .gvfs/문제를 해결해야합니다.

sudo chown -R $USER.$USER ~/.gvfs/
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.