>백엔드 개발 >PHP 튜토리얼 >비밀번호 프롬프트 없이 PHP에서 SUDO가 필요한 쉘 스크립트를 어떻게 실행할 수 있습니까?

비밀번호 프롬프트 없이 PHP에서 SUDO가 필요한 쉘 스크립트를 어떻게 실행할 수 있습니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-24 04:48:13697검색

How Can I Run SUDO-Requiring Shell Scripts from PHP Without a Password Prompt?

PHP에서 SUDO가 필요한 쉘 스크립트 호출

SUDO가 필요한 것과 같이 높은 권한을 요구하는 쉘 스크립트를 실행하는 것이 어려울 수 있습니다. PHP의 shell_exec 함수를 통해 호출합니다. 기본적으로 shell_exec에는 비밀번호 프롬프트를 우회하는 데 필요한 권한이 없습니다.

해결책: sudoers 파일 수정

이 문제를 해결하려면 sudoers를 수정하면 됩니다. 파일(visudo를 통해 액세스 가능)을 사용하여 웹 서버 사용자(예: www-data)에게 비밀번호 없이 스크립트를 실행할 수 있는 권한을 부여합니다. 다음은 sudoers 파일에 추가할 수 있는 규칙의 예입니다.

www-data ALL=NOPASSWD: /path/to/script

이 규칙을 사용하면 www-data 사용자가 비밀번호를 제공하지 않고도 /path/to/script 스크립트를 실행할 수 있습니다. sudoers 파일이 업데이트되면 평소처럼 shell_exec를 사용하여 PHP에서 스크립트를 호출할 수 있습니다.

<?php
$output = shell_exec('/path/to/script');
?>

주의: sudoers 파일에 과도한 권한을 부여하면 시스템 보안이 손상될 수 있습니다. 꼭 필요한 규칙만 추가하고 부여되는 권한의 범위를 최소화하세요.

위 내용은 비밀번호 프롬프트 없이 PHP에서 SUDO가 필요한 쉘 스크립트를 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.