2017-05-10 25 views
0

我有一個腳本每晚運行。用戶標識設置在sudoers中以執行這些功能。我不打算禁用「Defaults requiretty」,特別是不知道爲什麼它現在突然成爲問題。爲什麼我會在一年內運行良好的腳本中出現此錯誤? - sudo:對不起,你必須有一個tty來運行sudo

下面是它使用sudo的作用:

sudo lvcreate -- size 19000M –snapshot –name snap_u /dev/mapper/vg_u-lvu 
sudo mount /dev/vg_u/snap_u /snapshot 

sudo rsync -av --delete --bwlimit=12000 –exclude usr/spoolhold --exclude email --exclude tempfile /snapshot/ /u1/prev/dir 

sudo umount /snapshot 
sudo lvremove -f /dev/vg_u/snap_u 

在過去的幾個星期它不工作的大部分時間。有時當我「手動」運行命令時,它工作正常。當它失敗我看到這則消息填充日誌文件:

須藤:對不起,你必須有一個tty運行sudo的

的問題開始了,當我換一些其他的腳本遠程備份。我在這個腳本中改變的唯一的東西是評論。該腳本由使用'nohup'在後臺運行的應用程序調用。

在我的測試過程中,當我想立即再次運行它時,我終止了進程以阻止它在後臺運行。從那以後,我遇到了這個問題。所以,我的問題是這些:

  1. 這個錯誤可能與'殺死'這些進程(也許我殺了錯誤的)?
  2. 解決方案的任何想法?
+0

以下是有關該問題的更多信息。這個腳本中有多個sudo命令。前兩名沒有發生事故。 (創建快照和掛載快照)。第三個(rsync)是什麼引發這個消息。我檢查了sudoers,看到rsync在NOPASSWD列表中。更神祕的是,劇本每運行一次都會運行。 –

回答

0

1) Could this error be related to ‘killing’ those processes (Maybe I killed the wrong one)?

沒有

2) Any ideas for a solution?

這在/etc/sudoers有關requiretty配置選項。在某些更新過程中,它可能會在那裏或默認情況下發生變化。將它設置爲off,你應該很好。

+0

所以,你是說requiretty的默認值最初可能已經關閉,然後更新將其打開?但是,那不是說我每次試圖這樣做都會炸彈嗎?現在,它有時會起作用。所以,有些事情是間歇性的。 –

+0

如果它「有時」起作用,這是非常奇怪的,可能是不同的問題... – Jakuje

+0

是的。這就是我一直認爲的,它與requiretty設置無關。我試圖將其隔離。如果我找到共同的線索,我會回覆。 –

相關問題