sudo sorry you must have a tty to run sudo

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                原贴:http://linux.chinaunix.net/bbs/viewthread.php?tid=901336


 急救!!cron 定制任务报错::sudo: sorry, you must have a tty to run sudo

首页 » CU论坛 » Linux  » 汇总贴列表» 系统管理 » 请选择您要去的论坛 ← >新手园地 >系统管理 >网络问题 >硬件支持 >内核问题 >系统互操作专区 >中文支持 >桌面与办公 >影音娱乐 >网络工具 >编程问题 >内核源码 >CPU与编译器 >嵌入式开发 >驱动开发 >数据库应用 >服务器应用 >安全防护 >集群和虚拟机 >开源业界与评论 >贴图娱乐 >红茶馆 >文档专区 >下载共享 >Linux书友会 >Linux人才交流 >Linux站务交流===============→ 操作系统技术交流区 ← >BSD >Solaris >SCO UNIX >HP-UX >AIX >IBM AS400应用论坛 >Tru64 UNIX >IRIX >Mac OS X → 行业解决方案交流区 ←  > 金融行业  > 电信行业  > 互联网行业  > 医卫行业  > 制造行业  > 信息安全  > 教育行业  > 媒体娱乐行业  > 电子政务  > 交通行业 → 程序设计交流区 ← >C/C++ >Shell >Java >Php >Perl >Python >Web开发 >软件工程 >中间件技术 >GUI编程 >软件配置管理 >VOIP开发技术 → 网管技术交流区 ← >网络安全 >网络技术 >Cisco技术 >存储备份之家 >服务器及硬件技术 → 数据库技术交流区 ← >MySQL >PostgreSQL >Oracle >Informix >Sybase >DB2 → 应用技术专题交流区 ← >Web服务器 >Mail服务器 >FTP服务器 >DNS服务器 >Proxy服务器 >LDAP >VPN >Lotus >Samba → IT综合交流区 ← >IT业界新闻与评论 >IT职业生涯 >IT培训与认证 >IT二手大厅 >IT图书与评论 → IT人的休闲生活交流区 ← >清茶斋 >运动地带 >快乐数码摄影 >影音文字 >English Forum >游戏玩家 >旅游天下 >贴图娱乐 >红茶馆 >IT爱车族 → 站务及频道交流区 ← >站务交流 >版主会议室 >Linux站务交流 >Linux版主会议室 >博客站务交流区 >下载频道交流区 >CU活动专区 最近访问的论坛 ...CPU与编译器开源业界与评论服务器应用安全防护内核源码桌面应用

[打印] [订阅] [收藏]  [本帖文本页][推荐此主题给朋友,立即获积分]
  [已解决]本主题悬赏 可用积分 32   
newsecond
圣骑士



pips3.gif
UID:572548
注册:2007-6-6
最后登录:2009-01-06
帖子: 146
精华:0

可用积分:84 (白手起家)
信誉积分:105
专家积分:10 (本版:0)
空间积分:0
推广积分:0

状态: ...离线...

[资料]  [站内短信] [Blog]


1楼发表于 2007-6-19 11:00 
32分是我所有的财产了..

[Abel@localhost ~]$ crontab -l
*/1 * * * * sudo /usr/sbin/lvscan 2>>/home/Abel/test
[Abel@localhost ~]$ cat ~/test
sudo: sorry, you must have a tty to run sudo
sudo: sorry, you must have a tty to run sudo
提示sudo要一个tty才可以运行.

解决方法!!!!
     1. 写个脚本..把上述任务放进去.并在将本中创建tty..............................ok....怎么创建???麻烦高手..透露下..
     2. 用suid or sgid代替..sudo..但这样不安全.赋予权限太大..
e.g
A...查看lvm在/usr/sbin下的符号链接..
[Abel@localhost testdir]$ symlinks -v /usr/sbin/ | grep lvm
relative: /usr/sbin/vgck -> lvm
relative: /usr/sbin/vgchange -> lvm
relative: /usr/sbin/vgconvert -> lvm
relative: /usr/sbin/lvmdiskscan -> lvm
relative: /usr/sbin/lvresize -> lvm
relative: /usr/sbin/lvs -> lvm
relative: /usr/sbin/lvconvert -> lvm
relative: /usr/sbin/pvs -> lvm
relative: /usr/sbin/pvdisplay -> lvm
relative: /usr/sbin/vgmerge -> lvm
relative: /usr/sbin/lvremove -> lvm
relative: /usr/sbin/lvmchange -> lvm
relative: /usr/sbin/pvremove -> lvm
relative: /usr/sbin/vgs -> lvm
relative: /usr/sbin/vgextend -> lvm
relative: /usr/sbin/lvmsar -> lvm
relative: /usr/sbin/lvmsadc -> lvm
relative: /usr/sbin/vgremove -> lvm
relative: /usr/sbin/vgcfgrestore -> lvm
relative: /usr/sbin/vgimport -> lvm
relative: /usr/sbin/vgreduce -> lvm
relative: /usr/sbin/lvchange -> lvm
relative: /usr/sbin/vgmknodes -> lvm
relative: /usr/sbin/vgcreate -> lvm
relative: /usr/sbin/pvchange -> lvm
relative: /usr/sbin/pvcreate -> lvm
relative: /usr/sbin/lvscan -> lvm
relative: /usr/sbin/lvreduce -> lvm
relative: /usr/sbin/lvcreate -> lvm
relative: /usr/sbin/pvmove -> lvm
relative: /usr/sbin/vgexport -> lvm
relative: /usr/sbin/vgsplit -> lvm
relative: /usr/sbin/lvextend -> lvm
relative: /usr/sbin/vgrename -> lvm
relative: /usr/sbin/pvscan -> lvm
relative: /usr/sbin/vgdisplay -> lvm
relative: /usr/sbin/lvrename -> lvm
relative: /usr/sbin/lvdisplay -> lvm
relative: /usr/sbin/vgscan -> lvm
relative: /usr/sbin/vgcfgbackup -> lvm
relative: /usr/sbin/pvresize -> lvm

