小编mar*_*ark的帖子

如何在 Apache LDAP 中对嵌套组中的用户进行身份验证?

我已经使用以下设置进行 LDAP 身份验证

 AuthName            "whatever"
 AuthType            Basic
 AuthBasicProvider   ldap
 AuthLDAPUrl         "ldap://server/OU=SBSUsers,OU=Users,OU=MyBusiness,DC=company,DC=local?sAMAccountName?sub?(objectClass=*)"
 Require ldap-group  CN=MySpecificGroup,OU=Security Groups,OU=MyBusiness,DC=company,DC=local
Run Code Online (Sandbox Code Playgroud)

这有效,但是我必须将所有要进行身份验证的用户放入MySpecificGroup. 但是在我配置的 LDAP 服务器上,MySpecificGroup它还包含MyOtherGroup具有另一个用户列表的组。

但是那些用户MyOtherGroup没有经过身份验证,我必须手动将它们全部添加到MySpecificGroup并且基本上不能使用嵌套分组。我使用的是 Windows SBS 2003。

有没有办法配置 Apache LDAP 来做到这一点?或者是否存在可能无限递归的问题,因此不允许?

ldap groups apache-2.2

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

“设备上没有剩余空间”,df 显示差异

几个小时前,我的根分区填满了,我将文件从它移开,df 报告:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/hda1             183G  174G     0 100% /
Run Code Online (Sandbox Code Playgroud)

所以应该有 9GB 可用,但可用报告为 0,使用率仍为 100%。

我以 root 身份测试,例如

# echo test >a ; cat a
test
Run Code Online (Sandbox Code Playgroud)

它按预期工作;但是作为普通用户,我仍然收到错误消息:

$ echo test >a ; cat a
bash: echo: write error: No space left on device
Run Code Online (Sandbox Code Playgroud)

我进行正面测试的根主目录和我的主目录在同一个分区上。 fstab 条目是:

/dev/hda1 / ext3 noatime,defaults,errors=remount-ro 0 1
Run Code Online (Sandbox Code Playgroud)

linux

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

为什么我的 rsync 与纯 cp 甚至 scp 相比如此慢?

我通过安装份额(份额被安装在Linux文件transfering到Windows 7视窗的Linux)..我复制大量数据(即近TB)从旧到新机器上我的局域网内. 我已经很不幸了,我只有 100MBit。自然地,我盲目地使用了 rsync,但在一天后已经想知道为什么它感觉如此缓慢。启用进度表显示我的传输速率约为 2MB/s 。

所以我拿了一个合理的大文件(800MB)并跟踪传输时间(1):

cp : 05:33
scp (2): 06:33
rsync : 21:51
Run Code Online (Sandbox Code Playgroud)

1) 我删除了每次运行之间的文件
2) 通过 localhost scp 到同一台 Linux 机器直接到共享;完全没用,但提供了一个进度表

测试很简单

(cp|scp|rsync) <source> <destination>
Run Code Online (Sandbox Code Playgroud)

除了 scp 的主机/端口外,没有特殊参数。我什至尝试-W切换 rsync 但十分钟后取消。rsync 是在 Lenny 上运行的 3.0.3。能够随时中断复制过程并恢复使我使用 rsync,但现在我认为我真的需要重新考虑这个要求。

怎么可能有这么大的差别?

更新/解决:

感谢rschuler,我能够解决这个问题:出于效率原因,使用 rsync 守护进程而不是 smb 挂载。所说的 DeltaCopy 有效,但必须注意一些事项

  • 这是一个很好的 GUI 包装器,但如果出现问题,最好知道如何修复它。似乎我第一次输入了我的用户凭据,在该凭据下运行 rsync 服务是错误的,但是 GUI 不允许我设置新的凭据。我发现它作为服务运行并且能够在那里设置正确的凭据
  • 需要手动将端口添加到防火墙以允许连接
  • 个人品味:确保共享受密码保护,如果没有,请确保服务不会自动启动 Windows;以防万一
  • 包装的 rsync 二进制文件不是本地 Windows 端口,而是构建在 cygwin 上。但是,包含的 cygwin DLL 不能正确处理 UTF8 和损坏的非 ascii …

performance rsync

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

什么限制了 scp 的性能?

我有两台通过 1 Gbit LAN 连接的 Debian Linux 机器。我可以使用原始 HTTP 文件传输来衡量这一点,wget它在任一方向上的传输速度约为 100MB/s。

当我现在使用 时scp,我得到的最大无压缩约为15MB/s-C根据内容,使用该标志启用压缩可让我达到高达50MB/s 的速度

尽管如此,这里似乎浪费了很多带宽。很长一段时间我都没有打扰,直到我真的不得不考虑一些非常大的日志文件传输,才意识到它scp是多么的慢。scp即使在公司环境中,我也很自然地使用,因为所有基础设施都是为它设置的。

