왜 "su"를 통해 루트가 될 수 없나요?

왜 "su"를 통해 루트가 될 수 없나요?

왜 작동하지 않지만 작동합니까 su? 시스템을 sudo -i통해 루트가 되고 싶을 때 su내 비밀번호는 허용되지 않지만 sudo -i이를 통해 작동합니다.

su: Authentication failure

답변1

짧은 답변은 sudoers 매뉴얼 페이지에서 찾을 수 있습니다( man sudoers전체 페이지를 보려면 입력하세요).

Unlike su(1), when sudoers requires authentication, it validates
the invoking user's credentials, not the target user's (or root's)
credentials.

sudosu비밀번호를 묻는 경우와 루트 비밀번호를 묻는 경우 도 마찬가지입니다 .

긴 대답

su방법사용자 변경, 예를 들어 해당 사용자로 쉘을 시작합니다. 예를 들어 어떤 사용자를 지정할 수 있습니다 . 그러면 비밀번호를 su someuser입력하라는 메시지가 표시됩니다 . someuser사용자가 지정되지 않은 경우 su기본값은 루트 사용자입니다. 그래서 를 입력하면 su루트 비밀번호를 묻습니다.

sudo방법,다른 사용자로 명령 실행, sudo -i다른 사용자로 로그인 쉘을 실행하는 것을 의미합니다. 사용자를 지정할 수 있지만 지정하지 않으면 기본값은 루트입니다. su다른 사용자의 비밀번호를 기대하는 대신 보안 정책을 적용하세요 . sudo기본 보안 정책은 파일을 검사하는 것입니다 /etc/sudoers. 이 파일의 기본 버전에는 다음이 포함됩니다.

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

이는 사용자가 이 그룹에 있으면 sudo모든 사용자가 모든 명령을 실행할 수 있음을 의미합니다. 이것이 효과가 있다면 sudo -i아마도 자신의 계정이 sudo 그룹에 있기 때문일 것입니다. 그러나 sudo명령을 실행하기 전에 다음과 같이 묻습니다.당신의루트 사용자의 비밀번호가 아닌 비밀번호를 다시 입력하십시오.

답변2

루트 비밀번호 설정/변경:

sudo passwd root

su그런 다음 명령을 실행할 수 있습니다 .

관련 정보