我写了一个简单的CGI Web应用程序来创建一个服务器日志文件来存储访问我的网页的IP地址。我的Cgi脚本位置是
'/US人/礼拜/CGI-斌/IP log.CGI
我的日志文件位置是,
'/US人/share/log/IP log.txt
我的问题是,日志文件'iplog.txt'只能通过我的应用程序脚本'iplog.cgi'进行读写。现在我将'777'的许可授予'iplog.txt'。我知道它会允许所有人做任何事情。但我希望只通过我的cgi应用程序脚本读取和写入此文件。我怎样才能做到这一点?
没有给予应用程序读取或写入文件权限的概念。只有用户才能。因此,您需要提供日志文件权限,以便只有运行cgi脚本的用户才能读取和写入它。
因此,如果您的cgi脚本由(webserver)用户www-data
(例如)运行,那么您需要:
sudo chown www-data /usr/share/log/iplog.txt
sudo chmod 600 /usr/share/log/iplog.txt
然后只有用户www-data
才能读写该文件。请注意,这也意味着您(作为用户dwayne
)无法读取文件,就像您提出的那样。
要找出网络服务器的用户,您可以发布
ps aux | egrep '(apache|httpd)'
常见的apache用户是www-data
,nobody
,apache
。