You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SuSE Linux 15 SP5下sudo切换用户执行ulimit -c unlimited失败

解决思路

1. 检查sudo的PAM与环境配置

  • 查看/etc/pam.d/sudo文件,确认是否包含session required pam_limits.so行。如果缺失,添加该行后重启sudo服务,确保sudo切换用户时加载limits.conf的配置。
  • sudo默认会重置环境变量,可尝试在sudo命令中添加-E参数保留原有环境:sudo -E -u sisis -g sisis /tmp/ulimit.sh,注意需确保jenkins用户的环境无安全风险。

2. 验证sudo切换后的实际限制

  • 先执行命令确认切换用户后的core限制状态:sudo -u sisis -g sisis sh -c 'ulimit -c',如果输出为0,说明limits.conf的配置未被应用,需重点排查PAM或sudoers的配置问题。

3. 调整脚本执行环境

  • 检查脚本的shebang(如#!/bin/sh)是否与sisis用户默认shell一致,若不一致可修改为对应shell(如#!/bin/bash)。
  • 非交互式shell可能不会加载用户配置,可在脚本开头添加source ~sisis/.bashrc或source /etc/profile,确保加载完整的环境与限制配置。

4. 通过sudoers直接配置限制

  • 在/etc/sudoers或/etc/sudoers.d/下的文件中添加规则:Defaults:sisis rlimit_core=unlimited,让sudo切换到sisis时自动应用core文件大小无限制的配置。

5. 排查安全模块限制

  • SuSE默认启用AppArmor,可临时停止服务测试:systemctl stop apparmor,若问题解决,需调整AppArmor对sudo或sisis进程的规则,允许修改core限制。

内容的提问来源于stack exchange,提问作者guru

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 18:22:13