물론 flask 등으로 python서버를 구동하고 흔한 방법으로 .py 파일을 구동할 수 있겠지만,
PHP에서도 shell_exec 나 exec 또는 system 등의 명령어로 서버 명령어를 실행할 경우가 있고,
그 중에서 .py 파일을 구동하는 것도 가능하기 때문에 특정 파이썬 라이브러리만 쉽게 쓰고 싶은데
전체 웹개발은 php로 이루어져있는 경우 등
어쨌든 그런 니즈가 발생할 경우 그냥 하면 되는데
가끔 .py 의 내용에 따라서는 permissions denied 에러가 발생하는 경우가 있다.
그럴 때는
$ sudo vi /etc/sudoers 등의 명령어로
www-data 의 권한을 설정해 주면 되는데
www-data ALL=NOPASSWD: ALL
같은 식으로 모든 명령어에 대해서 웹실행이 가능하도록 해도 되겠지만,
뭔가 보안적으로 꺼림칙하고 좋지 않을 것 같다.
그럴때 www-data All=NOPASSWD: /usr/bin/파이썬
같은 식으로 파이썬만 실행이 가능하도록 할 수도 있는데
여전히 python 이 웹에서 무방비로 실행하는게 좀 걱정될 수 있다.
그러면 간단히
cp python secretpython 같은 식으로 파이썬 실행파일의 이름을 다르게 복사하고
/etc/sudoers 파일에
www-data ALL=NOPASSWD: /usr/bin/secretpython
같은식으로 한줄 추가함으로써 보안을 아주 조금 신경써 줄 수 있다.
stackoverflow 같은데도 유사한 질문들이 많은데 이렇게 대답을 해준곳은 의외로 없었다.
'기타 개발팁' 카테고리의 다른 글
도메인 이전하기 from GoDaddy to another (0) | 2020.05.21 |
---|---|
서비스 오류 모니터링툴 (개발시 또는 운영시) (0) | 2020.05.02 |
git 으로 소스 관리하기 - 왕초보 (1) (0) | 2020.03.28 |
jQuery기반 가벼운 Datepicker 라이브러리 feat. Material Design (0) | 2019.07.23 |
코드에디터 Brackets 활용하기 (0) | 2019.07.22 |