나는 최근에 Unix 계열 운영 체제에 대해 조금 배울 수 있도록 내 컴퓨터에 OpenBSD 4.9를 설치했습니다. 시스템에 bruno라는 새 사용자를 추가했습니다. 좋아요 "sudo" 명령을 사용하면 비밀번호를 묻는 메시지가 나타납니다. 그래서 비밀번호를 입력합니다. 그런데 비밀번호가 맞다고 확신하는데도 비밀번호가 틀렸다고 계속해서 떠요. 내가 여기서 무엇을 놓치고 있는 걸까요? 추가하면 알겠다
bruno ALL = (ALL) NOPASSWD: ALL
/etc/sudoers 파일에 추가하면 더 이상 비밀번호를 묻지 않으며 sudo 명령을 실행할 수 있습니다. 여기서 무엇을 해야 합니까? 가장 정확하고 안전한 옵션은 무엇입니까? 사소한 질문이라면 죄송합니다. 이 문제에 대한 좋은 설명을 찾을 수 없습니다. 나는 단지 해결책을 찾는 것이 아니라 전체 사용자/권한/비밀번호가 어떻게 작동하는지에 대한 설명을 찾고 있습니다.
답변1
이것은 사이의 차이점을 보여주는 그림입니다.확인하다그리고승인하다.
Sudo는 주로 인증 도구입니다. 이것이 하는 일은 높은 권한으로 명령을 실행할 수 있는지 여부를 결정하고, 그렇다면 명령을 실행하는 것입니다. 비슷한
bruno ALL = (ALL): ALL
파일의 내용을 sudoers
통해 사용자는 bruno
모든 권한으로 모든 명령을 실행할 수 있습니다.
이 규칙을 적용하려면 Sudo는 자신을 호출하는 사용자가 실제로 임을 알아야 합니다 bruno
. 원칙적으로 시스템의 인증 메커니즘에 의존할 수 있습니다. 로 명령을 실행할 수 있으면 bruno
이미 인증되었음을 의미합니다 bruno
. 그러나 Sudo를 사용하면 심각한 결과가 발생할 수 있으므로 Sudo에는 몇 가지 추가 인증이 필요합니다. 때로는 비밀번호를 다시 입력해야 할 수도 있습니다. 즉, 콘솔을 방치하고 지나가는 사람이 로 명령을 실행할 수 있으면 bruno
Sudo를 사용할 수 없습니다. 계정이 손상될 수 있지만 시스템의 나머지 부분은 손상되지 않습니다.
비밀번호를 요청하는 것의 또 다른 장점은 비정상적인 일이 발생했음을 알려준다는 것입니다. 예를 들어, 앱을 자동으로 호출할 수 없습니다 sudo
. 비밀번호를 묻는 메시지가 표시되며, 예상치 못한 비밀번호 메시지가 표시되어 문제가 발생했음을 알려줍니다.
실제로 Sudo를 실행할 때마다 비밀번호를 묻는 것은 귀찮을 수 있습니다. 따라서 기본 동작은 타협하는 것입니다. 즉, 몇 분마다 비밀번호를 요청하는 것입니다. 이렇게 하면 sudo
지난 몇 분 동안 실행한 경우에만 지나가는 사람이나 응용 프로그램이 실행되어 손상을 입힐 수 있습니다.
답변2
설명서를 읽어야 합니다: ( man sudo
또한여기), 규칙이 무엇인지 잘 모르겠지만 대부분의 UNIX 시스템에서 sudo는 wheel
그룹의 사용자에게만 허용됩니다. 따라서 이 새로운 사용자에 대해 비밀번호를 요구하는 규칙을 만들거나 이 사용자를 휠 그룹에 추가해야 합니다. (사용 usermod -a -G wheel bruno
)