영어로 nobody 는 다양한 의미가 있지말 일반적으로 아무것도 아닌것 또는 아무것도 아닌사람의 의미로 사용된다.
'Nobody knows it" 라고 하면 아무도 모른다는 의미이다. 직역하면 오는 사람이 없다는 뜻이다.
인터넷에서 nobody는 웹서버 프로그램인 아파치의 사용자 이름이다.
XE의 경우 ./files 폴더의 권한을 707로 만들면 그 폴더내에 생기는 화일들의 소유자는 nobody. nobody이다.
즉 사용자는 nobody이고 사용자 그룹도 nobody인 것이다.
근데 apache라는 사용자를 이용하는 서버도 있다. 즉 nobody.nobody 대신 apache.apache로 화일이 생성되는 것이다.
어떻게 보면 아파치를 아파치라고 부르는 것이 합당한 듯하다.
문제는 이제껏 화일들이 nobody로 생겼고 관리하는 사람도 nobody에 익숙해져 있다.
centos7을 깔면서 아파치를 설정하면 apache.apache로 자동 설정된다.
/etc/httpd/conf/httpd.conf에 보면
User apache
Group apache
로 설정되어있습니다.
오랜동안 nobody로 사용하던 습관탓에
User nobody
Group nobody
로 수정했습니다.
당연히 아파치는 nobody권한으로 동작하고 생성된 화일의 소유주는 nobody로 만들어집니다.
근데 문제는 엉뚱한 곳에서 불거지더군요.
웹서버에서 session 정상적으로 생기지 않는다는 사실을 며칠이 지나고서 알게 되었습니다.
세션을 생성하고 저장하는 /var/lib/php/session 폴더의 소유주가 apache로 되어있었습니다.
nobody로 개명된 아파치는 apache의 권한이 없어서 세션을 읽지도 쓰지도 못하는 겁니다.
/var/lib/php/* 의 소유주를 nobody로 변경하고 나서는 정상작동하기는 하지만
좌우간 아무거나 함부로 변경할 것은 아닙니다.