데비안 8.1에서 슈퍼유저는 왜 sudo 대신 su를 사용하여 실행합니까? [폐쇄]

데비안 8.1에서 슈퍼유저는 왜 sudo 대신 su를 사용하여 실행합니까? [폐쇄]

susuperuser excute() 대신 superuser 명령이 실행되는 이유가 궁금합니다 sudo.

답변1

su이는 sudo다른 사용자(아마도 루트)로서 프로그램(아마도 셸)을 실행하는 가장 일반적인 두 가지 방법입니다. 동일한 효과가 있지만 작업 허용 여부를 결정하는 방식이 매우 다르게 작동합니다.

  • su원본 사용자가 루트이거나 사용자가 대상 계정에 대한 액세스 권한이 있음을 증명해야 합니다(일반적으로 비밀번호를 입력하여).
  • sudo사전 승인 필요: 원본 사용자, 대상 사용자 및 명령의 조합은 구성 파일에서 선언되어야 합니다.

su가장 먼저 나타났습니다: 일찍 나타났습니다.유닉스 V31973년. 당시에는 루트가 되는 경우만 다루었습니다(따라서 이름은 다음과 같습니다).에스우수한-재즈). sudo나중에 왔어1980년에, 복잡한 인증 정책을 정의할 수 있는 가능성을 추가합니다. su오래되고 단순하기 때문에 모든 UNIX 계열 시스템에서 사용할 수 있는 표준 도구이며 sudo매우 일반적인 추가 기능이지만 기본 설치 및 임베디드 시스템에서는 누락되는 경우가 많습니다.

suDebian은 기본 시스템의 일부이기 때문에 기본값 입니다. Linux에는 다음과 같은 su프로그램이 있습니다.GNU Coreutils(및 lscp) 및유틸리티Linux(및 mount, fdisktaskset). 루트로 실행되는 많은 시스템 스크립트는 su시스템 사용자로 작업을 시작하는 데 사용됩니다 . 이 sudo패키지는 시스템 없이도 시스템을 실행할 수 있기 때문에 선택 사항입니다. 이는 최종 사용자 도구이며 다른 소프트웨어에서는 거의 사용되지 않습니다.

보안을 위해 다음을 참조하세요.sudo, su 또는 login 중 루트 권한을 얻는 가장 안전한 방법은 무엇입니까?

답변2

Sudo는 시스템에 설치되거나 설치되지 않을 수 있는 추가 프로그램입니다. sudo데비안에서는 소프트웨어 패키지로 제공됩니다 . 언급하고 있는 특정 상황/코드에 대한 추가 정보가 없으면 가장 가능성 있는 대답은 sudo가 설치되었다고 가정할 수 없다는 su것 입니다.POSIX 표준에는 다음이 필요합니다.Debian 기본 시스템의 일부로 설치됩니다. 따라서 이식성을 극대화하려는 스크립트나 튜토리얼에서는 su.

관련 정보