내 Debian 설치의 그룹 구성원은 sudo
비밀번호를 입력하지 않고도 무엇이든 할 수 있습니다. 이것은 편리하지만 나쁜 생각인 것 같습니다.
노트:내 컴퓨터는 서버나 그와 유사한 것이 아닌 일반 데스크톱입니다.
비활성화해야 합니까, 아니면 안전합니까?
발생할 수 있는 상황(즉, 가능한 공격 벡터)을 설명하기 위한 보너스 포인트입니다.
답변1
이 sudo
명령은 에서 실행됩니다 /etc/sudoers
.
여기에는 다음과 같은 줄이 포함되어야 합니다.
%sudo ALL=(ALL) ALL
이를 통해 sudo 그룹의 모든 구성원은 임의의 명령을 허용할 수 있습니다(모든 호스트의 모든 사용자).
줄에 해당 NOPASSWD:
부분이 포함되어 있지 않으면 자신의 비밀번호를 입력하라는 메시지가 표시됩니다.
새 소프트웨어 설치와 같은 관리 작업을 완료하려면 어떤 방법이 필요합니다. 두 가지 주요 방법은 전용 루트 비밀번호를 사용하여 명시적으로 루트로 로그인하거나 sudo
이를 허용하는 권한이 있는 사용자를 사용하는 것입니다.
활성화는 NOPASSWD:
때로는 편리하지만 sudo
피드백 없이 스크립트를 사용할 수 있으므로 일상적인 계정에는 위험할 수 있습니다.
그렇지 않은 경우 NOPASSWD:
비밀번호 sudo
를 입력하라는 메시지가 표시됩니다. 이를 위해서는 명령을 명시적으로 확인해야 하며 일상적인 계정에 적합한 설정입니다. 유일한 약점은 확인 정보가 잠시 동안 캐시된다는 것입니다. 이는 일부 sudo 작업을 수행한 후 다른 사람이 터미널에 액세스하여 이를 악용할 수 있다는 것입니다.
"올바른" 구성은 상황에 따라 다르지만 일반적으로 루트 비밀번호가 전혀 없는 호스트를 설정합니다. 이런 방식으로 루트 작업을 수행하는 유일한 방법은 일반(개인화된!) 사용자 및 sudo로 로그인하는 것입니다.
이렇게 하면 많은 통제력을 갖게 됩니다. 여러 사람에게 루트 액세스를 허용해야 하는 경우 해당 사람들을 sudo 그룹에 추가하기만 하면 됩니다. 그러면 누가 언제 어떤 루트 명령을 실행했는지 로그 파일에서 확인할 수 있습니다. 어떤 사용자가 어떤 명령을 실행할 수 있는지 등을 지정할 수도 있습니다.