naver/arcus

Warning: run() received nonzero return code 64 while executing

Closed this issue · 4 comments

memcached를 등록 후 시작시 해당 오류를 반환하며 실행이 안되는 문제 입니다.
사용자를 지정해서 실행시키면 잘되네요. :)

memcached는 non-root user로 구동하여야 합니다..

관련 정보로, memcached committer인 dustin의 권고 내용을 발췌한 내용입니다.

Please, Please Do Not Run as Root
memcached does not want to run as root. It tries hard to prevent this. Yet many people have a “workaround” that allows memcached to start as root (which I will not repeat) just for the sake of making their infrastructure less secure.

If someone somehow bypasses the firewall you have set up preventing access to memcached and somehow manages to find a security hole in memcached allowing code execution, do you really want to just hand over root access?

There are no such known issues, but we don’t audit the code to ensure it’s safe to run as root. That’s OK, though, because no responsible sysadmin would ever run a service as root without very strong justification, and probably a lot of work in creating a jailed environment.

Memcached security에 관한 dustin의 글은 아래를 참조하세요.

http://dustin.sallings.org/2010/08/08/memcached-security.html

@ruo91 제보 감사합니다 ^^
jhpark816님께서 말씀하셨듯이 memcached는 root 권한으로 실행되는 것을 가정하지 않고 있으며 만약 root 유저가 실행했을 경우에는 반드시 -u 옵션을 주도록 되어 있습니다. 보내주신 패치로는 "-u root" 옵션이 적용되는 것을 막을 수 없기 때문에 조금 다른 방법을 생각해보는 것이 좋을 것 같네요.

@jhpark816 @hoonmin 따로 사용자를 만들어두어 실행해야하는데.. 테스트 하다보니 정신이 없었군요. 가르침 감사합니다. ^^;

일단은 -u 옵션을 따로 사용하지 않고,
README.md 파일에 non-root user 이어야 함을 명시하는 것으로 정리하겠습니다.
@ruo91 감사합니다.