初心者SEが技術的な事とかを、とりあえずメモしておくための日記です。

初心者SEのとりあえずメモ日記

Linux

sudo: sorry, you must have a tty to run sudo

投稿日:2013年11月7日 更新日:

sudo: sorry, you must have a tty to run sudo
sudo を実行するには tty がなければいけません。

1.事象

Javaで、sudoコマンドを含むシェルスクリプトを実行しようとしたところ、上記のエラーが発生しました。
シェルの実行にも失敗していました。
別の手段として、cronからバッチ処理として実行したところ、同じようにエラーが発生して失敗しました。

 

2.原因

端末(tty)でない状態でsudoを実行しようとした場合、初期状態ではセキュリティ上許可しないようになっています。

 

 

3.対応方法

visudoコマンドを使用して「/etc/sudoers」ファイルを修正します。

# 全てのユーザの sudoコマンドをttyでなくても許可する場合
#Defaults requiretty #コメントアウトする


# 「testuser」のみ sudoコマンドをttyでなくても許可する場合
Defaults:testuser !requiretty

 

4.注意点

どこからでもsudoが出来るようになってしまうため、セキュリティ面での懸念があります。

そのため、特定のユーザのみsudoを許可する設定を行うのが無難かもしれません。

 

-Linux

Copyright© 初心者SEのとりあえずメモ日記 , 2018 All Rights Reserved Powered by STINGER.