Linux只能通过应用程序读取和写入权限

问题描述 投票:0回答:1

我写了一个简单的CGI Web应用程序来创建一个服务器日志文件来存储访问我的网页的IP地址。我的Cgi脚本位置是

'/US人/礼拜/CGI-斌/IP log.CGI

我的日志文件位置是,

'/US人/share/log/IP log.txt

我的问题是,日志文件'iplog.txt'只能通过我的应用程序脚本'iplog.cgi'进行读写。现在我将'777'的许可授予'iplog.txt'。我知道它会允许所有人做任何事情。但我希望只通过我的cgi应用程序脚本读取和写入此文件。我怎样才能做到这一点?

linux apache perl permissions
1个回答
2
投票

没有给予应用程序读取或写入文件权限的概念。只有用户才能。因此,您需要提供日志文件权限,以便只有运行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-datanobodyapache

© www.soinside.com 2019 - 2024. All rights reserved.