root
su
특정 일반 사용자로 로그인 한 경우입니다 . 나는 실행하여 su username
즉시 프롬프트를 받았지만 여전히 루트로 실행 중입니다. 오류가 발생하지 않습니다. 나는 "당신이 현재 있는 폴더에 대한 권한이 없기 때문에 당신이 su하려는 사용자" 문제를 알고 있지만 이 경우에는 그렇지 않습니다. 또한 오류가 표시되지 않습니다. 제가 아는 한 특정 권한 문제가 발생할 때 항상 발생합니다.
나는 그것을 시도했고 su - username
효과는 동일합니다. 명령이 처리되고 오류가 표시되지 않으며 즉시 프롬프트가 표시됩니다.
이 동작의 원인은 무엇입니까? 이 문제를 어떻게 해결할 수 있나요?
답변1
사용자가 어떤 쉘을 사용하고 있는지 확인하십시오 /etc/passwd
. 쉘이 /bin/false
(로그인을 비활성화하는 일반적인 쉘)인 경우 설명하는 동작을 볼 수 있습니다. 또는 즉시 종료되어 동일한 유효한 결과를 제공하는 다른 프로그램일 수도 있습니다.
답변2
프로세스가 실패한 위치를 확인하려면 su 프로세스에서 strace를 사용하는 것이 좋습니다.
strace su donaldduck
정렬해야 할 많은 출력이 제공되어야 하지만 그 안에 있는 내용은 문제가 발생한 위치를 나타내야 합니다.
답변3
쉘을 체크인 /etc/passwd
하고, 거만한 태도를 취하지 말고 whoami
쉘을 실행한 후 출력을 확인해야 합니다 su
.
답변4
또 다른 질문: 나에게는 exit
명령 권한이 있습니다.
/home/user/.bashrc