2017-10-20 69 views
-1

我遇到了這個非常奇怪的問題,它只是我不明白爲什麼它正在發生。當我手動執行下面的命令時,它會起作用。爲什麼下面的命令工作在Bash而不是從腳本

sudo -u some-user echo "$SSH_KEY" | /home/some-user/.ssh/authorized_keys 

但是從一個bash腳本,它將失敗,我們沒有任何權限的消息。

#!/bin/bash 
sudo -u some-user echo "$SSH_KEY" | /home/some-user/.ssh/authorized_keys 

是否有任何bash選項來配置,或者有人可以解釋這種行爲? 它看起來有點像非交互終端或類似的東西是bash安全啄,但我失去了我的創意,谷歌的解決方案。

我運行Ubuntu 16.04。

+2

什麼消息的*確切文字*從bash腳本運行時?你如何運行bash腳本?也許最重要的是,爲什麼'some-user'有一個可執行程序作爲他們的授權密鑰文件? –

+0

您必須已將錯誤的命令複製到問題中。也許你在複製到腳本時也犯了同樣的錯誤。 – Barmar

+0

'authorized_keys'是一個數據文件,不是可以運行的命令,可以使用或不使用'sudo'。 – Barmar

回答

0

經過調查的時間似乎這裏並不是因爲它不從劇本出現密碼提示的執行sudo的命令。

的解決方案是捉迷藏腳本或只是捉迷藏整個腳本sudo的,所以你可以輸入密碼一次,並在其他sudo的命令,沒有密碼提示運行前首先運行sudo命令。

相關問題