Articles of linux

.htaccess安全

在我的.htaccess文件中,我一直在试图弄清楚是否应该使用: 选项无 这当然会禁用所有额外的选项,但我一直在阅读关于使用“选项无”的不同意见,因为有人声称+ FollowSymlinks是为了更好的安全性和性能,而有些人声称FollowSymlinks是一个大安全风险。 我应该使用“选项无”更好的安全性? 谢谢!

正确的方式来pipe理守护进程,Debian / Ubuntu的Linux

什么是最好的方法? 或者至less…一个容易pipe理的? 我经常创build需要始终在后台运行的shell和python脚本。 任何关于简化这个包的build议? 在过去,我会在cron中粘贴一个shell脚本来检查正在运行的进程,但是这感觉像是一个黑客。 我最近阅读了一个名为Angel的程序,这个程序是用Haskell编写的,但是这似乎是一个常用的东西,可能会被内置到操作系统中。 编辑:什么工具可以减less我花费在这个活动上的时间,并导致易于维护和快速部署到新服务器的东西?

在重新启动时select制作并安装新的Linux内核和驱动程序有风险吗?

通常的做法是在源代码中提供Linux内核驱动程序(内核对象KO),并在目标计算机上构build和安装它们。 例如Nvidia的显示驱动程序,Oracle VirtualBox guest加载项驱动程序就是这样安装的。 通过系统更新接收新版本的内核(包含适当的头文件)也很常见。 这需要重新构build和重新安装KO,否则更新后设备将停止工作。 在我们的产品安装启动脚本中,我们希望添加一个步骤来在每次启动时安装KO。 用户可以select退出,并且必须手动构build和安装KO。 设备驱动程序与USB设备通信。 相关细节:1.当安装新内核时,实际的重新构build只会发生一次,因为make不会重新构build已经存在并且是最新的文件。 2.重build驱动程序需要大约2秒的时间,并且在正常启动期间(而不是在内核更新之后)需要几毫秒的时间来跳过构build。3.如果构build失败,不应该使系统崩溃或使其不稳定,但是我们的硬件设备将无法工作。 4.一些发行版可能允许注册钩子,对某些事件执行操作,如内核更新。 但是,我们正试图实现一些能够以统一的方式在大多数分布上运行的东西。 我们的安装程序是脚本+ tar或脚本+ rpm。 不幸的是,对于这个版本,我们没有带宽来为所有发行版本准备本地软件包(例如debian风格)。 问题:1.这是一个可接受的解决scheme? 如果没有,为什么? 2.与这种方法相关的潜在风险是什么? 3.启动过程中正确/首选的地点是什么? rc.local或脚本在init.d或其他? 目标是使其使用相同的方法(如果可能的话)在大多数分布上工作。

PAM cracklib与login.defs

如果在pam_cracklib和login.defs中为最小密码长度设置了不同的参数。 哪个优先? 任何有关PAM的好文档/书籍?

如何在samba中configurationsmb.conf文件在centos 5中共享?

Iam新的桑巴,所以任何人都可以请提供基本信息来configurationsmb.conf。 还有它如何提供权限和身份validation?

configurationSuse Enterprise Linux以自动启动进入Failsafe模式

我们有一台服务器在正常启动时遇到麻烦。 该服务器是运行SuSe Enterprise Linux 10 Service Pack 2的HP Proliant DL380G6。当我们尝试引导它时,它将进入某种磁盘检查。 磁盘检查卡住了一半,从来没有完成,这意味着我们永远不能通过实际的操作系统。 重新启动导致相同的问题。 当我们尝试启动到故障安全模式时,磁盘检查问题就会消失。 显然,这不是一个长期的解决办法,但从短期来看,这确实给了我们一个有效的服务器。 但是,有时我们需要执行无人值守的重新启动(例如,如果电源熄灭)。 有没有办法configuration我们的服务器,以便它默认引导进入失效保护模式? 谢谢,Rik

在Debian上恢复绝望的raid情况

我有一个debian服务器与RAIDarrays的configuration,我不太了解。 它显然有一个两个500GB磁盘的RAIDarrays。 主磁盘有两个分区:/ dev / sda1,其中安装了根FS,以及/ dev / sda2。 我说,因为我搞砸了configuration。 我不知道这是一个RAIDconfiguration,好像第二个磁盘是未使用的,所以我激发了fdisk,并销毁了我在/ dev / sdb上find的每个分区。 我实际上并没有理解sdb上的每个分区都绑定在sda上的分区上。 重新启动后,我的分区都没有出现。 电脑工作,但: ls /dev/sd* 什么都不给出 同样 fdisk -l 也不会返回任何东西,并分开失败,错误,mdadm –detail –scan也不会返回任何内容。 我尝试了任何我能find的东西,但是我没有find任何人,每个设备都在/ dev /中消失了,我不知道该怎么做。 奇怪的是,DF输出: Sys. de fichiers 1K-blocs Utilisé Dispo. Uti% Monté sur /dev/sda1 10080488 6255148 3313272 66% / tmpfs 1018372 0 1018372 0% /lib/init/rw udev 10240 32 10208 […]

使用屏幕监视非交互式脚本(或其他解决scheme)

我有一些自主脚本,通过ssh在远程机器上运行命令。 这些脚本依靠获取stdout,stderr和每个命令运行的返回代码。 我希望能够监视每个目标机器上脚本的进度,以便我能够看到是否有东西被挂起,如果有必要可能会进行干预。 我最初的想法是让脚本在屏幕会话中运行命令,以便人员监视可以简单地使用screen -x附加到会话。 但是,由于屏幕是一个交互式程序,所以从脚本中很难做到这一点。 我可以发送一个命令到屏幕会话与screen -S session -X stuff "command^M" ,但是我没有得到输出并返回代码,我需要回来。 我的第二个想法是把script /path/to/log到~/.bash_profile并将整个会话logging到文件中。 然后监控人员可以简单地拖拽日志文件。 但是,这并不能提供我正在寻找的交互性。 任何想法如何解决这个问题?

哪个共享库需要另一个共享库?

我有我自己的可执行文件,我链接到特定版本的Xerces。 它还使用了一堆其他库,其中一些不是我自己的。 当我在该可执行文件上运行ldd时,发现它需要我期望需要的Xerces版本以及另一个版本。 我假设其他版本来自我链接到其他库。 这里是一个问题:如何找出哪个第三方库需要旧的Xerces? 环境是Linux和Solaris(我的可执行文件是为这两者编译的)。

selectVPS规格

我打算注册一个VPS账户。 在VPS我打算主持〜5 SVN回购,几个基于PHP的低stream量网站,游戏服务器(MineCraft),可能还有一些其他小应用程序。 SVN回购只会每天更新一次或两次,所以他们不会占用太多的磁盘空间或stream量。 这些网站可以是相当丰富的图像,但是拥有很less的访问者。 我不太了解MineCraft服务器。 但是,由于我们将会是〜5名球员,我不认为这会占用很多的stream量或记忆。 现在我的问题。 我需要什么规格? 足够的128MB内存? 我需要多lessstream量/月份?