su는 사용자를 변경하지 않지만 오류로 응답하지 않습니다


56

특정 일반 사용자에게 로그인하고 root싶습니다 su. 나는 su username여전히 루트로 프롬프트를 실행 하고 즉시 수신합니다. 오류가 없습니다. 오래된 "현재 사용중인 폴더에 대한 권한이없는 사용자"문제에 대해 알고 있습니다.이 경우에는 해당되지 않습니다. 또한 특정 권한 문제가 발생할 때 항상 표시되는 오류는 표시되지 않습니다.

나는 su - username같은 효과로 시도했다 . 명령이 처리되고 오류가 표시되지 않으며 즉시 프롬프트가 표시됩니다.

이 문제의 원인은 무엇입니까? 이 문제를 어떻게 해결할 수 있습니까?


8
사용자는 어떤 쉘을 가지고 있습니까? 그렇 /bin/false습니까?
camh

4
당신은 정말 사용되어야한다 sudo -u username -s(또는 -iBTW).
mgorven

2
@ camh facepalm 그게 다야. /etc/passwd어제 밤에 확인 했는데 맹세 컨대 =) 대답으로 넣을 수 있습니까? 받아 들일 게요
웨슬리

답변:


68

사용자가 가지고있는 쉘을 확인하십시오 /etc/passwd. 쉘이 /bin/false(로그인을 허용하지 않는 일반적인 쉘) 경우 설명하는 동작을 볼 수 있습니다. 또는 동일한 효과를 나타내는 다른 즉시 종료 프로그램 일 수도 있습니다.


2
그거였다. 맹세 컨데 내가 먼저 보았다! =)
웨슬리

25
그리고 /bin/false쉘 에서 사용자로 무언가를 디버깅 해야하는 경우으로 할 수 있습니다 su - user -s /bin/sh.
Marki555

6

su 프로세스에서 strace를 사용하여 프로세스가 실패한 위치를 확인하는 것이 좋습니다.

strace su donaldduck

정렬 할 출력을 많이 제공해야하지만 문제가 발생한 위치를 나타내는 것이 있습니다.


1
바보 같은 markdown ....
마젤란

4

에서 쉘을 확인 /etc/passwd하고, 후원하기를 원하지 않으면 서 whoami실행 후의 출력을 확인하십시오 su.


1
왜 그런 식으로 후원을 받는지 잘 모르겠습니다. 나는 내 말은 할 수 당신이 원한다면,하지만 내 첫 성향 없을 것이다. =) 어쨌든, 나는 내가 내가 생각했던 사람인지 확인하기 위해 그렇게했음을 잊어 버렸고 여전히 root내가 전환하려는 사용자가 아니 었습니다.
웨슬리

0

시스템 로그 확인 : sudo를 사용하면 모든 작업을 기록해야합니다. 따라서 문제가 있으면 작성해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.