[linux基础]linux的权限知识

一,基本概念:

Linux的权限访问是由进程(访问者)和文件(被访问者)两部分组成的,进程权限(进程权限通过task_struct 结构体中的 struct cred表示),文件权限(文件权限存放在struct inode结构体中,)

二,相关权限举例:

1,进程和文件权限举例:
文件(夹)读写权限
init.rc 中建立test1 test2 test3 文件夹
mkdir /data/misc/test1 0770 root root   
mkdir /data/misc/test2 0770 wifi wifi
mkdir /data/misc/test3 0770 system misc
其中
test1 目录的owner是root, group 也是root
test2 目录的owner是wifi , group 也是wifi
test3 目录的owner是system , group 是misc (任何用户都属于group misc)
service xxxx /system/bin/xxxx
user root
disabled
oneshot
service yyyy /system/bin/yyyy 
user system
disabled
oneshot
service zzzz /system/bin/zzzz
user wifi
disabled
oneshot
结果:
xxxx 服务可以访问 test1, test2, test3
yyyy 服务可以访问 test3
zzzz 服务可以访问 test2, test3


2,进程权限
–real user ID (uid): 实际用户ID,指的是进程执行者是谁
–effective user ID (euid): 有效用户ID,指进程执行时对文件的访问权限
–saved set-user-ID (saved uid): 保存设置用户ID。是进程刚开始执行时,euid的副本。在执行exec调用之后能重新恢复原来的effectiv user ID
–FSUID(File System User ID):Linux新引进的一类用户、组,用于文件访问控制,一般跟euid一样。
真实用户ID(real uid)是login时的用户.而在运行过程中,用于所有的安全检查的是有效用户ID(effective uid).
Linux setuid(uid)函数:
    (1)如果由普通用户调用,将当前进程的有效ID设置为uid.
    (2)如果由有效用户ID符为0的进程调用,则将真实,有效和已保存用户ID都设置为uid.
例子:使用setuid或是setruid,让非root用户也可以读取只有root用户有读写权限的

三,相关问题:


1,如何设置SetUID权限呢?

答:使用“chmod”命令即可为指定文件设置SetUID权限,例如“chmod 4xxx   filename”命令,取消SetUID权限的命令为“chmod xxx   filename”。类似的,执行“chmod 2xxx filename”命令可以设置SetGID权限,使用“chmod xxx filename”命令即可取消SetGID权限


2,S权限位的作用

android的init.rc中有如下一句

s在user位置时候称为SUID  只对二进制有效果,执行者对该程序有x的权限,程序只在执行过程有效,执行者有程序所有者权限,s在group位置时称为SGID针对目录时,用户在该目录下有w权限时,创建的文件和该目录有相同的group,mkdir /data/nvram 2770 root nvram,以上这句中2770中的2含义就是s权限位。作用是在/data/nvram目录下创建的文件的user和group和/data/nvram是完全一样的。


3,目录的w和x权限的作用
目录的w权限表示可以在目录下创建和删减文件,x权限代表用户能否进入该目录成为工作目录


4, 特殊权限Sticky标志位:(只对目录有效)
–旧的UNIX系统定义该位为指示操作系统在程序退出后,保留程序的代码段到swap空间。而在linux系统当中,该位表示防删除位,意味着该位被设置之后,只有文件的拥有者和root用户才能删除该文件。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值