加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

unix – 如何为非root用户设置’每个进程的最大线程数’ulimit?

发布时间:2020-12-15 18:32:49 所属栏目:安全 来源:网络整理
导读:Ulimit手册页建议-r选项会设置这个,但它似乎只对root用户有效,并且没有通过/ etc / security / limits设置它的等价物? 有任何想法吗? 你说AIX,但在 linux的情况下,我认为它只是-u限位开关.在 Linux中,这表示’进程’,但是使用bash,ulimit只是setrlimit系统
Ulimit手册页建议-r选项会设置这个,但它似乎只对root用户有效,并且没有通过/ etc / security / limits设置它的等价物?

有任何想法吗?

你说AIX,但在 linux的情况下,我认为它只是-u限位开关.在 Linux中,这表示’进程’,但是使用bash,ulimit只是setrlimit系统调用的接口.这可以通过运行strace bash -c’ulimit -u 10’看到,它返回:
setrlimit(RLIMIT_NPROC,{rlim_cur=10,rlim_max=10}) = 0

setrlimit的手册页说明:

RLIMIT_NPROC
The maximum number of processes (or,more precisely on
Linux,
threads
) that can be created for the real user ID of the
calling
process. Upon encountering this limit,fork(2) fails
with the
error EAGAIN.

那么对AIX来说可能是一样的吗? This link声明:“AIX没有定义RLIMIT_NPROC或RLIMIT_MEMLOCK资源.”,但您可以在developerworks上找到更明确的答案.

对于权限问题,解决方案可能是使用root设置限制,然后su为用户增加限制.我必须在过去为其他资源限制执行此操作,例如,max open files. limits.conf没有应用,所以我从root用户使用了sudo或su,然后限制被继承.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读