Unix中将root帐户的权限下放给其他用户(2)

  三、临时权限SUID。

  将本来只有root帐户才能够运行的进程下放给其他用户运行,有专家就把这种权限的转移叫做临时权限SUID。大部分的Unix系统都有这么一个特殊的权限设置模式,允许用户更新一些敏感的系统文件。往往在这些文件的用户权限组里面有一个特殊的字母s,就代表一种特殊的模式,即属主身份设置位。利用这种模式系统工程师可以让进程暂时拥有文件所有者的特权。因此当一个非特权用户执行passwd命令时,进城有效的UID并不是用户真实的UID。Passwd命令真是利用这个特性让其他非特权用户可以执行这个passwd命令。Passwd命令默认情况下系统就允许其他非特权用户运行。但是其他一些系统维护命令,如网络配置文件则不是。如果系统工程师要把网络维护的工作分配给他人,就需要借鉴passwd的配置,将网络配置文件的修改权限下放给其他用户。

  四、临时权限的设置。

  正如上面所说的,默认情况下只有少数的只有root用户才能够执行的命令其他用户也可以执行。如果在日常工作中,系统工程师希望其他用户也能够执行root权限才能够执行的命令,则系统管理员需要进行额外的配置。这个配置也比较简单,就是跟passwd命令文件一样,也在需要配置的文件权限组中加入s属主设置位即可。

通常情况下,Unix操作系统可以利用两种方式来添加这个S属主设置位,即相对模式与绝对模式。不过需要注意的是,无论是采取哪种模式,都必须以root帐户来执行。如果是采用相对模式,则特权用户可以利用chmod命令修改文件的属主设置位,即添加s来设置这个权限。如果系统工程师通过全队方式来设置临时权限,则只需要在权限的八进制数前面加入一个4即可。如原来用户的权限八进制数为775(所有者具有读修改执行权限、同组其他用户具有读修改执行权限、其他用户具有读与修改权限),则要实现临时权限SUID的话,只需要在775前面加入4变为4775即可。不过笔者建议,还是采用相对模式为好。因为相对模式设置起来相对简单,而且还不容易出错。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/28645.html