루트 액세스 등의 문제

루트 액세스 등의 문제

갑자기 루트가 되지 않으면 우분투에서 아무것도 할 수 없습니다. emacs를 실행하면 파일에 액세스할 수 없다는 메시지가 나타납니다. (그리고 sudo에서 실행되며 잘 작동합니다.) Firefox는 루트가 될 때까지 보안 문제를 일으키며 이 문제를 해결하는 방법을 모릅니다.

나는 su에 들어가서 sudo를 제거하고 이것이 문제를 해결할 것이라고 생각하여 다시 설치했지만 (BC 한때 나는 emacs와 visudo를 사용하여 sudoers 파일을 편집했습니다) 소용이 없었습니다. 어떤 아이디어가 있나요? 이건 정말 짜증나는 경험이야

편집하다:자세한 내용은. 이전에는 Virtualbox를 sudo(GUI 버전)로 실행하려고 했는데 특정 시스템에 액세스할 수 없다는 문제가 있었습니다. 그래서 내 모든 명령이 루트로 실행되었는지 확인하고 싶었기 때문에 sudoers 파일(사용자 이름 (ALL) = (All) 등 구문)에 자신을 추가했고 한동안 모든 것이 정상이었습니다. 그런 다음 이러한 문제는 Firefox 및 Emacs 등에서 발생했습니다. 따라서 과거에 이러한 파일에 액세스할 수 있었던 그룹에서 자신도 모르게 자신을 제거한 것 같습니다.

2번 편집:emacs가 시작될 때 특정 오류에 대해 "로드 파일을 열 수 없습니다:/home/path.../.emacs.d/elpa/asynch-20151104.2113/async-pkg ... 이제 이것은 다음으로 실행하지 않을 때만 발생합니다. pkg 권한을 망친 것일 수 있습니까? Firefox 오류는 다음과 비슷하지만(오류 코드: sec_error_bad_signature) ~/.modzilla 폴더를 삭제한 후에는 문제를 재현할 수 없습니다.

답변1

홈 디렉토리에 루트 소유 파일이 있는 것 같습니다.

이는 과거에 sudo를 사용하여 애플리케이션을 실행하고 해당 애플리케이션이 홈 디렉터리에 파일을 저장했기 때문에 발생했을 수 있습니다.

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

find /home/ -uid 0

그런 다음 적절하게 사용자에게 다시 표시할 수 있습니다.

chown myuser:myuser -R [files]

여기서 files는 특정 파일이나 하위 디렉터리입니다. 일부 파일 소유권이 다른 경우에 대비하여 전체 홈 디렉토리에서 이와 같은 명령을 실행하는 것은 일반적으로 좋은 생각이 아닙니다.고의의또는 무언가에 필요합니다.

문제의 원인에 대해 특정 응용 프로그램은 구성 또는 캐시 파일과 같은 정상적인 작동 중에 홈 디렉터리에 파일을 저장합니다. 이는 그래픽 응용 프로그램에서 매우 일반적이지만 일부 비그래픽 응용 프로그램에서는 여전히 이 작업을 수행할 수 있습니다. 이제 를 사용 sudo하고 애플리케이션이 이를 수행하면 홈 디렉토리에 루트 소유 파일이 생성됩니다. 그런 다음 향후 이 애플리케이션을 실행하려고 시도합니다.없이이제 루트로만 열 수 있는 파일이 있기 때문에 루트가 실패할 수 있습니다.

해결책은 해당 파일의 소유자를 사용자로 다시 변경하거나 중요하지 않다고 생각되면 삭제하는 것입니다.

앞으로 이 문제를 방지하려면 sudo를 사용할 때 다음을 사용할 수 있습니다.

sudo -H [command]

그래픽 응용 프로그램인 경우 대안으로 사용할 수 있습니다.

gksudo [command]

이는 애플리케이션이 자신의 홈 디렉터리 대신 루트 사용자의 홈 디렉터리를 사용하도록 지시합니다.

관련 정보