繁体   English   中英

如何设置用户的权限,以便它可以执行bash脚本来读取其他用户的文件?

[英]How can I set up a user's permissions so it can execute a bash script to read other users' files?

我在Debian机器和另一台运行应用程序的Debian机器上有一个Web服务器。 我想让网络用户调用bash脚本,该脚本返回一些信息以供php处理。

我已经生成了ssh密钥,并将我的Web用户(www-data)与目标计算机上的一个用户(usr_scripts)配对,并且我有以下命令在目标计算机上运行bash脚本:

ssh -o UserKnownHostsFile=/path/to/known_hosts -i /path/to/rsa/key usr_scripts@targetMachine scriptToReadFiles.sh

scriptToReadFiles.sh是一个普通的bash脚本,使用cat从不同文件( cat /path/to/mainFolder/Folder1/File1 )输出一些信息,我的php中有一个函数可以接收输出并生成报告。

我现在的问题是usr_scripts没有足够的权限来读取我需要的文件。 所有文件都位于不同的文件夹中,并且它们具有不同的所有者(因为应用程序使用多个用户来执行不同的任务),如下所示:

mainFolder
 |- Folder 1 (owner: user1)
 |   |- File 1 (owner: user1)
 |   |- File 2 (owner: user1)
 |
 |- Folder 2 (owner: user2)
     |- File 1 (owner: user2)
     |- File 2 (owner: user2)
     |- File 3 (owner: user2)

用户user1,user2等是从应用程序动态生成的(我无法访问其源代码),它们是根据需要生成的,它们不属于某个组,并且不能访问外部的其他文件他们指定的主文件夹。

我应该如何设置use_scripts用户的权限,以便它可以读取那些文件?

您可以使用chmod更改当前文件的模式,并使用umask更改以后的文件。 这是一些有关umask的信息的链接http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM