我已经使用以下设置进行 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 来做到这一点?或者是否存在可能无限递归的问题,因此不允许?
几个小时前,我的根分区填满了,我将文件从它移开,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文件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 有效,但必须注意一些事项
我有两台通过 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 机器访问。
在广泛的研究和测试中,写了一个值得 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) 我正在缓存动态生成的页面(PHP-FPM、NGINX)并在它们前面有清漆,这非常有效。
但是,一旦达到缓存超时,我就会看到:
我想做的是:
在我的情况下,过时信息不是一个大问题的网站,尤其是当我们谈论几分钟的缓存超时时。
但是,我不希望惩罚用户排队等待,而是立即提供一些东西。这在某种程度上可能吗?
为了说明这一点,以下是对我的服务器运行 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
带有一些正则表达式的请求来禁止某些页面。 …
我自己在 Linux 上编译和安装软件(在我的例子中是 Debian Squeeze)。下载、解包、安装依赖的开发者库/头文件,运行 configure 然后 make。
到目前为止,所有内容仍保留在源目录中。一旦我运行make install
,基本上我开始在/usr/local
or 中/usr
放置非包文件(取决于--path
开关)。
我也尝试将它安装到不同的地方,例如/opt
,但这通常会在某处引起麻烦。即我总是记得将它专门添加到标题/链接器路径中。或者我在那里安装了一个包,但系统范围pkg-config
内不知道它(我再次需要添加额外的标志)。即使我在尔德每安装定制软件/opt
,我不知道它在所有这些文件bin/
,等等lib/
等等属于彼此。如果我开始将它们安装到/opt/software1/
.
但是当我直接在其中安装软件时,我/usr
感觉很糟糕,无法正确分辨我的自定义安装文件属于哪里。确定给定文件是否属于某个包很容易,但如果不属于,则在大型自定义安装中,很难记住或找出文件所属的位置。
当我想删除文件时,情况会变得更糟。它们分散在bin/
、lib/
、man/
等中。 因此,如果我想完全删除自定义安装的软件包,则必须执行手动工作,或者在最坏的情况下,我不再能够确定所有这些,我将保持陈旧周围的文件。
我知道我也可以开始构建一个自定义包。但这需要我分析我预先安装的每个软件吗?我没有创建.deb
文件的实际经验,也不打算将它们分发到其他安装。我想要的只是一种跟踪自定义本地安装的好方法。
我可能可以自己想出一些办法,即列出所有文件 ( find / ...
),安装软件,然后再次执行此操作并将差异保存在某处。只是想知道是否有更好的方法。
我有一台 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) [对不起,我试图保持简短,但这是不可能的]
我在富士通西门子 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和 …
我们正在运行 SBS 2003 SP2,我想知道是否有任何简单的方法可以找出特定时间的流量是从哪里生成的?
就我而言,每天的总流量消耗大约为 8GB。我不关心一般流量(那些 8GB 主要包括在夜间传输备份文件),但在特定时间范围内。
举个例子:突然在上午 10 点 30 分,互联网连接速度明显变慢。我检查了我们的自动备份和其他传输服务,但它们都没有运行。我仍然有一个网络,其中大约有 15 台 PC 散布在建筑物周围,这可能会产生流量。
我们只有2MBit的小线路,所以在办公时间线路很快就饱和了。我不怀疑任何用户做错了什么,我认为有一些软件自动化的事情正在发生,但我不确定。也许是 Windows 或 Adobe 自动下载,但我如何确定?
我已经在查看 ISA 2004 生成的报告并看到很多数字,但我无法确定哪个客户端生成了流量。
通过转到任务管理器中的网络选项卡,我可以看到服务器本身的峰值,我看到外部 100Mbit 接口为 2% == 2Mbit,但我无法弄清楚它实际上来自哪里。
我想我可以排除它是服务器本身产生的流量,因为来自外部接口的流量图与为我的用户提供服务的 LAN 接口相匹配(我们的 DMZ 接口,其中包含我们的自动备份服务,当时为 0 )。
我怎样才能进一步解决这个问题?
debian ×3
linux ×3
performance ×3
apache-2.2 ×2
apt ×1
bandwidth ×1
cache ×1
groups ×1
isa-server ×1
ldap ×1
lsi ×1
networking ×1
packages ×1
raid ×1
rsync ×1
scp ×1
socket ×1
traffic ×1
varnish ×1