也许solotion你可以检查设备文件的组:
[email protected] ~ $ ls -lash /dev/ttyS*
0 crw-rw---- 1 root uucp 4, 64 03-10 13:20 /dev/ttyS0
0 crw-rw---- 1 root uucp 4, 65 03-10 13:20 /dev/ttyS1
0 crw-rw---- 1 root uucp 4, 66 03-10 13:20 /dev/ttyS2
0 crw-rw---- 1 root uucp 4, 67 03-10 13:20 /dev/ttyS3
对我来说是UUCP。并添加启动你的cgi脚本的用户到这个组(对于我的系统uucp)。但是您必须记住,该用户启动的所有其他cgi脚本也将被允许访问UART。
编辑:
对于Apache网络服务器,它看起来像suEXEC的可以为您解决。
suEXEC功能使得Apache用户运行下的用户ID从主叫 Web服务器的用户ID不同的CGI和SSI 程序的能力。正常情况下,当CGI或SSI程序执行时,它运行为与运行Web服务器的用户相同的用户 。
因此,看起来你可以为你的cgi脚本创建新用户,正确配置它,而不是使用它与你的脚本由Apache。
这里是文档的suEXEC: http://httpd.apache.org/docs/2.0/suexec.html
我从来没有使用过,但我希望这将有助于。
我正在使用Apache服务器。这是我应该改变权限的程序? – KFC 2012-03-10 15:00:01
我编辑了我的答案。 – Adam 2012-03-10 15:18:21