我有一个需要发送传出邮件的Web应用程序。 而不是直接连接到SMTP服务器(我正在使用AuthSMTP),我想设置一个本地邮件服务器。 这是为了减lessWeb应用程序必须等待发送电子邮件的时间,并自动存储和重试AuthSMTP服务器的邮件已closures。 什么邮件服务器将很容易设置和pipe理? 所有它需要做的就是将所有邮件从本地主机中继到特定的服务器。 我还希望能够监视服务器,以查看何时不能传递一些消息。 我有一些Apache James的经验,我正在尝试Postfix。
我有两台前端Exchange 2003服务器,都是虚拟机,两者都在不同的物理Linux机器上,在我的DMZ上运行vmware服务器。 几天前,我所有的Nagios警报都超时了,其中一个ping检查的错误率很高。 在这个前端交换虚拟机上,我看到以下内容似乎表明在这段时间在事件查看器的系统部分中的磁盘超时/问题(其他部分不会很远回成为垃圾邮件通知,将有解决这个问题): Event Type: Error Event Source: vmscsi Event Category: None Event ID: 9 Date: 12/12/2009 Time: 9:25:19 AM User: N/A Computer: FOO Description: The device, \Device\Scsi\vmscsi1, did not respond within the timeout period. 在Linux主机上,我没有看到/ var / log / messages或/ var / log / vmware(或者其他任何东西)中的任何提示。 在sar日志中,我确实看到了一个更高的IOWait〜22,然后我在其他地方看到了,通常只有在备份运行时才会出现在11左右,而这段时间并不是这样。 可能这是从磁盘arrays中掉出来的,有人知道我怎么检查Poweredge 2950(使用dset?)。 在另一台前端虚拟机上,我得到了以下内容(这个,我真的不知道它是什么意思,主浏览器?): Event Type: Error Event […]
在Debian(5.0.3)服务器上,我有一个拥有某个shell脚本的用户svnsync : -rwsrwsr-x 1 svnsync users 119 Dec 21 13:45 mirror-svn.sh 我希望users组中的每个人都能够使用svnsync的特权执行此脚本。 这与触发post-commit脚本中的“ svnsync synchorize ”命令有关; 引用svnbook : 您可能希望您的主存储库将更改推送到一个或多个有福的镜像,作为其提交后和修订后的更改挂接实现的一部分。 这将使镜子尽可能接近实时地最新。 无论如何,我不能得到SUID的工作,显然是因为Linux / Debian是这里提到的现代Unix系统之一: 由于这个原因,一些现代UNIX系统忽略了shell脚本上的SUID和SGID位。 这个SF问题提出了同样的问题:“你不能使用SUID根目录作为shell脚本”。 所以,这是我的后续问题: 如果我真的想用自己的主人的特权来运行一个脚本,不pipe任何潜在的风险,是否有任何无忧的方法来做到这一点? build议将脚本编译为二进制文件,但如果可能的话,我宁愿采用更简单的方法。 如何从例如一个Perl脚本调用shell脚本(我实际上尝试过,但不能得到它的工作)? 添加每个人sudoers文件也不是一个很好的select。 更新 :得到它通过安装perl-suid工作, build议使用0x89,并使用像下面的Perl包装脚本。 #!/usr/bin/suidperl -T $ENV{PATH} = "/bin:/usr/bin"; system("/path/to/mirror-svn.sh"); 在这个包装脚本上设置chmod +s 。 还要注意$ENV{PATH}需要在脚本中设置; 否则你会得到一个抱怨,这是不安全的 。
我如何给非root用户权限执行pthread_setschedparam()来设置线程优先级? 谢谢
我想开始一个服务,但只有当我有正确的IP绑定到主机。 这可以做一些正常的configuration吗? 例如,我想用pidfile xxx.pid启动一个进程xxx,但是只有当主机目前有10.0.0.1绑定到某个接口。
你有一个干净/漂亮的方式来启动Ubuntu 9.04下的Xorg服务器,并能够启动/停止它? 就像是: # /etc/init.d/xorg start 我有一个应用程序不使用窗口pipe理器(直接使用Xorg),启动后启动(现在只是直接使用startx)。 我有一个框架: case "$1" in start) echo "Starting xorg… " # code for start ;; stop) echo "Stopping xorg…" # code for stop ;; *) echo "Usage: /etc/init.d/xorg {start|stop}" exit 1 ;; esac exit 0 但如果有人能给我一个成熟的(完整的)脚本,那将是很好的。 提前致谢!
我们一直在试图设置一个Linux / BSD / etc盒子,它既可以作为互联网网关,也可以作为路由器。 我不知道如何expression我们的情况,所以请原谅我… 目前我们正在使用Vyatta以下networking接口(带有掩码的IP地址): eth0 – > xxx178 / 30 – WAN(上行路由器:xxx177) vlan100 – >连接到eth0 br100 – > yyy1 – 桥梁eth0.vlan100和eth1 eth1 – > yyyy / 24 – 与WAN桥接(xxx178是此子网的上游路由器) eth2 – > 10.10.0.1/16 – 专用networking,通过yyy1进行NAT 问题是:当我们将NAT规则设置为通过br100路由10.10.0.0/16stream量时,没有任何路由。 但是,如果我们将NAT规则设置为通过eth0进行路由,则stream量实际上会路由,但现在它来自xxx178地址,而不是yyy1地址。 我在这里做错了什么? 任何想法或build议都会有所帮助。 当前configuration(减去一些绒毛): interfaces { bridge br100 { address yyy1/24 } ethernet eth0 { address […]
我有一个在Windows XP上运行的Oracle 9.2.0.1数据库。 这有几个模式,并包括到远程Oracle数据库的公共数据库链接。 我想将这个数据库迁移到在Oracle Enterprise Linux上运行的Oracle 11g,并维护到远程数据库的数据库链接。 做这个的最好方式是什么? 可以用exp / imp来完成吗? 谢谢。
我们开发一个Linux应用程序来处理不同的RedHat / SUSE发行版。 这个应用程序(即守护进程)预计将在启动时自动运行,因此我们将启动脚本放在/etc/init.d/目录中,并在运行级目录(../rc.d/rc5.d/)中创build符号链接实例)。 如果用户删除我们的应用程序,我们的卸载脚本将删除我们所有的东西,包括符号链接。 如果操作系统不提供并行脚本运行,它工作正常。 如果启用并行运行,我们需要另一个解决scheme。 例如,在SLES 10中,我们在/ etc / sysconfig / boot中: # Run all scripts or rather start/stop all services # which are independent from each other in parallel. RUN_PARALLEL="yes" 据我们了解,我们必须注册我们的脚本insserv实用程序。 在这种情况下,系统分析一个脚本头文件,并创build/删除它自己的符号链接。 如果这是真的,如何组织安装/卸载我们的应用程序,以涵盖并行和顺序启动脚本运行? 看起来当并行运行被禁用或启用时,我们应该有不同的performance。 在第一种情况下,我们应该关心符号链接。 在第二种情况下,我们应该委托给insserv。 这是正确的方法? 如果是这样,我们应该通过检查/ etc / sysconfig / boot来分析是否启用了并行运行? 它看起来不可靠,因为在不同的Linux发行版中,它可能是不同的位置和不同的参数。 安装/卸载Linux应用程序的最佳做法是什么?涵盖并行和顺序系统启动的最佳做法? 谢谢,
我无法弄清楚如何使用CloneZilla克隆Linux / XP / Vista(XP进入一个无休止的循环与“Autochk – 程序找不到”,Vista无法启动“错误17 – 文件未find”,即使后使用“Windows Vista恢复光盘”修复它并重新映射图像)。 所以我正在寻找一个提供以下function的应用程序: 开源/免费软件或实惠 可以克隆Linux和任何版本的Windows(XP / Vista / 7,服务器) 只保存使用的集群,而不是整个分区(所以“dd”不是一个选项) 还恢复MBR,以便操作系统启动正常,我不必微调Grub以适应这样和那样的操作系统 谢谢。