SOLARIS 是否有类似于 Linux 的 /etc/security/limits.conf 的文件?

SOLARIS 是否有类似于 Linux 的 /etc/security/limits.conf 的文件?

我正在对 SOLARIS 10 OS 进行合规性检查。我需要验证以下参数设置:

core file size        (blocks, -c) unlimited
data seg size         (kbytes, -d) unlimited
file size             (blocks, -f) unlimited
open files                    (-n) 65536
stack size            (kbytes, -s) unlimited
cpu time             (seconds, -t) unlimited
virtual memory        (kbytes, -v) unlimited

当然,我可以使用 ulimit -cH 来获取上面的显示。但我还需要找到这些设置的位置。我来自 Linux,在 Linux 中,我们有 /etc/security/limts.conf 文件来保存类似的信息。我们在 Solaris 中有这样的文件吗?

短暂性失眠!

答案1

看一下/etc/system-

答案2

没有一个地方可以找到全局设置。它们都是针对每个进程的,并且是动态的。任何进程都可以降低自己的限制,这将由其子进程继承。任何具有 PRIV_SYS_RESOURCE 权限的进程都可以提高硬限制。一个值得注意的例外是打开文件限制,它由 /etc/system 中的 rlim_fd_max 和 rlim_fd_cur 变量设置。默认情况下,所有其他限制都是无限制的,也许堆栈大小除外。

答案3

您可以运行“prctl $$”来检查当前进程的限制。“系统”限制是可以设置的最大值,特权限制需要特权用户才能更改,而基本限制可以由任何人更改。适用于当前进程的限制是最低的,将位于列表顶部。例如,如果我这样做将文件描述符更改为 100,000:

prctl -t basic -n process.max-file-descriptor -v 100000 $$

现在,如果我再次运行“prctl $$”,特权值现在位于顶部,因为它是最低的。即使我更改了基本设置,它也不能给我比特权值更多的资源。

正如已经指出的,Solaris 在资源限制方面非常灵活和动态,它们可以按进程、任务、项目和区域分配。您可以在资源名称中看到它适用于哪些资源。我认为 Linux 中没有与项目和区域相当的东西。任务基本上相当于进程组。由于您可能在默认配置和全局区域中运行所有内容,因此当前进程上的 prctl 命令可能足以满足您的要求。

我还应该提到操作,因为这对你来说可能很重要。超出资源可能会向请求的代码返回错误(拒绝),向进程发送信号(信号),或者不执行任何操作(无),以防你只想记录它但不想破坏任何东西。

相关内容