为什么我的 CGI 脚本无法访问 ttyUSB0?

Why my CGI Script can't access to ttyUSB0?

我有一个 C 语言的 CGI 脚本,它在我的 Raspberry pi 中打开串行端口 ttyUSB0,向我的设备发送数据并得到响应。

当我在终端中手动启动此脚本时,它可以正确执行,但我的网页无法访问此端口以打开它。

我的代码:

int main (void) {

  printf("Content-type: text/html\n\n");

  const int fd = open ("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_SYNC);

  if (fd == -1)
  {
        printf ("error %d opening %s: %s", errno, "ttyUSB0", strerror (errno));
        return 0;
  }

网页中的响应:“error 13 opening ttyUSB0: Permission denied

下面是命令“id -Gn pi”的输出: pi adm tty uucp dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio lpadmin

谢谢。

下面的命令解决了我的问题:

sudo adduser www-data dialout