![SOLARIS 是否有类似于 Linux 的 /etc/security/limits.conf 的文件?](https://linux22.com/image/539037/SOLARIS%20%E6%98%AF%E5%90%A6%E6%9C%89%E7%B1%BB%E4%BC%BC%E4%BA%8E%20Linux%20%E7%9A%84%20%2Fetc%2Fsecurity%2Flimits.conf%20%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我正在对 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 命令可能足以满足您的要求。
我还应该提到操作,因为这对你来说可能很重要。超出资源可能会向请求的代码返回错误(拒绝),向进程发送信号(信号),或者不执行任何操作(无),以防你只想记录它但不想破坏任何东西。