방금 리눅스를 배웠어요. 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에 나열되지 않음)- 껍데기옵션 또는$쉘환경 변수는 다음을 제외하고는 고려되지 않습니다.수루트로 호출됩니다.