小编use*_*096的帖子

使 php mail() 函数在 ubuntu-server 上工作的步骤是什么?

我想在 Ubuntu 服务器上启用简单的 php mail() 功能。这将仅用于发送管理资料和日志。这就是我在这台机器上想要的所有邮件功能。

1) 你能说出 1 或 2 个易于设置的标准 ubuntu 包吗?应该占用很少的资源和很少的依赖项。哪些是用于此目的的最常见的软件包,我想用它做什么的利弊是什么?(这台机器永远不会收到邮件。)

2) 在我选择了一个邮件程序包后,我将如何从命令行测试它?我必须允许到远程端口 25 的传出连接是否正确?

3) 是否有任何步骤可以确保 php 现在可以将它用于 mail() 函数?

我希望将其作为我可以遵循的未来服务器安装的秘诀,因此了解可能会出现什么问题以及如何处理它会很有趣。

编辑:我最后安装了 sendmail,这删除了 ​​exim4。Php mail() 在那之后工作。所以对我来说,sendmail 似乎比 exim4 容易。以前用exim4安装的php5不发邮件。

email ubuntu php sendmail

11
推荐指数
1
解决办法
2万
查看次数

如何为cups客户端构建windows共享打印机的url

我在 Windows 2003 服务器上共享了一台 HP 激光打印机 //w3kserver/hp

我想从安装了 cups 系统的 linux 客户端打印。当我在 linux 客户端的 cups web 前端添加打印机时,我需要提供在 Windows 服务器上共享的打印机的 url。如何为杯子构建该网址?

networking linux windows cups printing

9
推荐指数
1
解决办法
7002
查看次数

如何在shell脚本中包含目录中的所有文件(在这种情况下为/etc/init.d/iptables)

/etc/init.d/iptables start|stop|restart在不同的 ubuntu 服务器上有一个脚本(这是一个普通的 shell 脚本)

对于每个新服务,我必须编辑并插入一行以打开端口。这导致不同机器上有许多不同版本的 init.d 脚本。

是否可以自动包含假设所有文件/etc/iptables/include.d/

目标是在/etc/init.d/iptables的启动函数中应该只有一行,如

