【问题标题】:Linux Read and Write Permissions only through applicationLinux 读写权限仅通过应用程序
【发布时间】:2018-06-07 01:29:40
【问题描述】:

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

'/usr/lib/cgi-bin/iplog.cgi'

我的日志文件位置是,

'/usr/share/log/iplog.txt'

我的问题是,日志文件“iplog.txt”只能通过我的应用程序脚本“iplog.cgi”进行读写。现在我将“iplog.txt”的权限设为“777”。我知道它将允许所有人做任何事情。但我希望只通过我的 cgi 应用程序脚本来读写这个文件。我该怎么做?

【问题讨论】:

  • @Vadalasetti:请删除您的错误信息。

标签: linux apache perl permissions


【解决方案1】:

不存在授予应用程序读取或写入文件权限的概念。只有用户可以。 因此,您需要授予日志文件权限,以便只有 运行 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-datanobodyapache

【讨论】:

  • 如果您有权限,最好将权限授予管理员组。 (在 Ubuntu 上称为 adm。)chown www-data:adm ...chmod 660 ...
猜你喜欢
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
  • 2012-12-03
  • 2012-05-20
  • 1970-01-01
  • 2014-02-01
  • 2016-07-14
  • 2010-10-26
相关资源
最近更新 更多