我也是用的qmail-1.03以及其他辅助程序,包括daemontools-0.70安装在redhat7.2上。服务器已经正常运行了几个月了,但是昨天被菜鸟把multilog删了,我重新安装了daemontools也没有报错,但问题还在,就像没有multilog一样报错:setuidgid:fatal:unable to run /usr/local/bin/multilog:access denied
各位老大,我除了重装还有别的办法吗?救命啊,我们头一直在等着用哪!
noress 回复于:2003-10-27 11:20:52
把你的那个用svscan启动的服务的目录设置sticky bit
chmod +t yourservice
microroad 回复于:2003-10-27 11:28:29
那三个目录都加了t属性:chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smptd
chmod +t /var/qmail/supervise/qmail-pop3d
noress 回复于:2003-10-27 13:18:08
对,就是那样!
还出错吗?
microroad 回复于:2003-10-27 13:34:41
multilog还在的时候,服务器已经设好的,所以这几个属性本来就正确设置了,我也重新核对了,是对的,但就是说multilog不能运行。我是不是可以就不要它运行,那会不会影响邮件服务器的正常工作?
gadfly 回复于:2003-10-27 18:37:18
不影响正常运行,最多,tcpserver的日志不记了。
手工执行,看看什么错误
noress 回复于:2003-10-27 19:58:49
你可以不使用daemontools来启动你的服务器。
直接写一个脚本,用tcpserver启动,用splogger来记录你的日志。
noress 回复于:2003-10-27 20:02:06
能不能把你的run文件贴出来看看?
microroad 回复于:2003-10-28 22:19:00
引用:原帖由 "gadfly" 发表: 不影响正常运行,最多,tcpserver的日志不记了。
手工执行,看看什么错误
谢谢gadfly。手工执行是一样的错误报告——access denied
microroad 回复于:2003-10-28 22:45:24
我已经跳过multilog,但qmail 系统也遭到了破坏,在系统给本地用户发信:echo to :me |/var/qmail/bin/qmail-inject ,一直说不能打开share library:libc.s0.6.1,不知道问题又出在哪里了?
noress 回复于:2003-10-28 23:30:56
先找到这个文件在哪:
#find / -name libc.s0.6.1
找到这个文件所在的目录.
#vi /etc/ld.so.conf
把那目录加上
#ldconfig
OK!
microroad 回复于:2003-10-29 02:45:04
我也找到它了,就在/lib下,我也用你说的方法做了,可就是睁眼不认,真是莫名其妙!
gadfly 回复于:2003-10-29 17:36:31
cat /etc/ld.so.conf
ldd /var/qmail/bin/qmail-inject
ls -l multilog
microroad 回复于:2003-10-30 08:25:39
谢谢gadfly,cat /etc/ld.so.conf 和 ls -l multilog是找不出茬的。也许在 ldd /var/qmail/bin/qmail-inject 能找出问题来,因为我当时没想这里。可惜由于头们等不及,我已经重装了整个qmail,现在已经正常运行。
真的感谢gadfly和noress的鼎力帮助!
leftatrium 回复于:2007-03-02 18:04:22
setuidgid:fatal:unable to run /usr/local/bin/multilog:access denied
这行错误跟qmail应该没关系,/usr/local/bin/multilog这个程序应该是daemontools里面带的,说的权限不够的问题,是qmaill用户无法执行/usr/local/bin/multilog文件造成的,你可以:
ls -al /usr/local/bin/multilog一下看看是否是没有qmaill用户的执行权限,或者存放daemontools的目录无法被qmaill用户读取。其实,你ls -al /usr/local/bin/multilog看看就知道,这个文件链接到/command/multilog里面,而/command/multilog又链接到你当时解压daemontools的目录中,也就是说,你执行package/install的时候,系统只是编译了一下程序,然后,做了两个软连接,这么说明白否?你只要试一下:
su qmaill
/usr/local/bin/multilog t /var/log/qmail/smtpd看看,如果还是权限不够的话就去修改一下你安装daemontools的目录里面的属性就可以了。
|