문제

고 싶을 구축하는 간단한 웹 응용 프로그램를 관리하는 일부 디렉토리에서 server.고 싶은 사람들에게 옵션을 사용하 chown 고 chmod.

무엇이 가장 안전한 방법을 제공 PHP 이 허가?는 가장 빠른 것은 그냥 아파치를 실행하고 PHP 루트로,그러나지 않는 것 같 스마트 아이디어.

하나는 다른 것은 생각이었을 만드는 별도의 스크립트는 setuid root..

감사합니다!

도움이 되었습니까?

해결책

만,그것은 확실히 소리 같은 위험한 생각과 함께 시작하고 나아보세요 앉아 및 생각을 통해 전체의 전략은 무엇입하려고 달성 할 수 있습니다.

위험은 권한 에스컬레이션의 실행 스크립트는 원격 사용자가 수정하거나 업로드,물론입니다.전체 chown/chmod 에서 웹 앱을 붙여넣기의 루트 비밀번호 페이지에.

정확히 무엇입하는 일이 필요?

는 경우 chown 일이 필요한 이유이지만 뿌리(우)그런 다음 기능장되어야한다.나는 사용자의 요청과 큐,그 다음에는 별도의 프로세스(수 shell,php,perl,아무것도)로 실행되는 루트에 의해 크론 확인이 이 큐,확인을 요청할 경우에 맞게 허용되는 매개 변수를 변경합니다.

다른 팁

한 가지 방법은 컴퓨터에 Sudo를 설정하는 것입니다 (Linux 상자라고 가정). Sudo를 사용하면 Sudoers.conf 파일에 명시된 제한에 의해 지배되는 명령을 실행할 수 있습니다. 단단한 규칙을 사용하여 사용자가 웹 서비스가 www-data에서 실행중인 사용자의 특정 디렉토리의 필수 명령으로 사용한 다음 PHP 스크립트에서 명령 쉘을 호출하십시오.

shell_exec("sudo chmod 777 dirname");

Sudo 구성이 빡빡했는지 확인하여 헤어지는 것이 불가능한 지 확인하십시오.

아마도 당신은 PHP 명령을보아야 할 것입니다 : CHMOD, Chown, CHGRP 및 FilePerms

CHMOD

chmod("/somedir/somefile", 0600);
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top