centOS 8 redhet
rescue 모드에서 root 비밀번호를 바꾸려고 하던 중,
passwd: Authentication token manipulation error 발생
루트권한을 가져오지 못해서 에러가 발생..실행은 되었지만 마지막에 비밀번호를 변경할 수 있는 권한을 가져오지 못해서 생기는 문제라고 한다.
비밀번호를 관리하는 shadow라는 파일은 root 계정에게만 읽기 권한이 있다.
이때, 내가 비밀번호를 바꾸려고 한다면 당연히 비밀번호를 바꿀 수 있는 권한은 root에게 있기 때문에, 나는 비밀번호를 바꿀 수 없다.
이때 setUID는 일시적으로 자신의 아이디를 바꾸도록 해서, shadow에 접근하여 일시적으로 UID를 root로 바꾸는 것을 허용하게 하며, 이를 이용해서 해킹까지 할 수 있다.
이러한 setUID가 없다면 root는 할 일이 너무 많아질 것이다. 패스워드를 바꾸고자 하는 유저가 많을 때 root는 매번 해당 유저의 패스워드를 바꿔줘야 할 것이다.
setUID는 shadow파일 뿐만 아니라 리눅스의 여러 파일들이 이런 setUID를 가지고 있다. 일반 유저가 이러한 파일을 다루면서 잠시 setUID를 빌리고 어떠한 버그를 이용해서 setUID를 유지, 즉 root권한을 획득하게 되면 시스템 겟또-
https://m.blog.naver.com/sung_mk1919/221780796199
https://dang-dang12.tistory.com/20