是什么限制了 scp 的性能?由于加密,它是否受 CPU 限制?当我使用htop它时,它似乎没有使用多核 CPU,只有四个 CPU 中的一个达到了最大值。

有没有办法提高吞吐量?我有 HTTP 服务器和 samba 可用,但为了在 Linux 机器之间移动文件,我通常只使用 SSH,这就是我成长的方式。但这现在让我想到了,似乎我需要考虑其他大量数据的传输方式。

HTTP 仅用于 PHP/Java/whatever 中的特定应用程序,而 samba 用于某些特殊原因,我们需要从 Windows 机器访问。

networking bandwidth scp

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

linux-vserver 中的 Apache 无法启动,无法创建套接字

在广泛的研究和测试中,写了一个值得 stackexchange 的正确问题,我找到了一个解决方案:libapr1在来宾内部重建包。
我想我还是会发布这些信息,因为它可能对其他人有用。

问题

当我libapache2-mod-php5在 Wheezy 来宾中安装并尝试启动时,我得到以下信息:

root@test01:~# /usr/sbin/apache2ctl start
[crit] (22)Invalid argument: alloc_listener: failed to get a socket for (null)
Syntax error on line 9 of /etc/apache2/ports.conf:
Listen setup failed
Action 'start' failed.
The Apache error log may have more information.
root@test01:~# tail /var/log/apache2/error.log
root@test01:~#
root@test01:~# head -n 9 /etc/apache2/ports.conf|tail -n 1
Listen 80
Run Code Online (Sandbox Code Playgroud)

这是未更改的原始软件包安装,默认情况下无法启动。

我的测试

根据官方文档,Listen 80其实没问题。把它变成Listen 127.0.0.1:80给我:

[crit] (22)Invalid argument: alloc_listener: failed to get a socket for 127.0.0.1 …
Run Code Online (Sandbox Code Playgroud)

debian socket linux-vserver apache-2.2

8
推荐指数
1
解决办法
6593
查看次数

让清漆在获取新数据时从缓存中发送旧数据?

我正在缓存动态生成的页面(PHP-FPM、NGINX)并在它们前面有清漆,这非常有效。

但是,一旦达到缓存超时,我就会看到:

  • 新客户请求页面
  • 清漆识别缓存超时
  • 客户等待
  • 清漆从后端获取新页面
  • varnish 向客户端提供新页面(并且还缓存了页面,以便下一个立即获取它的请求)

我想做的是:

  • 客户请求页面
  • 清漆识别超时
  • 清漆将旧页面交付给客户
  • varnish 从后端获取新页面并将其放入缓存

在我的情况下,过时信息不是一个大问题的网站,尤其是当我们谈论几分钟的缓存超时时。

但是,我不希望惩罚用户排队等待,而是立即提供一些东西。这在某种程度上可能吗?

为了说明这一点,以下是对我的服务器运行 5 分钟的示例输出,该服务器配置为缓存一分钟:

HTTP/1.1,200,  1.97,  12710,/,1,2013-06-24 00:21:06
...
HTTP/1.1,200,  1.88,  12710,/,1,2013-06-24 00:21:20
...
HTTP/1.1,200,  1.93,  12710,/,1,2013-06-24 00:22:08
...
HTTP/1.1,200,  1.89,  12710,/,1,2013-06-24 00:22:22
...
HTTP/1.1,200,  1.94,  12710,/,1,2013-06-24 00:23:10
...
HTTP/1.1,200,  1.91,  12709,/,1,2013-06-24 00:23:23
...
HTTP/1.1,200,  1.93,  12710,/,1,2013-06-24 00:24:12
...
Run Code Online (Sandbox Code Playgroud)

我省略了大约运行的数百个请求0.02。但是我仍然担心用户必须等待近 2 秒钟才能获得原始 HTML。

我们不能在这里做得更好吗?

(我遇到Varnish send while cache,听起来很相似,但不完全是我想要做的。)

解决方案

Shane Madden 的回答包含了解决方案,但我没有立即意识到。还有一个细节我没有包含在我的问题中,因为我认为它不相关,但实际上它是。

我目前使用的 CMS 解决方案有一个 varnish 数据库侦听器,因此能够通知 varnish 禁止内容已更改的页面。它发送了一个PURGE带有一些正则表达式的请求来禁止某些页面。 …

performance cache varnish

8
推荐指数
1
解决办法
8356
查看次数

在 Linux 上的 /usr 中跟踪自定义软件安装的最佳实践?

我自己在 Linux 上编译和安装软件(在我的例子中是 Debian Squeeze)。下载、解包、安装依赖的开发者库/头文件,运行 configure 然后 make。

到目前为止,所有内容仍保留在源目录中。一旦我运行make install,基本上我开始在/usr/localor 中/usr放置非包文件(取决于--path开关)。

我也尝试将它安装到不同的地方,例如/opt,但这通常会在某处引起麻烦。即我总是记得将它专门添加到标题/链接器路径中。或者我在那里安装了一个包,但系统范围pkg-config内不知道它(我再次需要添加额外的标志)。即使我在尔德每安装定制软件/opt,我不知道它在所有这些文件bin/,等等lib/等等属于彼此。如果我开始将它们安装到/opt/software1/.

但是当我直接在其中安装软件时,我/usr感觉很糟糕,无法正确分辨我的自定义安装文件属于哪里。确定给定文件是否属于某个包很容易,但如果不属于,则在大型自定义安装中,很难记住或找出文件所属的位置。

当我想删除文件时,情况会变得更糟。它们分散在bin/lib/man/等中。 因此,如果我想完全删除自定义安装的软件包,则必须执行手动工作,或者在最坏的情况下,我不再能够确定所有这些,我将保持陈旧周围的文件。

我知道我也可以开始构建一个自定义包。但这需要我分析我预先安装的每个软件吗?我没有创建.deb文件的实际经验,也不打算将它们分发到其他安装。我想要的只是一种跟踪自定义本地安装的好方法。

我可能可以自己想出一些办法,即列出所有文件 ( find / ...),安装软件,然后再次执行此操作并将差异保存在某处。只是想知道是否有更好的方法。

linux packages

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

Debian apt-get 更新不起作用

我有一台 Debian 机器 ( Linux debian 2.6.32-5-amd64 #1 SMP Fri Feb 15 15:39:52 UTC 2013 x86_64 GNU/Linux) 在 NAT 后面运行,其中有几个端口转发给 SSH 和 Web。我可以很好地访问网络,也可以很好地进行 DNS 查找。

我的 sources.list 的内容

deb http://ftp.br.debian.org/debian squeeze main
deb-src http://ftp.br.debian.org/debian squeeze main

deb http://ftp.br.debian.org/debian squeeze-updates main
deb-src http://ftp.br.debian.org/debian squeeze-updates main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
Run Code Online (Sandbox Code Playgroud)

当我尝试 apt-get update 时,我得到以下信息

Ign http://security.debian.org squeeze/updates Release.gpg
Ign http://security.debian.org/ squeeze/updates/main Translation-en
Ign http://security.debian.org/ squeeze/updates/main Translation-en_GB
Ign http://security.debian.org squeeze/updates Release
Err http://security.debian.org squeeze/updates/main Sources
404  Not Found …
Run Code Online (Sandbox Code Playgroud)

debian apt

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

严重的写性能问题

[对不起,我试图保持简短,但这是不可能的]

我在富士通西门子 Primergy RX200 S3上运行 Linux 2.6.22.19 和linux-vserver 2.3.0.34用于开发目的。Intel(R) Xeon(R) 5140 @ 2.33Ghz 和 4GB RAM(其中大部分 500MB 仍然是免费的)。服务器有两个热插拔 250GB 用于镜像 RAID 配置:

dev:~# mpt-status --newstyle
ioc:0 vol_id:0 type:IM raidlevel:RAID-1 num_disks:2 size(GB):231 state: OPTIMAL flags: ENABLED
ioc:0 phys_id:0 scsi_id:1 vendor:ATA      product_id:WDC WD2500JS-55N revision:2E01 size(GB):232 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
ioc:0 phys_id:1 scsi_id:8 vendor:ATA      product_id:WDC WD2500JS-55N revision:2E01 size(GB):232 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
scsi_id:0 100%
scsi_id:1 100%
Run Code Online (Sandbox Code Playgroud)

我正在运行LVM和 …

linux raid performance debian lsi

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

如何找到产生流量的客户?

我们正在运行 SBS 2003 SP2,我想知道是否有任何简单的方法可以找出特定时间的流量是从哪里生成的?

就我而言,每天的总流量消耗大约为 8GB。我不关心一般流量(那些 8GB 主要包括在夜间传输备份文件),但在特定时间范围内。

举个例子:突然在上午 10 点 30 分,互联网连接速度明显变慢。我检查了我们的自动备份和其他传输服务,但它们都没有运行。我仍然有一个网络,其中大约有 15 台 PC 散布在建筑物周围,这可能会产生流量。

我们只有2MBit的小线路,所以在办公时间线路很快就饱和了。我不怀疑任何用户做错了什么,我认为有一些软件自动化的事情正在发生,但我不确定。也许是 Windows 或 Adob​​e 自动下载,但我如何确定?

我已经在查看 ISA 2004 生成的报告并看到很多数字,但我无法确定哪个客户端生成了流量。

通过转到任务管理器中的网络选项卡,我可以看到服务器本身的峰值,我看到外部 100Mbit 接口为 2% == 2Mbit,但我无法弄清楚它实际上来自哪里。

我想我可以排除它是服务器本身产生的流量,因为来自外部接口的流量图与为我的用户提供服务的 LAN 接口相匹配(我们的 DMZ 接口,其中包含我们的自动备份服务,当时为 0 )。

我怎样才能进一步解决这个问题?

traffic isa-server

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