sudo가 su를 대체할 수 있나요?

sudo가 su를 대체할 수 있나요?

Linux 기반 시스템에는 중복되는 기능이 많이 있습니다. 예를 들어 이러한 시스템은 동일한 작업을 수행합니다.

sudo --login --user <user>
sudo su - <user>

이것sudo-only 방식이 더 우아해 보입니다. 없이도 가능한가요?su너무 많이 파괴하지 않고?

답변1

su내가 올바르게 기억한다면 다음과 같은 미묘한 차이점이 있습니다 sudo.

  • su사용자 ID 변경만 허용됩니다(예: 슈퍼유저가 됨).
  • su다른 사용자의 비밀번호를 알고 있는 모든 사용자가 이를 제어할 수 없이 해당 사용자가 되도록 허용합니다.
  • sudo다른 사용자(루트 포함)로 명령을 실행할 수 있습니다.
  • sudo파일에 의해 제어됩니다 /etc/sudoers.

이 명령의 원래 목표 sudo는 루트 권한으로 명령을 실행할 수 있는 사람과 실행할 수 없는 사람을 더 효과적으로 제어하는 ​​것이었습니다. 시스템에 여러 관리자가 있는 경우 sudo루트 암호 없이 루트로 명령을 실행하도록 허용하는 것이 내 관점에서는 더 안전합니다 . 많은 배포판에서는 /etc/sudoers사용할 수 있는 사용자 또는 그룹 목록을 제어할 수 있습니다 sudo.

답변2

사용 측면에서 보면 sudo는 su를 완전히 대체할 수 있습니다. 하지만 많은 스크립트와 프로그램에서 사용되기 su때문에 안전하게 제거할 수 있는 방법은 없습니다. 많은 Linux 배포판에는 sudo가 사전 설치되어 있지 않습니다. 스크립트에서 sudo를 사용하면 이러한 시스템과 호환되지 않습니다. Jernej가 자신의 의견에서 언급했듯이 su는 Posix 표준의 일부입니다. 이는 스크립트를 작성할 때 su스크립트를 사용하면 모든 Posix 호환 운영 체제에서 실행될 것이라고 신뢰할 수 있어야 함을 의미합니다 .

여기참고사항입니다.

답변3

sudo호출 프로세스보다 큰 파일 설명자를 자동으로 닫습니다. >&2이는 문제가 될 수 있습니다.

모든 sudoers것이 또 다른 것입니다.(아마도 불필요함)시도되고 테스트된 기본 사용자/그룹 Unix 스타일 권한 체계 /etc/passwd에서 추상화되었으므로 자체 관리가 필요합니다.

예를 들어,~에서man growisofs:

실행되면 sudo(8) growisofs시작이 거부됩니다. 그 이유는 다음과 같습니다. 당연히 growisofsDVD 미디어에 기록할 데이터 세트에 액세스하거나 mkisofs생성을 통해 간접적으로 액세스해야 합니다.ISO9660사전 마스터링된 이미지를 녹화하려는 경우 즉시 또는 직접 레이아웃할 수 있습니다. 에서 실행되면 sudo(8)파일 시스템의 모든 파일에 대한 읽기 액세스 권한을 growisofs효과적으로 부여합니다 . 이는 실행 가능한 이미지에 대한 대체 경로를 결정하기 위해 환경 변수가 구문 분석 된다는 사실로 인해 더욱 악화됩니다 . 즉 , 아래에서 실행하면 높은 권한으로 선택한 프로그램을 실행할 수 있는 권한이 효과적으로 부여됩니다 . 어떤 이유로든 위의 내용이 여전히 허용 가능하다고 생각하고 결과에 기꺼이 직면할 의향이 있는 경우 실제 바이너리를 얻기 위해 다음 래퍼 스크립트를 제자리에서 실행하는 것을 고려하십시오 .sudoersgrowisofs$MKISOFSmkisofssudo(8)growisofssudoerssudo(8)growisofs

    #!/bin/ksh
    unset SUDO_COMMAND
    export MKISOFS=/path/to/trusted/mkisofs
    exec growisofs "$@"

그러나 위의 "해결 방법"에 대해 제안된 대안은 실제로 설치이며 growisofs set-root-uid, 이 경우 데이터 mkisofs에 대한 무단 액세스를 방지하기 위해 데이터에 액세스하거나 실행하기 전에 권한을 삭제합니다.

적어도 su실제로는 일시적으로 사용자를 전환하고 Unix 스타일 권한을 유지합니다. sudo, 반면에,초월하다사용자. 그래도 올바르게 접근하면 /etc/sudoers sudo대부분의 측면에서 완전히 교체가 가능하며 대부분의 동일한 보안 문제가 제기되므로 su최소한의 보안 비용으로 편리하게 수행할 수 있으며 자체 안전 문제도 몇 가지 더 발생할 수 있습니다. 제 생각에는susudo이것은 훌륭한 토론이었습니다.이 주제에 대해.

하지만 그냥 건너뛰고 넘어가면 어떨까요?

CTRL+ ALT+Fn

login: root

또는...

ssh root@localhost

무슨 일이 있어도뿌리그래도?

관련 정보