1. sudo 소개
sudo는 루트가 일반 사용자에게 없는 일부 권한을 할당할 수 있도록 하여 일반 사용자도 루트 사용자와 관련된 권한을 가질 수 있도록 합니다. (예를 들어 sudo는 특정 사용자에게 특정 명령 실행 권한을 할당할 수 있습니다. ).
sudo에 대한 중요한 파일 중 하나는 /etc/sudoers입니다. 어떤 사용자가 어떤 종류의 명령을 실행할 수 있는지는 주로 이 파일에 할당된 사용자만 sudo를 사용할 수 있습니다.
sudo -l 列出该用户能执行的命令 sudo -u user 以指定用户来执行命令 sudo -k 清楚入场券上的时间,下次使用sudo还要输入密码 sudo -b 在后台执行命令
/etc/sudoers 파일을 열려면 터미널에 vim을 입력하세요.
사진에 표시된 곳을 찾으세요:
사진의 빨간색 상자에 있는 내용은 나중에 직접 추가한 것입니다. www는 php를 실행하는 사용자입니다. 기본 이름은 환경에 따라 다를 수 있습니다. www에 대한 센토스.
PHP의 동작을 볼 수 있는 사용자는 다음 PHP 웹페이지를 통해 얻을 수 있습니다.
<?php echo shell_exec("id -a"); ?>
그림을 보세요. 각 줄에는 세 개의 ALL이 있습니다. 두 번째 괄호의 ALL은 대상 사용자를 나타내며 마지막 ALL은 사용자를 나타냅니다. 실행할 명령의 이름입니다(이 사용자가 실행할 수 있는 명령을 지정할 수 있습니다).
NOPASSWD는 비밀번호가 필요하지 않음을 의미합니다. (그렇지 않으면 편의상 브라우저를 통해 프로그램에 접속하면 비밀번호를 입력하고 피드백을 기다리는 추가 단계가 발생합니다. 정말 번거롭습니다. 이렇게 하면 많은 수고가 줄어들 것입니다)
Ubuntu라면 , 페도라 등이라면 수정할 필요가 없습니다.
Defaults env_reset(즉, 앞에 있는 # 기호를 제거하세요)을 켜세요. php.ini 구성 파일에 안전 모드가 켜져 있는지 여부
safe_mode = off 这样就可以了
Linux 스크립트를 실행하려면 PHP에서 몇 개의 함수가 필요합니까? shell_exec(), system() 등 세 가지가 있습니다. 자세한 내용은 다루지 않겠습니다. 여기서는 system() 함수를 사용합니다.
route.php<?php $ip=(string)$_POST["ip"]; system("su ./route.sh $ip",$status); if($status == 'true') { echo "设置成功"; } else { echo "设置失败"; } ?>
1.php 실행 쉘은 실제로 Apache나 Nginx 사용자에 의해 실행되며, php 자체에서는 사용자를 생성하지 않습니다.
1. sudo 소개
sudo에 대한 중요한 파일 중 하나는 /etc/sudoers입니다. 어떤 사용자가 어떤 종류의 명령을 실행할 수 있는지는 주로 이 파일에 할당된 사용자만 sudo를 사용할 수 있습니다.
sudo -l 列出该用户能执行的命令 sudo -u user 以指定用户来执行命令 sudo -k 清楚入场券上的时间,下次使用sudo还要输入密码 sudo -b 在后台执行命令
사진에 표시된 곳을 찾으세요:
사진의 빨간색 상자에 있는 내용은 나중에 직접 추가한 것입니다. www는 php를 실행하는 사용자입니다. 기본 이름은 환경에 따라 다를 수 있습니다. www에 대한 센토스.
PHP의 동작을 볼 수 있는 사용자는 다음 PHP 웹페이지를 통해 얻을 수 있습니다.
<?php echo shell_exec("id -a"); ?>
그림을 보세요. 각 줄에는 세 개의 ALL이 있습니다. 두 번째 괄호의 ALL은 대상 사용자를 나타내며 마지막 ALL은 사용자를 나타냅니다. 실행할 명령의 이름입니다(이 사용자가 실행할 수 있는 명령을 지정할 수 있습니다).
NOPASSWD는 비밀번호를 입력할 필요가 없다는 의미입니다. (그렇지 않으면 편의상 브라우저를 통해 프로그램에 접속하면 비밀번호를 입력하고 피드백을 기다리는 추가 단계가 발생합니다. 정말 번거롭습니다. 이렇게 하면 많은 수고가 줄어들 것입니다)
우분투라면 , Fedora 등인 경우에는 여전히 필요합니다.
Defaults env_reset을 켜십시오(즉, 앞의 # 기호 제거). php.ini 구성 파일에 안전 모드가 켜져 있는지 여부
safe_mode = off 这样就可以了
Linux 스크립트를 실행하려면 PHP에서 몇 개의 함수가 필요합니까? shell_exec(), system() 등 세 가지가 있습니다. 자세한 내용은 다루지 않겠습니다. 여기서는 system() 함수를 사용합니다.
route.php<?php $ip=(string)$_POST["ip"]; system("su ./route.sh $ip",$status); if($status == 'true') { echo "设置成功"; } else { echo "设置失败"; } ?>
관련 추천:
PHP가 코어 파일을 생성하지 않고 쉘 스크립트 실행 문제를 해결하는 방법
위 내용은 쉘 스크립트 권한 문제에 대한 PHP 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!