实际用户ID 有效用户ID 设置用户ID辨析
2016-07-18 00:00
99 查看
实际用户ID :确定“我是谁”,当用户使用用户名和密码成功登录后一个UNIX系统后就唯一确定了他的实际ID;
有效用户ID:通常情况下和实际用户ID一致,它限定了用户对资源的访问权限,在某个文件设置了设置用户ID位后,有效用户ID为文件所有者ID;
设置用户ID:用于提升其它用户对资源的访问权限。
当有了设置用户ID位之后,文件的有效用户ID就是文件的拥有者ID。一个UNIX上最常见的例子就我们知道linux系统的密码都存在了/etc/shadow这个文件里,为什么所有的登录用户都可以做更改呢?
/etc/shadow文件的属性为:
-r-------- 1 root root
也就是说只有有效用户为root才能访问该文件。
在更改密码的时候,我们输入passwd,实际上执行的是/usr/bin/passwd, 查看这个文件属性如下:
-r-s--x--x 1 root root
那么不同的用户登录是如何能够更改密码的呢?
原因就是因为/usr/bin/passwd程序有设置用户ID位,所以其它不同的用户在登录的时候,执行该程序的时候,有效用户都会成为文件的拥有者root,这样每个登录的用户便拥有了执行文件的权限。文件有设置用户ID位时,内核会将执行进程的有效ID临时更改为文件的所有者ID。设置用户ID位通常添加在文件的可执行权限位上。所以,一般也是对可执行文件设置该位才有意义。
有效用户ID:通常情况下和实际用户ID一致,它限定了用户对资源的访问权限,在某个文件设置了设置用户ID位后,有效用户ID为文件所有者ID;
设置用户ID:用于提升其它用户对资源的访问权限。
当有了设置用户ID位之后,文件的有效用户ID就是文件的拥有者ID。一个UNIX上最常见的例子就我们知道linux系统的密码都存在了/etc/shadow这个文件里,为什么所有的登录用户都可以做更改呢?
/etc/shadow文件的属性为:
-r-------- 1 root root
也就是说只有有效用户为root才能访问该文件。
在更改密码的时候,我们输入passwd,实际上执行的是/usr/bin/passwd, 查看这个文件属性如下:
-r-s--x--x 1 root root
那么不同的用户登录是如何能够更改密码的呢?
原因就是因为/usr/bin/passwd程序有设置用户ID位,所以其它不同的用户在登录的时候,执行该程序的时候,有效用户都会成为文件的拥有者root,这样每个登录的用户便拥有了执行文件的权限。文件有设置用户ID位时,内核会将执行进程的有效ID临时更改为文件的所有者ID。设置用户ID位通常添加在文件的可执行权限位上。所以,一般也是对可执行文件设置该位才有意义。
相关文章推荐
- 用PreferenceFragment和AppCompatActivity创建带ToolBar的配置界面
- 关于淘宝的BigRender详解以及提高首屏加载速度的方法
- MyBatis的flushCache和useCache的使用注意
- textbox设置样式为空背景色透明
- 手动提交代替asp.net的button控件提交
- maven spope
- Go做复杂的单向链表
- 实现自己的控制层do-c (仿Struts2和SpringMVC)(七)
- JS延时执行函数
- DOCKER端口映射错误
- kilo版云主机无法终止,无法创建
- Java类加载机制的理解
- 云硬盘一直处于deleting状态
- 上传的镜像无法用来启动云主机
- 【Tomcat】get,put,post,delete含义与区别
- 短网址的简单实现
- 短网址的原理和实现
- linux学习--未整理命令
- CentOS7安装PHP5.6.23
- CentOS 7.0系统安装配置图解教程