nologin 쉘을 사용하여 루트 사용자에서 다른 사용자로 전환하는 방법은 무엇입니까?

nologin 쉘을 사용하여 루트 사용자에서 다른 사용자로 전환하는 방법은 무엇입니까?

방금 리눅스를 배웠어요. testuser라는 새 사용자를 루트로 만들었습니다. 그런 다음 testuser를 nologin 쉘로 변경했습니다.

이제 testuser로 로그인하여 nologin 쉘을 사용하는 사용자가 무엇을 할 수 있는지/할 수 없는지 확인하고 싶습니다.

나는 시도했습니다: su testuser 및 다음을 얻었습니다: 이 계정은 현재 사용할 수 없습니다. 나는 다음을 시도했습니다: su - testuser 그리고 다음을 얻었습니다: su: 경고: 디렉토리를 /home/testuser로 변경할 수 없습니다: 해당 파일이나 디렉토리가 없습니다. 이 계정은 현재 사용할 수 없습니다.

nologin 쉘을 사용하여 루트에서 사용자로 전환하는 방법은 무엇입니까?

답변1

쉘의 목적 nologin은 사용자가 로그인하는 것을 방지하는 것입니다. 이러한 사용자는 FTP, IMAP/POP3 등과 같은 서버 서비스를 계속 사용할 수 있지만 sshd 또는 콘솔 등을 사용하여 로그인할 수는 없습니다.

nologin 쉘을 사용하여 루트에서 사용자로 전환하는 방법은 무엇입니까?

sudo -u USERNAME /bin/bash

예, 하지만 루트만 가능합니다.

답변2

Artem의 답변은 좋지만 sudo사용할 수 없는 경우 다음을 사용할 수도 있습니다.

su --shell /bin/bash USERNAME

/ 로고 su에 대한 매뉴얼 에서 :-s--shell

대상 사용자에게 제한된 쉘이 있는 경우(즉, /etc/passwd에 있는 사용자 항목의 쉘 필드가 /etc/shells에 나열되지 않음)- 껍데기옵션 또는$쉘환경 변수는 다음을 제외하고는 고려되지 않습니다.루트로 호출됩니다.

관련 정보