로그인하지 않은 셸 사용자(예: 사용자)로 apache
로그인하려면 어떻게 해야 합니까?
내가 실행하면 sudo su - apache
다음을 얻습니다.
이 계정은 현재 사용할 수 없습니다.
/etc/passwd에는 다음이 있습니다.
아파치:x:48:48:아파치:/var/www:/sbin/nologin
답변1
-u <username>
및 옵션을 사용하여 -s
대화형 셸을 시작합니다. 예를 들어, sudo -u apache -s
다음으로 테스트해 보세요 whoami
.
에서 man sudo
:
-s [명령어]
-s(쉘) 옵션은 SHELL 환경 변수(설정된 경우)로 지정된 쉘 또는 비밀번호 데이터베이스에 지정된 쉘을 실행합니다. 명령이 지정되면 쉘의 -c 옵션을 통해 실행할 수 있도록 쉘에 전달됩니다. 명령이 지정되지 않으면 대화형 쉘이 실행됩니다.
-u 사용자
-u(사용자) 옵션을 사용하면 sudo가 루트가 아닌 사용자로 지정된 명령을 실행합니다. 사용자 이름 대신 uid를 지정하려면 #uid입니다. uid 로 명령을 실행할 때 많은 쉘에는
#' be escaped with a backslash (
')가 필요합니다. 보안 정책은 uid를 비밀번호 데이터베이스에 나열된 것으로 제한할 수 있습니다. sudoers 정책은 targetpw 옵션이 설정되지 않은 한 비밀번호 데이터베이스에 없는 uid를 허용합니다. 다른 보안 정책에서는 이를 지원하지 않을 수 있습니다.