Когда я получаю доступ к скрипту через CGI, возникает PermissionError, но когда я запускаю тот же скрипт с bash по SSH, он работает нормально.
Я попытался временно изменить файл sudoers, чтобы скриптвсегда будет запускаться от имени пользователя root.
import socket
print("Content-type: text/html; charset=utf-8\n\n")
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((HOST, PORT))
query = 'foobar'
sock.sendall(bytes(query, 'utf-8'))
buffer = sock.recv(1024)
responce = str(buffer, "UTF-8")
print(responce)
Когда скрипт запускается с bash, ошибка не выдается, даже когда я вхожу в систему как обычная учетная запись не суперпользователя, но когда я запускаю его, открывая веб-страницу, он пишет ошибку в / etc / httpd / logs / error_log.Ошибка:
Traceback (most recent call last):
File "/var/www/cgi-bin/script.py", line 8, in <module>
sock.connect((HOST, PORT))
PermissionError: [Errno 13] Permission denied