ubuntu

如何在Ubuntu中针对特定用户设置ulimit

小樊
44
2025-07-12 10:48:41
栏目: 智能运维

在 Ubuntu 中,您可以使用 ulimit 命令来限制特定用户的资源使用。以下是如何为特定用户设置 ulimit 的步骤:

  1. 编辑 /etc/security/limits.conf 文件: 打开终端并使用文本编辑器(如 nanovim)编辑 /etc/security/limits.conf 文件。

    sudo nano /etc/security/limits.conf
    

    在文件中添加以下行来设置特定用户的资源限制。例如,如果您想限制用户 username 的最大文件描述符数为 1024,可以添加:

    username soft nofile 1024
    username hard nofile 1024
    

    这里的 soft 表示软限制,hard 表示硬限制。软限制是用户可以自行调整的限制,而硬限制是系统管理员设置的最大限制。

    您可以根据需要添加其他资源限制,例如:

    • core:核心转储文件的大小限制
    • data:数据段的大小限制
    • stack:栈的大小限制
    • rss:常驻内存集的大小限制
    • cpu:CPU 时间限制
    • nproc:进程数限制

    例如,限制用户 username 的最大进程数为 512:

    username soft nproc 512
    username hard nproc 512
    
  2. 编辑 /etc/pam.d/common-session/etc/pam.d/common-session-noninteractive 文件: 为了确保 ulimit 设置在用户登录时生效,您还需要编辑 PAM(Pluggable Authentication Modules)配置文件。

    打开 /etc/pam.d/common-session 文件:

    sudo nano /etc/pam.d/common-session
    

    在文件末尾添加以下行:

    session required pam_limits.so
    

    然后打开 /etc/pam.d/common-session-noninteractive 文件:

    sudo nano /etc/pam.d/common-session-noninteractive
    

    在文件末尾添加相同的行:

    session required pam_limits.so
    
  3. 重新登录用户: 保存并关闭所有文件后,用户需要重新登录才能使 ulimit 设置生效。

    su - username
    

    或者,如果您使用的是图形界面登录,注销并重新登录即可。

通过以上步骤,您就可以为特定用户在 Ubuntu 中设置 ulimit 了。请注意,某些资源限制可能需要系统管理员权限才能更改。

0
看了该问题的人还看了