linux 实际用户ID 有效用户ID 和设置用户ID位

linux 实际用户ID 有效用户ID 和设置用户ID位


实际用户ID:实际用户ID标识了我们是谁,通常在登录后不会改变,但是超级用户有方法改变。
有效用户ID:有效用户ID决定了文件访问权限(通常有效用户ID等于实际用户ID)。

以上概念可能比较抽象,举例说明:

用户A(实际用户ID=110) 用户B(实际用户ID=120)

文件: 1.txt(用户A有读写权限,用户B没有读写权限)

一个用户A创建了一个可执行文件 test,然后这个可执行文件test属于ID为110的用户A。test可执行程序在执行后会操作文件1.txt。用户A去执行test程序后,进程的有效用户ID就等于实际用户ID,也就是110。此时可以读写1.txt。
但是当用户B去执行test程序后,进程的有效用户ID等于实际用户ID,也就是120。因为有效用户ID决定了文件访问权限,ID120对1.txt没有读写权限,此时进程将无法读写1.txt。

如果用户A在创建了test后,设置了用户ID位,
chmod u+s test
此时,用户B再去执行test程序后,进程的实际用户ID=120,但是因为test设置了用户ID位,有效用户ID=110(也就是test文件的实际所属用户),此时就可以正常读写1.txt。
这就是有效用户ID决定文件访问权限的意思。

像passwd这个命令操作了/etc/passwd这个文件,这个文件普通用户是无法修改的,但是root用户对passwd设置了用户ID位,在普通用户使用passwd时,其有效用户ID等于了root的有效用户ID,就可以对/etc/passwd进行修改了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值