linux新增用户无法建立socket问题

这里我们先引用一篇资料来自 android攻防权威指南

安全边界和安全策略

  安全边界,有时也会称为信任边界,是系统中分隔不同信任级别的特殊区域。一个最直接的例子就是内核空间与用户空间之间的边界。Android操作系统应用了两套独立但又相互配合的权限模型。在底层,Linux内核使用用户和用户组来实施权限控制,这套权限模型是从Linux继承过来的,用于对文件系统实体进行访问控制,也可以对其他Android特定资源进行控制。以DalvikVM和Android框架形式存在的Android运行时实施了第二套权限模型。这套模型在用户安装应用时是向用户公开的,定义了应用拥有的权限,从而限制Android应用的能力。  

  Android从其根基Linux继承了已经深入人心的类Unix进程隔离机制与最小权限原则。具体而言,进程以隔离的用户环境运行,不能相互干扰,比如发送信号或者访问其他进程的内存空间。因此,Android沙箱的核心机制基于以下几个概念:标准的Linux进程隔离、大多数进程拥有唯一的用户ID(UID),以及严格限制文件系统权限。

  Android系统沿用了Linux的UID/GID(用户组ID)权限模型,但并没有使用传统的passwd和group文件来存储用户与用户组的认证凭据,作为替代,Android定义了从名称到独特标识符Android ID(AID)的映射表。初始的AID映射表包含了一些与特权用户及系统关键用户(如system用户/用户组)对应的静态保留条目。Android还保留了一段AID范围,用于提供原生应用的UID。

#define AID_ROOT         0 /*传统的unix跟用户*/

#define AID_SYSTEM    1000 /*系统服务器*/

#define AID_RADIO     1001 /*通话功能子系统,RIL*/
#define AID_BLUETOOTH 1002 /*蓝牙子系统*/
...
#define AID_SHELL     2000 /*adb shell与debug shell用户*/
#define AID_CACHE     2001 /*缓存访问*/
#define AID_DIAG      2002 /*访问诊断资源*/

/*编号3000系列只用于辅助用户组们,表示出了内核所支持的Android权能*/
#define AID_NET_BT_ADMIN 3001 /*蓝牙:创建套接字*/
#define AID_NET_BT       3002 /*蓝牙:创建sco、rfcomm或l2cap套接字*/  
#define AID_INET         3003 /*能够创建AF_INET和AF_INET6套接字*/
#define AID_NET_RAW      3004 /*能够创建原始的INET套接字*/
...
#define AID_APP            10000 /*第一个应用用户*/

#define AID_ISOLATED_START 99000 /*完全隔绝的沙箱进程中UID的开始编号 */
#define AID_ISOLATED_END   99999 /*完全隔绝的沙箱进程中UID的末尾编号*/
#define AID_USER          100000 /*每一用户的UID编号范围偏移*/
AID_INET用户组允许用户打开AF_INETAF_INET6套接字。

平常一直再root权限下使用自己的嵌入式设备,由于工作需要移植了一个mqtt的服务端程序(mosquitto),而这个程序需要以mosquitto用户使用,没有办法便自己增添了一个新用户,其竟然没有权限建立socket
期间想到了android应用的socket权限,终于找到了这篇资料。




转载于:https://www.cnblogs.com/qianlihu/p/4353436.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值