B...如果我对lvscan赋予suid..因为lvscan是lvm的符号链接,所以s位赋给了lvm
[Abel@localhost testdir]$ sudo chmod u+s /usr/sbin/lvscan
Password:
[Abel@localhost testdir]$ ll /usr/sbin/lvm
-r-sr-xr-x 1 root root 589952 03-20 05:54 /usr/sbin/lvm
C....但这样....所有用户都拥有lvm.......的所有权限...所以不行..
   3...还有其他的方法吗.......................


Thanks

[ 本帖最后由 newsecond 于 2007-6-19 13:25 编辑 ]



您对本贴的看法:鲜花[0]  臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
free_man_008
骑士



pips2.gif
UID:461542
注册:2006-9-4
最后登录:2008-07-08
帖子: 59
精华:0

可用积分:129 (白手起家)
信誉积分:100
专家积分:138 (本版:60)
空间积分:0
推广积分:0

状态:...保密...

[资料]  [站内短信] [Blog]


     最佳答案 


QUOTE:
原帖由 newsecond 于 2007-6-19 22:58 发表于 5楼  
这是我/etc/sudoers中的配置
Cmnd_Alias BACK_LV=/usr/sbin/lvscan,/usr/sbin/lvremove,/usr/sbin/lvcreate
Abel  localhost=ABEL,NOPASSWD: BACK_LV

没错,当启用

Defaults    requiretty

时,会需要一个终端。但是去掉该选项(requiretty),在执行sudo命令时,就不需要终端,这完全可以满足你的需求。如果你非要终端,那就不明白你的目的了。



您对本贴的看法:鲜花[0]  臭蛋[0]

__________________________________

给你推荐一个视频教程。访问 科卡在线 了解详情,这套视频对我帮助很大。希望对你也有帮助。
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
free_man_008
骑士



pips2.gif
UID:461542
注册:2006-9-4
最后登录:2008-07-08
帖子: 59
精华:0

可用积分:129 (白手起家)
信誉积分:100
专家积分:138 (本版:60)
空间积分:0
推广积分:0

状态:...保密...

[资料]  [站内短信] [Blog]


3楼发表于 2007-6-19 15:19 
用sudo是最好的办法,针对你的问题,在/etc/sudoers文件中做如下修改:
(1)注释掉:Defaults    requiretty所在的行。即:

#Defaults    requiretty

(2)你的允许执行lvscan命令的内容类似下面(即加上NOPASSWD,在使用sudo执行该命令时可以不用密码):

bearzhang       ALL=NOPASSWD:/usr/sbin/lvscan,/sbin/sudo

如果只允许在某台主机上使用该命令则将ALL换成允许的主机即可,例如:

bearzhang       www.koorka.com=NOPASSWD:/usr/sbin/lvscan,/sbin/sudo

[ 本帖最后由 free_man_008 于 2007-6-19 15:21 编辑 ]



您对本贴的看法:鲜花[0]  臭蛋[0]

__________________________________

给你推荐一个视频教程。访问 科卡在线 了解详情,这套视频对我帮助很大。希望对你也有帮助。
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
jackeyj  帅哥
圣骑士



pips3.gif
UID:318164
注册:2005-9-27
最后登录:2008-11-13
帖子: 112
精华:0

可用积分:125 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0

状态: ...离线...

[资料]  [站内短信] [Blog]


4楼发表于 2007-6-19 19:01 
楼上的应该可以。



您对本贴的看法:鲜花[0]  臭蛋[0]

__________________________________

财富大教堂www.StockThink.cn
当当购书www.dangdangwanggoushu.net
卓越亚马逊 www.zhuoyueyamxun1.cn


积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
newsecond
圣骑士



