This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/AM3358:Linux-PAM 未加载 pam_limits.so

Guru**** 2608365 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/651929/linux-am3358-linux-pam-not-loading-pam_limits-so

器件型号:AM3358

工具/软件:Linux

我使用的是 TI SDK 7.0附带的嵌入式 Linux 版本3.12.10。  我正在尝试使用 PAM 将非 root 用户的 msgqueue 值从819200增加到更高的值。  我安装了最新版本的 Linux-PAM,并设置了 pam 配置文件和/etc/security/limits.conf 文件,但 msqqueue 大小的更改不会生效。  我做了一个:

strace -o ~/loglimit su - fireapp

要捕获执行 su 命令时正在执行的操作、并看到正在读取名为/etc/limits 的文件:

open ("/etc/limits、O_RDONLY|O_LARGEFILE)= 4                                   
fstat64 (4、{st_mode=s_IFREG|0644、st_size=1888、...}) = 0                      
mmap2 (NULL、4096、PROT_READ|PROT_WRITE、MAP_PRIVE|MAP_ANGATE、-1、 0)= 0xb6
读取(4、"#/etc/security/limits.conf \n\n#E"...、4096)= 1888                   
读取(4、""、4096)                      = 0                                     

通过查看/etc/limits 文件,我发现它“可以”执行 PAM 的操作,但它似乎不支持更改 msqqueue:

#/etc/limits 包含用户资源限制。
#请参见限制(5)。
编号                  
#格式:                                          
编号            
编号          
用户名的#默认条目为'*'
编号         
#有效标志为:
# A:最大地址空间(KB)
# C:最大核心文件大小(KB)
# D:最大数据大小(KB)
# F:最大文件大小(KB)
# M:最大锁定内存地址空间(KB)[仅适用于 Linux 2.0.x 上的 root 用户]
# N:打开文件的最大数量
# R:最大驻留集大小(KB)[对 Linux 2.0.x]没有影响]
# S:最大堆栈大小(KB)
# T:最大 CPU 时间(最小值)
# U:最大进程数
# L:此用户的最大登录次数
# I:最大尼斯值(0.39转换为20..-19)
# O:最大实时优先级(0..MAX_RT_PRIO)
编号

我的问题是:

1)。  什么是读取此/etc/limits 文件?
2)。 是否有方法禁用它并使用 PAM?

3)。 是否有支持 msgqueue 的更新版本?

4)。  是否有办法使这两者都在同一电路板上工作?