/bin/false 사용자에서는 명령을 실행할 수 없습니다.

/bin/false 사용자에서는 명령을 실행할 수 없습니다.

센토스 8.

다음이 있습니다 snowuser:

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep snowuser  
snowuser:x:1002:1002::/home/snowuser:/bin/bash   
[snowuser@snowcannon-01 ~]$ groups  
snowuser wheel

사용자 가 있습니다 tomcat:

[snowuser@snowcannon-01 ~]$ cat /etc/passwd | grep tomcat  
tomcat:x:1003:1003::/opt/tomcat:/bin/false  


cat /etc/group | grep "tomcat\|snowuser"  
wheel:x:10:ydyachuk,amsliusar,snowuser  
snowuser:x:1002:   
tomcat:x:1003:   

다음 사용자 로 Tomcat의 시작 스크립트를 실행하려고 합니다 tomcat.

/bin/su tomcat -c /opt/tomcat/bin/startup.sh

그러나 오류 메시지가 나타나지도 않았고 Tomcat 프로세스도 실행되지 않았다는 의미는 없습니다.

내가 아는 한 가지 세부 사항은 명령이 오류와 함께 실행되고 있다는 것입니다.

[snowuser@snowcannon-01 ~]$ echo $?
1

tomcat사용자에게 스크립트 실행에 대한 적절한 권한이 있는 것 같습니다 .

[snowuser@snowcannon-01 ~]$ ll /opt/tomcat/bin/startup.sh 
-rwxr-xr-x. 1 tomcat tomcat 1904 Nov 11 15:14 /opt/tomcat/bin/startup.sh

Tomcat을 실행하려면 어떻게 해야 합니까?

답변1

기본 셸을 설정하면 사용자가 전환되고 실행됩니다 /bin/false.su

/bin/false -c /opt/tomcat/bin/startup.sh

당신은 사용할 수 있습니다-s 옵션su의 설정을 재정의하려면 호출 /etc/passwd하는 사용자가 루트이거나 의 기존 항목이 /etc/passwd에 나열되어 있는 경우에만 허용됩니다 /etc/shells.

관련 정보