我写了一个简单的CGI Web应用程序来创建服务器日志文件来存储访问我的网页的IP地址。我的Cgi脚本位置是
'/ usr / lib中/的cgi-bin / iplog.cgi'
我的日志文件位置是,
'的/ usr /共享/数/ iplog.txt'
我的问题是,日志文件'iplog.txt'只能通过我的应用程序脚本'iplog.cgi'进行读写。现在我将'777'的许可授予'iplog.txt'。我知道它会允许所有人做任何事情。但我希望只通过我的cgi应用程序脚本读取和写入此文件。我怎么能这样做?
答案 0 :(得分:2)
没有提供应用程序权限来读取或写入文件的概念。只有用户才能。 因此,您需要提供日志文件权限,以便只有运行cgi脚本的用户才能读取和写入。
因此,如果您的cgi脚本由(网络服务器)用户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
。