文章目录
- 1.有效用户和真实用户eg
- 2.普通用户能够修改自己的密码的原因
1.有效用户和真实用户eg
- 显示当前进程的真实用户和组ID,有效用户和租ID
- 执行上述文件
结果是:在不改变登录用户条件下,执行可执行文件的权限可以动态的调整;
结论:对文件访问的时候,LINUX通过对进程的有效用户来判断,是否具有对某个文件的操作权限
2.普通用户能够修改自己的密码的原因
- /etc/password文件用来存储所有用户信息,/etc/shadow用来存储用户密码
- 所有用户都可以修改自己的密码(修改了/etc/shadow文件), 但普通用户对/etc/shadow没
有读写权限 - 为什么所有用户可以修改自己的密码呢?
用户通过执行passwd命令( /usr/bin/passwd文件)来修改密码;该文件设置了setuid位,在执行此命令时,该进程的有效用户不等于真实用户,而等于文件所有者(root) - Linux根据进程的有效用户进行权限检查,有效用户等于root则允许任何操作(包括对/ect/shadow文件的读写操作);
如果清除掉“/usr/bin/passwd”文件的setuid权限位,普通用户就不能修改自己的密码了