排除 sudo : sorry, you must have a tty to run sudo 狀況
2013-07-27 22:43
Linux 主機升級系統後開始收到系統的通知信,某幾個 cron 排程指令有了問題,
sudo: sorry, you must have a tty to run sudo
因為是重要的流程,先用 visudo 修改設定將下列參數註解掉
Defaults requiretty
就可以解決這個問題。
關於requiretty的解釋如下:
If set, sudo will only run when the user is logged in to a real tty. When this flag is set, sudo can only be run from a login session and not via other means such as cron(8) or cgi-bin scripts. This flag is off by default.
1) Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制終端。
2) Defaults requiretty,修改为 Defaults:nobody !requiretty,表示僅 nobody 用戶不需要控制終端。
3) 如果修改为 Defaults:%nobody !requiretty,表示僅 nobody 組不需要控制終端。