nologin 사용자로 명령 실행


43

최근 에이 기사 를 사용하여 suPHP '가상'사용자가 로그인 할 수 없도록 서버를 설정했습니다.

내 문제는 이제 rake서버에서 실행되는 Ruby on Rails 응용 프로그램에 대한 명령을 실행하기 전에 거기에서 명령을 실행하고 실행하는 데 사용 su되었습니다 www-data.

루트 사용자로서 다른 사용자가 nologin 인 경우에도 어떻게 명령을 실행할 수 있습니까?


한 가지 방법은 해당 사용자를 위해 셸을 시작하는 것입니다 (명시 적으로 셸 지정). sudo -u www-data bash명령 및 로그 아웃 실행
cyberx86

@ cyberx86 귀하의 솔루션은 대우를 받고 있습니다. 저에게 답으로 제출할 수 있습니까?

답변:


50

한 가지 방법은 해당 사용자를 위해 셸을 시작하는 것입니다 (명시 적으로 셸 지정).

sudo -u www-data bash 

지정된 사용자로 (bash) 쉘이 시작됩니다. 그런 다음 명령 및 로그 아웃을 실행하여 이전 쉘로 돌아갈 수 있습니다.


39

루트로서 사용할 수 있습니다 su -s /bin/sh $user .이 -s옵션은 사용자에 대해 구성된 쉘을 대체합니다.


1
이것은 항상 나에게 오류가있는 것 같습니다.

나를 위해 위대한 작품, 결코 조사가 없었습니다. bash 구문으로 스크립트를 실행할 때 / bin / sh 대신 / bin / bash가 필요합니다.
ekerner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.