![웹 응용 프로그램 그룹에 cron 사용자를 추가할 때 발생하는 보안 문제](https://linux55.com/image/44418/%EC%9B%B9%20%EC%9D%91%EC%9A%A9%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%20%EA%B7%B8%EB%A3%B9%EC%97%90%20cron%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%A0%20%EB%95%8C%20%EB%B0%9C%EC%83%9D%ED%95%98%EB%8A%94%20%EB%B3%B4%EC%95%88%20%EB%AC%B8%EC%A0%9C.png)
CentOS 5.6 시스템의 cron 사용자에게 권한 문제가 있습니다.
내 테스트/스테이징 환경에서 내 cron 사용자( picco-cron
)는 다음과 같이 그룹의 구성원입니다 picco-cron
.
[crmpicco@1872-stage1 downloads]$ id picco-cron
uid=601(picco-cron) gid=601(picco-cron) groups=601(picco-cron)
그리고 내 개발 환경은 이 그룹의 구성원인 동일한 사용자입니다 dev
.
[root@dev53 dev_crmpicco]# id picco-cron
uid=503(picco-cron) gid=503(picco-cron) groups=503(picco-cron),555(dev)
내가 겪고 있는 문제는 PHP 웹 애플리케이션에 대한 디렉토리 세트가 있다는 것입니다 dev
. 이는 올바른 것이므로 개발 환경에서는 예상대로 이러한 디렉토리에 쓰거나 읽을 수 있습니다. 하지만 테스트/스테이징 환경에서는 picco-cron
그룹의 구성원이 아니기 때문에 할 수 없습니다 dev
.
내 질문은 - "cron" 사용자에게 내 애플리케이션 디렉토리의 90%에 쓸 수 있는 권한을 부여하는 데 보안 문제가 있습니까? 그룹 picco-cron
에 추가하는 것만큼 간단합니까 , 아니면 보안 문제가 있습니까?dev
답변1
거기에는 매우 특별한 설정이 있습니다.
IMHO, 스테이징 환경은 개발자에게 쓰기 액세스 권한을 제공해서는 안 됩니다.
따라서 두 가지 역할이 관련됩니다.
- 웹 서버 - 사용자 이름을 "apache"라고 부르겠습니다.
- "phpadm"을 사용하여 php-web-application을 최신 상태로 유지하는 기술 PHP 관리자
이제 phpadm은 웹 서버가 제공하는 파일에 쓸 수 있습니다. 이 목적을 위해 공통 그룹 "www"를 만들어 보겠습니다.
PHP 파일은 사용자 phpadm, 그룹 www에 속합니다. 웹 서버는 사용자 아파치, 그룹 www로 실행됩니다. 정적 파일은 phpadm의 경우 rw이고 www의 경우 ro입니다.
이 경우 백업(즉, 읽기)을 실행하려면 picco-cron이 www-group을 획득해야 합니다.