标签: limits

FAT32 对目录中所有文件名总长度的限制吗?

我的一个客户的备份硬盘驱动器上遇到了一个奇怪的问题:该硬盘驱动器采用 FAT32 格式,昨晚我们的备份作业在子目录上抛出了一个错误,声称它无法复制必须复制的文件。

当然,我首先检查了磁盘大小,但是有足够的空间。给出的错误是0x80070052,如果我将其放入搜索引擎,我会得到如下结果:http ://www.quickonlinetips.com/archives/2007/09/how-to-fix-error-0x80070052-on-usb-闪存驱动器/

但该分区的根目录下只有 8 个文件/目录。所以我继续决定自己测试一些东西。创建一个文件(例如名为“test.txt”)确实有效。但是使用备份作业失败的文件名之一创建文件不起作用,而是出现了与上面相同的错误。我测试了一下,发现我可以在该子目录中创建一个包含 10 个字符的文件,再多一个字符,就会失败。

检测到这一点后,我在该子目录中创建了一个目录(名为“test”),并将一些文件从子目录移动到新目录中,完成后,我尝试创建一个包含 11 个字符的文件(这不起作用)之前)并且它起作用了。

现在,显然从观察来看,对于 FAT32 的单个目录内的所有文件名可以使用多少个字符,似乎存在某种硬限制,但我找不到有关该硬限制的任何信息,或者是否有其他文件系统(尤其是 NTFS) ,我猜这将是这种情况下的替代方案)具有类似的限制。

如果有人可以向我提供有关观察到的行为的信息,那就太好了!

编辑

一位同事告诉我将确切的文件夹放在另一个 FAT32 驱动器上,因为他曾经在使用特定制造商的 USB 控制器时遇到过问题。我尝试了两个来自不同制造商的 USB 记忆棒,均为 FAT32 格式,两者都显示出与上述完全相同的行为。

让您了解所涉及的文件数量:大约有 10200 个文件,每个文件的文件名长度在 80 到 110 个字符之间,不包括文件路径(这似乎无关紧要),因此大约有涉及一百万个字符。

fat32 limits

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

限制切换到root帐户的并发用户数?

这适用于 Ubuntu 14.04 和 Centos 7。

我需要限制以 root 身份主动运行的用户数量。即在 CLI 上以 root 身份登录。

基本上,我一次只希望一个用户能够以 root 身份运行命令。这里的目的是审计。

我研究了在 /etc/security/limits.conf 中设置限制,但 pam_limits.so 模块似乎只影响登录。或者登录shell。没有把握。但无论具体情况如何,它确实会阻止用户多次通过 SSH 连接到一个盒子,但不会阻止多个用户通过“sudo su”成为 root 用户。因此,设置limits.conf 仍然可以允许多个用户同时以root 身份登录。

这是我尝试过的limits.conf行来限制这个:

root            hard    maxlogins            1
Run Code Online (Sandbox Code Playgroud)

接下来我尝试限制@admins 组中的用户。我认为这些用户是唯一允许 sudo su 到 root 的用户(基于我们现有的自定义 sudo 规则)。

@admins            hard    maxlogins            1
Run Code Online (Sandbox Code Playgroud)

这似乎做我想做的事,但似乎笨拙/错误。称之为直觉——我不太清楚我认为这个错误的地方。

最后,“为什么?”。为什么我有这个要求?

我们正在尝试实施控制以满足 PCI-DSS 3.1 要求 8.5“不要使用组、共享或通用 ID、密码或其他身份验证方法”——强调“共享”。在 Windows 环境中,您只需授予用户执行任何操作的权限,并且没有人共享主管理员帐户。Linux 环境的设计使得在某些情况下,您确实希望以 root 身份登录。在 Linux 环境中必须有一种符合 PCI 标准的方法来解决这个问题。

linux sudo pci-dss limits ubuntu-14.04

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

如何在启动时为非 root 用户设置硬文件和软文件限制?

我有一个 xen HVM vps,我试图在启动时为任何人提高硬文件和软文件限制。我正在使用 Ubuntu 10.04.3 并且在 /etc/security/limits.conf 里面我有:

nobody       soft    nofile   10000
nobody       hard    nofile  30000
Run Code Online (Sandbox Code Playgroud)

但是当我检查文件限制时仍然是默认的 1024:

su nobody -c 'ulimit -Hn'
1024
su nobody -c 'ulimit -Sn'
1024
Run Code Online (Sandbox Code Playgroud)

提高 Ubuntu 文件限制的正确方法是什么?

linux linux-kernel limits

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

什么时候不使用虚拟化?

当虚拟化是新的时,我们试图虚拟化所有东西,但后来我们注意到我们的虚拟机比裸机慢得多的用例。

对我们而言,在决定不进行虚拟化时,我们使用以下规则:

  • 网络 IO 密集型应用程序(即具有许多中断/数据包)
  • 磁盘 IO 密集型应用程序(如果不在 SAN 存储上)
  • RAM 密集型(这是最宝贵的资源)

我们在 Xen 和 DRDB 以及 Hyper-V 与 DAS 的无共享方面都有过这些经验。所有管理程序都是这种情况吗?

在决定是否虚拟化应用程序/服务器时,我应该寻找哪些(其他)指标?

virtualization limits

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

从哪个 Apache 版本开始,LimitRequestFieldSize 不再硬编码为最大 8k?

标题说明了一切:从哪个版本开始,LimitRequestFieldSize 不再硬编码为最大值。8k?

似乎 2.2.15 仍然受到影响。

httpd http-headers limits apache-2.2

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

已配置但未应用于守护程序的限制

在我的 CentOS 7 上,我cat /proc/<pid>/limits用来查看实际限制设置。我确认这个方法在这里是完全准确的,因为我在 MySQL 上使用它,它不能转储一个包含 >8000 个表的特定数据库。如果使用prlimit我将其设置为 10000,则转储成功完成。

现在,我想避免使用 prlimit,所以我配置了 /etc/security/limits.conf 文件以满足我的需求,如果我使用相应的用户(mysql)运行 bash,我可以看到正确的限制值配置运行时ulimit -a

问题是mysql用户运行的mysqld进程仍然设置为默认值(这里是1024),导致转储数据库失败。我唯一的解决方案是在运行时运行 prlimit 但我想了解缺少的内容,以便我的进程在启动时遵守限制配置。

security centos process limits centos7

0
推荐指数
1
解决办法
250
查看次数