工具/软件: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)。 是否有办法使这两者都在同一电路板上工作?