当前位置: Oracle DBA培训网-优技培训 >> Linux教程 >

Linux入门培训:使用附加权限

Linux入门培训:使用附加权限

Linux入门培训:使用附加权限,对文件或目录进行访问控制时,“读取”、“写入”、“执行”是基本的三种权限类型。除此之外,在Linux中还存在几种特殊的附加权限,用于为文件或目录提供额外的控制方式。可用的附加权限包括:SET位权限(SUID、SGID)、粘滞位(Sticky Bit)。

1 SET位权限

SET位权限多用于给可执行的程序或脚本文件进行设置,其中SUID表示对属主用户增加SET位权限,SGID表示对属组内的用户增加SET权限。执行文件被设置 了SUID、SGID权限后,任何用户在执行该文件时,将获得该文件属主、属组账号对应的身份。

为执行文件添加SET位权限同样可以通过chmod命令实现,使用“u+s”、“g+s”的权限模式分别用于设置SUID、SGID权限。若使用数字形式,SUID对应八进制数字“4”、SGID对应八进制数字“2”,在权限模式中可采用“nnnn”的形式,如“4755”表示设置SUID权限、“6755”表示同时设置SUID、SGID权限。

设置SUID、SGID权限后,使用ls查看该文件的属性时,对应位置的“x”将变为“s”。

合理使用SUID、SGID设置SET位权限,可以在确保安全性的同时为Linux系统管理和使用带来方便。例如:

Linux系统中passwd命令的程序文件就被设置了SUID权限,正因为如此,尽管普通用户无法直接修改“/etc/shadow”文件,但仍然可以通过passwd命令修改自己的登录密码,从而以root用户的身份间接更新shadow文件中的密码信息。

另一方面,若没有确切的应用需求,不要轻易为可执行文件设置SET位权限,特别是对于那些属主、属组是root的执行程序,使用SET位权限时更应该慎重。

例如如果若为vim编辑器程序社会自SUID权限,将导致普通用户也可以使用vim编辑器修改系统中的任何配置文件。

需要去除SUID、SGID权限时,只需要使用“u-s”“g-s”的权限模式即可。

2 粘滞位权限

粘滞位主要用于为目录设置特殊的附加权限,当目录被设置了粘滞位权限后,即使用户对该目录有写入的权限,也不能删除该目录下其他用户的数据。

在Linux系统中比较典型的例子就是“/tmp”、“/var/tmp”目录。这两个目录作为Linux系统中的临时文件夹,权限为“rwxrwxrwx”,即允许任意用户、任意程序在该目录中进行创建、删除、移动文件或子目录等操作。然而试想一下,若任意一个普通用户都能够删除系统服务运行中使用的临时文件,将会造成什么后果?——设置粘滞位后,正好可以保持一种动态的平衡:允许各用户在目录中任意写入,删除数据,但是禁止随意删除其他用户的数据。

设置了粘滞位权限的目录,使用ls命令查看其属性时,其他用户权限处的“x”将变为“t”。

使用chmod命令设置权限时,“+t”、“-t”权限模式可分别用于添加、移除粘滞位权限。将数字权限。将数字权限模式“nnnn”中的第1位数字改为“1”、“0”,也可以实现添加、移除粘滞位权限。

技术沙龙MORE+

标签错误:<!-- #Label# labelId=20160707140604 moduleId=1 classId=12231768634 orderby=2 fields=url,title,u_info attribute= datatypeId=22192428132 recordCount=3 pageSize= <htmlTemplate><dt><img src="/images/index_26${index}.jpg" width="100" height="62" /><a href="$url" title="${title}">${title}</a><span>${api.left(u_info,60)}</span></dt></htmlTemplate> -->
我要参加技术沙龙