前几天遇到一个问题,在一个终端中调用另一个shell,始终是无法执行的,后来捕捉到报错信息为sudo: sorry, you must have a tty to run sudo,后来,在网上了解到可以如下解决: 1. 编辑 /etc/sudoers 1)Defaults requiretty,修改为 #Defaults requiretty,表示不需要控制终端. 2)Defaults requiretty,修改为 Defaults:nobody !requiretty,表示…
使用ssh进行无密访问,并发送执行命令的时候遇到了如题的错误 执行命令ssh user@host "sudo rm /data/test,txt" sudo: sorry, you must have a tty to run sudo 查看资料发现 That's probably because your /etc/sudoers file (or any file it includes) has: Defaults requiretty 也就是说sudo必须在一个TTY(输入输出…
经了解Execute Command and Start Command两个关键字执行linux命令会新增一个shell,并且可能改变环境配置,如果要确保环境不被改变,则需采用Write和Read方法,该方法是在交互的shell中执行linux环境,不改变环境配置.具体区别如下: 采用该方法后即可解决“sudo: sorry, you must have a tty to run sudo”的问题:…
在php程序中使用了exec函数调用sudo指令,在浏览器中访问后,报sudo: sorry, you must have a tty to run sudo错误. 按照网上搜到的方法,修改/etc/sudoers文件,注释如下行: #Defaults requiretty 在浏览器中访问结果依旧. 在http://blog.csdn.net/chinalinuxzend/article/details/3747299中看到,指定账号还需要在sudoers中作如下设置: 用sudo是最好的…
使用不同账户,执行执行脚本时候sudo经常会碰到 sudo: sorry, you must have a tty to run sudo这个情况,其实修改一下sudo的配置就好了vi /etc/sudoers (最好用visudo命令)注释掉 Default requiretty 一行#Default requiretty意思就是sudo默认需要tty终端.注释掉就可以在后台执行了. 转自:http://www.linuxidc.com/Linux/2012-11/75153.htm 注:这个…
写定时任务时候遇到 如下问题 To start backup... -- :: sudo: sorry, you must have a tty to run sudo The backup to complete ... 原因 : 导致这问题的原因是 sudo默认需要在 tty终端里才能正确被调用,我们可以通过修改 /etc/sudoers配置文件来解决这个问题: visudo /etc/sudoers 注释掉 Default requiretty 一行 这个问题也有可能发生在使用 cront…
The requiretty option in sudoers file The requiretty if set in sudo config file sudoers, 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 cro…