![노틸러스 3.28.1에는 심각한 보안 문제가 있습니다](https://linux55.com/image/132342/%EB%85%B8%ED%8B%B8%EB%9F%AC%EC%8A%A4%203.28.1%EC%97%90%EB%8A%94%20%EC%8B%AC%EA%B0%81%ED%95%9C%20%EB%B3%B4%EC%95%88%20%EB%AC%B8%EC%A0%9C%EA%B0%80%20%EC%9E%88%EC%8A%B5%EB%8B%88%EB%8B%A4.png)
Gnome 3.28을 사용하여 Arch Linux를 설치할 때 최근 Nautilus가 루트 권한 없이 시작될 때 Nautilus를 사용하여 개인 디렉토리 /root로 이동하여 내부 파일을 볼 수 있다는 것을 알았습니다. 또한 이와 같이 노틸러스를 시작하면 루트가 아닌 사용자로 파일 시스템의 어느 곳에나 디렉터리를 만들 수 있습니다.
$ 노틸러스관리자:///
루트 권한 없이 노틸러스를 사용하는 것이 어떻게 가능합니까? 현재로서는 이것은 나에게 매우 이상한 보안 허점처럼 보입니다.
답변1
리눅스/유닉스는 잘 작동합니다. 시스템 root
파일은아니요눈에 보이지는 않지만 글을 쓸 수는 없어야 합니다. 볼 수는 있지만 읽을 수는 없는 파일이 있습니다(예 /etc/shadow
: ).
답변2
내 문제는 sudo 시스템의 안전하지 않은 구성으로 인해 발생했습니다. Arch Linux 시스템을 설치하고 루트 계정 없이 명령을 실행할 수 있게 되었을 때 다음과 같이 sudoers 파일에 직접 사용자 이름을 추가했습니다.
martin ALL=(ALL) ALL
sudo에서는 잘 작동하지만 polkit에서는 전혀 작동하지 않습니다. 이 구성을 사용하면 pkexec
shell을 입력하면 암호를 묻지 않고 루트 쉘이 열립니다. 그러나 Nautilus가 디렉토리에 액세스하려고 하면 명령 /root
을 실행합니다 pkexec
. 이렇게 하면 비밀번호 없이 일반 사용자 계정을 사용하여 이 디렉토리에 들어갈 수 있습니다.
이 문제를 해결하기 위해 사용자를 wheel
그룹에 넣고 sudoers 파일에서 이 줄의 주석 처리를 제거했습니다.
# %wheel ALL=(ALL) ALL
어쨌든 이것은 노틸러스의 보안 결함이 아니라 제가 만든 안전하지 않은 구성입니다...죄송합니다.