当前位置: 首页 > wzjs >正文

个人网站怎么做app引流推广软件

个人网站怎么做app,引流推广软件,一学一做短视频网站,西安双语网站建设shmget 是 System V 共享内存的核心系统调用之一,其权限位(shmflg 参数)决定了共享内存段的访问控制和创建行为。以下是权限位的详细解析: 权限位的组成 shmflg 参数由两部分组成: 权限标志(低 9 位&…

shmget 是 System V 共享内存的核心系统调用之一,其权限位(shmflg 参数)决定了共享内存段的访问控制和创建行为。以下是权限位的详细解析:


权限位的组成

shmflg 参数由两部分组成:

  1. 权限标志(低 9 位):控制用户/组/其他进程的访问权限,格式与文件权限一致(八进制表示)。
  2. 创建标志(高 位):控制共享内存段的创建行为(如 IPC_CREAT)。

1. 权限标志(八进制格式)

权限位使用 9 位二进制 表示三类用户的权限:

  • 用户(Owner)权限:前 3 位(八进制的百位)。
  • 组(Group)权限:中间 3 位(八进制的十位)。
  • 其他(Others)权限:后 3 位(八进制的个位)。
权限位的含义
二进制位八进制值含义
04004用户可读
02002用户可写
01001用户可执行(通常忽略)
004040组可读
002020组可写
001010组可执行(通常忽略)
00044其他用户可读
00022其他用户可写
00011其他用户可执行(通常忽略)
常用权限示例
  • 0600:用户可读写,组和其他用户无权限。
  • 0644:用户可读写,组和其他用户只读。
  • 0666:所有用户可读写(需谨慎使用)。

2. 创建标志

通过按位或(|)组合以下标志,控制共享内存的创建行为:

标志值(十六进制)作用
IPC_CREAT0x200如果共享内存不存在,则创建;否则直接返回现有段的标识符。
IPC_EXCL0x400IPC_CREAT 联用,若共享内存已存在,则返回错误(errno = EEXIST)。
IPC_NOWAIT0x800非阻塞模式,若操作需等待(如资源不足),立即返回错误(较少使用)。

3. 权限检查规则

  • 创建共享内存段时
    shmflg 的权限位会写入共享内存段的 shm_perm.mode 字段,后续进程访问时需匹配这些权限。
  • 访问现有段时
    内核会检查进程的 有效用户 ID有效组 ID 是否符合权限:
    1. 若进程的 EUID 与段的所有者 EUID 相同,检查 用户权限位
    2. 若进程的 EGID 与段的组 EGID 相同,检查 组权限位
    3. 否则检查 其他用户权限位

4. 示例代码

#include <sys/ipc.h>
#include <sys/shm.h>int main() {key_t key = ftok("/tmp/shm_example", 'A');  // 生成唯一键值// 创建共享内存段:用户可读写,组和其他用户只读int shmid = shmget(key, 4096, IPC_CREAT | 0644);if (shmid == -1) {perror("shmget failed");return 1;}// 其他操作(shmat、读写数据等)...return 0;
}

5. 常见问题与错误

权限不足(EACCES
  • 原因:进程没有权限访问现有共享内存段。
  • 解决方案
    1. 检查权限位是否允许当前用户/组访问。
    2. 以 root 权限运行进程(不推荐,存在安全风险)。
    3. 修改现有段的权限(需拥有者或 root 权限):
      struct shmid_ds shm_info;
      shmctl(shmid, IPC_STAT, &shm_info);
      shm_info.shm_perm.mode = 0666;  // 开放所有用户读写
      shmctl(shmid, IPC_SET, &shm_info);
      
段已存在(EEXIST
  • 原因:使用了 IPC_CREAT | IPC_EXCL,但共享内存已存在。
  • 解决方案:删除旧段或调整键值(key)。

6. 总结

  • 权限位:定义共享内存段的访问规则,格式与文件权限一致(如 0644)。
  • 创建标志IPC_CREAT 创建新段,IPC_EXCL 确保唯一性。
  • 权限检查:基于进程的 EUID/EGID 和权限位匹配。

合理设置权限位是保证共享内存安全性和功能性的关键!

http://www.dtcms.com/wzjs/114444.html

相关文章:

  • 织梦网站转跳手机站百度推广售后电话
  • 哪个网站能在线做司考题目google安卓版下载
  • 成熟网站开发单位网店如何做推广
  • 网页美工设计报价单深圳seo优化公司搜索引擎优化方案
  • 如何优化网站品牌网站建设公司
  • 做石膏选图形的网站网络营销公司是做什么的
  • 广告公司网站源码下载广告推广免费发布
  • 用什么网站做头像南宁seo做法哪家好
  • iframe框架做网站营销推广的形式包括
  • 怎么在别人网站上做锚文本链接广东seo网站优化公司
  • 百度推广需要自己做网站吗网站制作论文
  • 男女做那个的小视频网站搜索引擎优化方法与技巧
  • 餐饮系统的网站应该怎么做互联网品牌营销公司
  • 天津网页制作网页报价网站优化排名查询
  • 做网站的软件有些什么网店运营策划方案
  • 江苏汇算清缴在哪个网站做网站seo优化推广
  • 钓鱼网站怎么制作视频seo还有前景吗
  • 什么网站设计素材多精品成品网站1688
  • 专业做外贸网站关键词排名软件官网
  • 做网站不好做安徽网络建站
  • wordpress 点评主题宁波seo关键词
  • 拟定一个物流网站的建设方案关键词在线挖掘网站
  • 从事网站建设网站不收录怎么办
  • 做a货包好的网站考研培训班哪个机构比较好
  • 网站制作没有原创图片怎么办windows优化大师免费版
  • 网站做下子压缩文件的链接日照高端网站建设
  • 网站开发介绍接app推广
  • 专业做羽绒服的服装网站seo测试工具
  • 成都网站建设工作室代做百度首页排名
  • wordpress淘宝客pid插件百度搜索引擎关键词优化