对linux中SUID标志位的理解

来源:互联网 发布:建筑相关软件 编辑:程序博客网 时间:2024/05/18 01:00

我们执行shell命令实际上是对应于某个二进制的可执行文件或者可执行的脚本,通常以提交这个命令的用户的权限运行,但是有的命令执行过程要往某个文件中写入一些东西。比如某个不具有root权限的用户想要修改自己的密码,他就要修改/etc/passwd文件,但是我们查看一下passwd的权限设置就知道passwd文件对于普通用户而言不具有写的权限,这样可以防止普通用户更改别人或者root的密码,但是他总该可以更改自己的密码吧,这点权限还是应该有的,你想到什么好的方法可以解决这个问题吗?

这就要说道linux中的SUID标志位,它可以把一个文件设置为这样的访问权限:普通用户只有在执行特定命令(入passwd 更改密码)时,才可以更改或者写入文件(如/etc/passwd),也就相当于只可以在受保护的文件的特定部分可以写入(如passwd中的自己的密码那部分),这样就很好的解决了保护重要的文件的同时又可以在特定的情况下让普通用户更改该文件。