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.