pips3.gif
UID:572548
注册:2007-6-6
最后登录:2009-01-06
帖子: 146
精华:0

可用积分:84 (白手起家)
信誉积分:105
专家积分:10 (本版:0)
空间积分:0
推广积分:0

状态: ...离线...

[资料]  [站内短信] [Blog]


5楼发表于 2007-6-19 22:49 
先谢谢free_man_008 ......谢谢你的回答...
 是我没讲清楚..不好意思.


 我现在是想通过cron 执行我一个脚本或者命令,为了安全考虑.我使用了sudo...........
         但sudo 在cron执行时候..提示需要一个tty...................怎么在脚本中创建一个tty????

  或者使用其他方法代替...

[ 本帖最后由 newsecond 于 2007-6-19 22:53 编辑 ]



您对本贴的看法:鲜花[0]  臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
newsecond
圣骑士



pips3.gif
UID:572548
注册:2007-6-6
最后登录:2009-01-06
帖子: 146
精华:0

可用积分:84 (白手起家)
信誉积分:105
专家积分:10 (本版:0)
空间积分:0
推广积分:0

状态: ...离线...

[资料]  [站内短信] [Blog]


6楼发表于 2007-6-19 22:58 
这是我/etc/sudoers中的配置
Cmnd_Alias BACK_LV=/usr/sbin/lvscan,/usr/sbin/lvremove,/usr/sbin/lvcreate
Abel  localhost=ABEL,NOPASSWD: BACK_LV



您对本贴的看法:鲜花[0]  臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
newsecond
圣骑士



pips3.gif
UID:572548
注册:2007-6-6
最后登录:2009-01-06
帖子: 146
精华:0

可用积分:84 (白手起家)
信誉积分:105
专家积分:10 (本版:0)
空间积分:0
推广积分:0

状态: ...离线...

[资料]  [站内短信] [Blog]


7楼发表于 2007-6-20 09:43 
谢谢 free_man_008 了........在请教下..怎么在脚本中创建个tty.????????



您对本贴的看法:鲜花[0]  臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
newsecond
圣骑士



pips3.gif
UID:572548
注册:2007-6-6
最后登录:2009-01-06
帖子: 146
精华:0

可用积分:84 (白手起家)
信誉积分:105
专家积分:10 (本版:0)
空间积分:0
推广积分:0

状态: ...离线...

[资料]  [站内短信] [Blog]


8楼发表于 2007-6-20 10:05 
在问下.....
前提::::::::关闭#Defaults    requiretty
把错误,和标准输出一起输入到一个文件
运行时...sudo /usr/sbin/lvscan 2>>/home/Abel/test 并不会把错误和标准输出输入到该文件当中.
 只能sudo /usr/sbin/lvscan >> /home/Abel/test.....为什么......       错误和标准输出 不能一起输入到一个文件当中.....
麻烦 free_man_008 。。。
我也去查查..



您对本贴的看法:鲜花[0]  臭蛋[0]
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
free_man_008
骑士



pips2.gif
UID:461542
注册:2006-9-4
最后登录:2008-07-08
帖子: 59
精华:0

可用积分:129 (白手起家)
信誉积分:100
专家积分:138 (本版:60)
空间积分:0
推广积分:0

状态:...保密...

[资料]  [站内短信] [Blog]


9楼发表于 2007-6-20 10:25 


QUOTE:
原帖由 newsecond 于 2007-6-20 10:05 发表于 8楼  
在问下.....
前提::::::::关闭#Defaults    requiretty
把错误,和标准输出一起输入到一个文件
运行时...sudo /usr/sbin/lvscan 2>>/home/Abel/test 并不会把错误和标准输出输入到该文件当中.
只能su ...

呵呵,共同进步。

如果要使用tty,必然需要一个终端窗口。
而服务进程都是在后台执行的,所以没有必要让输出内容输出到窗口,如果需要查看或保存后台进程输出的内容,可以使用重定向到一个文件中。也就是你所使用的方法。

需要错误输出和标准输出都重定向,应该这样:


*/1     *       *       *       *       sudo /usr/sbin/lvscan >> /home/Abel/test 2>&1




您对本贴的看法:鲜花[0]  臭蛋[0]

__________________________________

给你推荐一个视频教程。访问 科卡在线 了解详情,这套视频对我帮助很大。希望对你也有帮助。
积分兑换专区 | IT节能和TPC-E活动获奖名单 | 致电800-858-2903,了解DELL如何为你量身订制笔记本 | 送2G U盘 | 站长如何获得资金?
newsecond
圣骑士



pips3.gif
UID:572548
注册:2007-6-6
最后登录:2009-01-06
帖子: 146
精华:0

可用积分:84 (白手起家)
信誉积分:105
专家积分:10 (本版:0)
空间积分:0
推广积分:0

状态: ...离线...

[资料]  [站内短信] [Blog]


10楼发表于 2007-6-20 17:01 
thanks  free_man_008



           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值