sudo vs su (루트가 아닌 사용자로)


10

내 컴퓨터에는 두 명의 관리자 인 user1과 user2가 있습니다.

user1로 로그인 한 상태에서 다음을 시도합니다.

  • "su-user2"-> users2 암호를 입력하라는 메시지가 표시되면 명령을 입력 할 수 있습니다
  • "sudo --user = user2 [command]"-> 암호를 입력하라는 메시지가 표시됩니다. user2의 비밀번호를 입력하면 "죄송합니다. 다시 시도하십시오." 암호가 틀린 것처럼 오류 메시지가 나타납니다. user1의 비밀번호를 입력하면 제대로 실행됩니다.

sudo 명령에 "--user"매개 변수에 정의한 사용자 비밀번호가 필요하지 않습니까?


2
Sudo (super user do)는 sudo 명령을 호출하는 사용자의 pword를 요청합니다. Su (사용자 전환)가 전환중인 사용자의 비밀번호를 요청합니다.
— Mr. Kennedy

답변:


21

이것은 예상되는 동작입니다.

  • su의 목적은 사용자를 전환하는 것입니다. 이를 대체 사용자 식별 도구라고합니다. su는 다른 사용자의 비밀번호를 사용합니다. 그 사용자로 전환하기 때문입니다.

    su 유틸리티는 PAM을 통해 적절한 사용자 자격 증명을 요청하고 해당 사용자 ID (기본 사용자는 수퍼 유저)로 전환합니다. 그런 다음 쉘이 실행됩니다.

    출처 : 매뉴얼 페이지

  • sudo의 목적은 다른 사용자로서 명령을 실행하는 것입니다. sudo 의 -uor --user옵션은 해당 사용자를 지정합니다. 해당 사용자로 로그인하지 않고 명령 만 실행하면됩니다. sudo는 이러한 작업을 수행하기 위해 사용자 의 비밀번호를 확인하기 위해 비밀번호를 사용합니다.


따라서 user1이 sudoers 파일에 없으면 sudo를 할 수 없습니다. "su"?
— Pablo

1
@Pablo 사실입니다
— grg

@Pablo "사용자 전환"대 "슈퍼 사용자 수행". 하나는 다른 사용자로 인증해야합니다. 다른 하나는 수퍼 유저로 인증해야합니다.
— 거미 보리스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.