簡體   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