SLES 12의 터미널에서 다른 사용자로 전환하는 방법은 무엇입니까?

SLES 12의 터미널에서 다른 사용자로 전환하는 방법은 무엇입니까?

사용자( useradd -d /home/newuser -c "My new user" -s /bin/true newuser)를 생성하고 비밀번호( su newuser)를 설정했으며 이 사용자 이름으로 작업하고 싶었습니다. 하지만 해당 사용자로 전환할 수 없습니다. 오류 메시지 없음, 경고 없음 - 전환이 성공하지 못했습니다.

olduser@mymachine$ su - newuser
Password:
olduser@mymachine$ whoami
olduser@mymachine$ olduser

또는

olduser@mymachine$ su newuser
Password:
olduser@mymachine$ whoami
olduser@mymachine$ olduser

SUSE Linux Enterprise Server 12에서 CLI를 통해 사용자를 전환하는 방법은 무엇입니까?

답변1

newuser할당할 쉘을 지정하여 생성한 방식이라고 생각합니다 ./bin/true-s /bin/true

useradd매뉴얼 페이지 에서 :

https://linux.die.net/man/8/useradd

-s, --shell SHELL
    The name of the user's login shell. The default is to leave this field blank, which causes the system to select the default login shell specified by the SHELL variable in /etc/default/useradd, or an empty string by default. 

/bin/true종료 상태 로 설정하면 0오류 메시지가 생성되지 않습니다. 이러한 쉘 설정은 시스템에 로그인하는 것이 허용되지 않는 사용자에게만 일반적입니다. 일반적 /bin/false으로 이 결과는 cannot create shell적어도 실패 이유를 제공하는 것과 유사한 오류 메시지를 생성하므로 사용됩니다.

으로 해결 가능합니다 usermod -s /bin/bash newuser.

관련 정보