include /etc/iptables/include.d/*
Run Code Online (Sandbox Code Playgroud)

/etc/iptables/include.d/我添加了一个附加文件之后,我只想说

/etc/init.d/iptables restart
Run Code Online (Sandbox Code Playgroud)

编辑:正如 Saurabh 指出的那样,当命令需要特定顺序时,这可能会导致问题。高级设置可能有不同的目录,例如:

/etc/iptables/include01.d/
/etc/iptables/include02.d/
/etc/iptables/include03.d/
Run Code Online (Sandbox Code Playgroud)

并像这样包括它们:

    包含 /etc/iptables/include01.d/*
    ...也许一些代码在主文件中......
    包括/etc/iptables/include02.d/*
    包括/etc/iptables/include03.d/*

linux unix shell bash iptables

6
推荐指数
1
解决办法
8142
查看次数

最佳实践:Apache 文件上传

我正在为受信任的用户寻找通过 html 表单(可能涉及 php)上传 pdf 文件的方法。这是一个非常标准的 ubuntu linux 服务器,带有 apache 2.x 和 php 5。

我想知道 apache 文件上传模块有什么好处。有一段时间没有更新了,是否积极维护?与没有这个模块的 apache 2 的传统 php 上传相比有什么优势?

http://commons.apache.org/fileupload

我记得传统的 php 文件上传很困难,有一些陷阱,apache 文件上传模块会改善这种情况吗?

我正在寻找的解决方案将成为现有网站的一部分,并集成到管理 Web 前端。我没有考虑的事情是 webdav、ssh、ftp、ftps、ftp over ssh。应该使用浏览器并且无需安装特殊的客户端软件,所以我询问基于浏览器的上传而无需特殊的客户端要求。我可以向用户请求像 Firefox >= 3.5 这样的现代浏览器或像 chrome 或 safari 这样的现代 webkit broser。

ubuntu file-transfer upload apache-2.2

6
推荐指数
1
解决办法
6089
查看次数

如何从脚本添加具有随机或无效密码的 linux 用户

我想从脚本中将用户添加到 linux 系统,但我不想发明或关心密码。这应该自动完成。

目标是生成 ssh-keys,这个用户只需要远程登录。或者,该用户将通过 sudo 用户使用sudo su - thatuser

我想省去每次创建这样的用户时发明和输入一些安全密码的麻烦,并且还从脚本中执行此操作。

没有人应该能够以该用户的身份使用密码登录,所以我的想法是他获得了一个很好的随机密码,但没有人知道。

我可以编写一个脚本来生成一些随机的东西,但是可能有内置的东西?或者只是停用密码(这样密码登录是不可能的,但是使用密钥 ssh 登录并且sudo su - thatuser工作正常。

编辑:已经有一些答案,很好,但我仍然不确定如何去做。剧本会是什么样子?

它应该表现得像 adduser 并创建所有标准(如 std.home dir、骨骼复制、具有相同名称的组)

Edit2:最后,在你的帮助下,我找到了一个有效的解决方案,我想分享它。这是一个我称之为“adduser-nopasswd”的脚本,我将它放入/usr/local/sbin(这是一个好地方吗?),它只能由root 执行。它需要一个参数,同时是新组和用户的名称:

#!/bin/sh -e
# the -e makes the script exit immediateley if one command fails
NAME=$1
groupadd $NAME
useradd --create-home -d /home/$NAME --shell /bin/bash -g $NAME $NAME
Run Code Online (Sandbox Code Playgroud)

对此功能有何评论?

security linux unix permissions user-management

5
推荐指数
1
解决办法
1万
查看次数

如何以用户身份挂载外部 vfat 驱动器?

我在 bak 组中有一个挂载点 /mnt/v1 和一个用户 bak。我这样做了:

sudo chown bak:bak /mnt/v1
sudo chmod 775 /mnt/v1
Run Code Online (Sandbox Code Playgroud)

现在我想将一个带有 /dev/sdb1 分区的外部 fat32 驱动器挂载到这个目录。我收到消息“只有 root 可以这样做”,所以我发现我需要更改 fstab 并添加了这一行:

/dev/sdb1       /mnt/v1     vfat        noauto,user           0      2
Run Code Online (Sandbox Code Playgroud)

但是当我像这样安装时,我仍然收到令人讨厌的消息“只有 root 可以做到这一点”:

bak$ mount -t vfat /dev/sdb1 /mnt/v1
Run Code Online (Sandbox Code Playgroud)

但是当我以 root 身份挂载时,整个驱动器都获得了我不想要的 root 权限。

是否需要采取一些措施才能将新的 fstab 条目读入内核?我怎样才能达到我想要的?

security linux storage permissions mount

5
推荐指数
1
解决办法
3万
查看次数

ubuntu 安装程序中的“虚拟控制台”代表什么?

我正在 vmware vm 中安装 ubuntu 服务器。在专家安装程序中有这个问题(我猜这在 debian 安装程序中是一样的):

请输入您使用的虚拟控制台的空格分隔列表

标准设置是:

/dev/tty[1-6]
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以将其减少到 1-2。我不确定它到底是什么意思。我只会使用一个“物理”控制台来安装一次,也许稍后会在紧急情况下使用,但通常只使用 ssh 远程登录控制台。

也许这与这个常见问题条目有关:

http://www.faqs.org/docs/Linux-HOWTO/Keyboard-and-Console-HOWTO.html#ss7.1

所以我的问题是:如果我将其减少到 1-2,它会发生什么变化?我想知道每次安装。

编辑:我为我的安装选择了这个:

/dev/tty[1-1]
Run Code Online (Sandbox Code Playgroud)

但是后来在运行的实例上,我在 vmware 控制台上得到了 6 个控制台,其中Alt- 1.. Alt-6仍然如此。奇怪的。有 6 个实例getty出现在进程列表中。

编辑 2:我应该补充说这是 Ubuntu 10.04 服务器安装磁盘 (i386)“Lucid Lynx” beta 2

ubuntu debian installation console terminal

5
推荐指数
1
解决办法
2841
查看次数

在后端失败后,如何在再次询问后端之前删除 apache 反向代理上的请求阻塞?

我正在研究 apache2 反向代理虚拟主机。当apache背后的服务器宕机时,对apache的第一个请求当然会显示错误页面。

但是在随后的请求中,apache 在再次询问后端服务器之前似乎延迟了一段时间。在这段时间内(虽然很短,但在开发中我根本不想延迟)只有 apache 错误页面显示给浏览器,尽管后端服务器已经启动。

apache 中的此设置在哪里,此行为是什么,以及如何将延迟时间设置为零?

编辑:我不是要更改单个请求的超时时间。我想更改阻塞时间。根据我的经验,apache 会在一段时间内阻止进一步的请求,然后再次询问曾经失败过的后端服务器。

Edit2:这就是 apache 提供的:

服务暂时不可用

由于维护停机或容量问题,服务器暂时无法为您的请求提供服务。请稍后再试。


Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.7 with Suhosin-Patch proxy_html/3.0.0 Server at localhost Port 80

在 Firefox 中按 Ctrl-R 60 秒后,页面终于出现了。

reverse-proxy apache-2.2

4
推荐指数
1
解决办法
4248
查看次数

如何使用monit检查脚本的结果?

有没有办法用monit检查脚本的结果?例如,脚本返回 0 表示正常,但 1 表示失败。这个想法是直接从本地机器上的 monit 调用脚本并解释结果并发送电子邮件。

例如,脚本可以进行一些硬件检查。

我的解决方法是使用 cron 调用脚本并将结果写入文件并使用 monit 检查文件。

monitoring monit

4
推荐指数
2
解决办法
1万
查看次数

vmware 服务器报废,现在去哪里?

我们在 vmware server 2.x 上有一些运行在 64 位硬件上的虚拟机,并且对它非常满意。

由于将不再提供 vmware 服务器,我们正在考虑迁移到 ESXi,这似乎是免费的。我们将不得不安装专门的网卡,但这只是一个小问题。

但是,一旦被完全无声地停产的产品单独留下,就会对 vmware 产生一些阻力。

VirtualBox 似乎工作:http : //blogs.oracle.com/virtualization/2010/06/migrating_from_vmware_to_virtu.html

还有哪些其他免费(免许可费用)选项?我们有 Windows Server 2003 32 位虚拟机以及 linux 32 和 64 位虚拟机要迁移。所以 xen 似乎不是一个选项,它不运行微软操作系统。

编辑:我接受了 grub 的回答,因为我发现所涵盖的问题的许多方面。但它并不容易选择,因为所有的答案都很好。谢谢你们!我现在感觉很了解情况,你的回答真的很有帮助。

virtualization xen virtualbox vmware-esxi

4
推荐指数
1
解决办法
3057
查看次数

如何在 linux 控制台编辑器 nano 和 pico 中扩展选择?

如何使用键盘扩展 nano 和 pico 中的选择,以便我可以移动和复制块?

抱歉,这是一个我通常会自己找到的问题,但我现在在不同的场合搜索了很多但没有成功。

linux command-line-interface gnu

3
推荐指数
1
解决办法
536
查看次数

如何防止 Majestic 12 索引站点

我们在 Web 服务器上遇到了大量流量和服务器负载。

我所能发现的只是 majestic12 一直在访问页面。

我想知道如何防止 majestic12 索引该站点

他们是否尊重任何 robots.txt 条目,我该如何编写这样的条目?

search-engine apache-2.2

3
推荐指数
1
解决办法
4706
查看次数

如何在 linux 上跟踪永久磁盘访问

我有一台运行很少服务的机器,但我不相信他们负责有时在这台服务器上进行大量磁盘访问(在长时间几乎没有移动之后,我可以听到大量的头部移动)

又出现这样的时间段,怎么才能查出是哪个进程在硬盘上做某事呢?

我想使用 linux 命令“lsof”,但它的输出和选项太多了,所以我什么也看不到。

你能指导我如何吗

  • 只显示硬盘访问
  • 这确实是当前正在发生的物理事件(未缓冲或仅打开文件,实际上是物理读取或写入)
  • 可能按用户或进程排序或过滤

如果您能在这种情况下演示 lsof 的一些有用选项,那就太好了。谢谢你。

编辑感谢您的所有答案。这比我预期的要多得多,我赞成所有答案(直到今天)

linux performance filesystems resources hard-drive

2
推荐指数
1
解决办法
988
查看次数