Linux 비밀번호 사용자 권한 변경

Linux 비밀번호 사용자 권한 변경

내가 볼 때

usr/bin/

디렉토리에 passwd가 포함된 명령줄이 표시됩니다.

-rwsr-xr-x. 1 root root 30768 2012-02-22 20:48 /usr/bin/passwd

그리고 변경을 통해 루트 권한을 얻을 수 있습니다. 와 함께.

루트만 다른 사용자의 비밀번호를 변경할 수 있는지 궁금합니다.

passwd   user

이 명령의 위치를 ​​찾아서 찾아보고 싶습니다.

이 명령도 usr/bin/ 디렉토리의 일부입니까? 또는 다른 것

내가 하고 싶은 일은.

로그인했어요

user1

그리고 입력

[user1] passwd user2

물론 어느 정도 막혔습니다. 하지만 더 알고 싶습니다.

답변1

Unix(및 Linux)에는 이 개념이 있습니다.진짜사용자와효과적인사용자. 예를 들어, setuid 프로그램은 /usr/bin/passwd유효 사용자를 파일의 소유자로 설정합니다. 이 경우 유효 사용자를 로 설정합니다 root.

이제 프로그램이 이러한 상승된 권한을 사용하는 방법은 프로그램 자체에 따라 다릅니다.

프로그램에 관한 한 passwd사용자 이름을 전달하면 다음을 확인합니다.진짜사용자는 루트입니다. 그렇다면 성공하고, 그렇지 않으면 오류가 반환됩니다.

따라서 root사용자가 실행할 수 있고 /usr/bin/password user2이것이 작동하지만 user동일한 명령이 실행되면 실패합니다. 프로그램은 하나 뿐이지만 실행하는 사용자에 따라 작동 방식이 달라집니다.

답변2

passwd바이너리는 파일을 수정하려면 루트 권한이 필요하기 때문에 적합합니다 /etc/shadow. 권한이 없는 사용자가 다른 사용자의 비밀번호를 변경하는 것을 허용하지 않습니다. root모든 사용자의 비밀번호를 변경할 수 있지만 그것이 안전한 이유는 아닙니다.

관련 정보