首页 > 系统相关 >Linux文件的S和T权限

Linux文件的S和T权限

时间:2023-01-09 13:00:48浏览次数:35  
标签:文件 ISUID 用户 ISGID Linux 权限 ID

S 与 T 权限

上图中, S_IRWXU S_IRWXG S_IRWXO 代表常见的三段权限: 拥有者, 同组用户, 其他用户的权限, 而S_ISUID S_ISGID S_ISVTX 代表的是S权限 与 T权限.

S权限

S权限包括 S_ISUID 和 S_ISGID 两个常量在内, 叫做强制位权限.

其中, S_ISUID 只能应用于二进制可执行文件.

S_ISGID 可应用于二进制可执行文件和目录.

注意shell脚本只是有执行权限的文本文件, 而非二进制可执行文件.

当 S_ISUID S_ISGID 用在二进制文件时

  • 如果 S_ISUID 为真,则把此进程的有效用户ID设置为此文件拥有者的用户ID.
  • 如果 S_ISGID 为真,则把此进程的有效用户组ID设置为此文件的组ID.

由于进程有用户/组ID影响文件访问权限, 于是就相当于临时拥有文件所有者的身份. 典型的文件是passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得 root 权限, 从而可以更改用户的密码.

当 S_ISGID 用在目录时:

  • 当前用户切换至该目录后,用户进程的有效用户组ID(effective group)将会设置为该目录的用户组. 若用户在此目录下具备w权限,则用户进程所创建的新文件的用户组ID与该目录用户组ID相同.

这两个常量的值是:

十六进制 十进制
S_ISUID 4000 2048
S_ISGID 2000 1024
  • 设置S_ISUID 将相应的权限位之前的那一位设置为4, 如: chmod 4755 examplefile
  • 设置 S_ISGID 将相应的权限位之前的那一位设置为2, 如: chmod 2755 examplefile
  • 两者都设置, 如法炮制, 改成6即可.

标签:文件,ISUID,用户,ISGID,Linux,权限,ID
From: https://www.cnblogs.com/Corona09/p/17036718.html

相关文章

  • java的读取和写入properties配置文件
    本文主要讲述java读取和写入properties文件操作一.介绍Properties类  Properties用于读取和写入Xx.properties文件,获取k-v二.Properties类的读取和写入Propertie......
  • docker安装并运行python文件
    1、使用docker安装python环境,并运行python程序文件 首先,创建目录:/home/python/python-docker-app并进入python-docker-app目录下,创建dockerfile文件命令:vimdock......
  • 网页超大文件上传
    ​前言一、SpringMVC简介1.1、SpringMVC引言为了使Spring有可插入的MVC架构,SpringFrameWork在Spring基础上开发SpringMVC框架,从而在使用Spring进行WEB开发时可以......
  • 【linux】记一次疑难杂症-HTTP请求RST
    问题背景生产环境与第三方联通时,时常有丢包的情况发生,具体现象为有时候应用服务器表现为未收到报文,抓包表现为RST生产环境通讯方式为https,应用前端有SSL及F5负载,业务入......
  • 【linux】nginx: [emerg] getpwnam("nginx") failed in /usr/local/nginx/conf/nginx.
    启动nginx报错:        nginx:[emerg]getpwnam("nginx")failedin/usr/local/nginx/conf/nginx.conf:2是因为配制文件中使用的启动账户在系统中并没有找到解......
  • 人大金仓Linux安装启动报错-bash: basic_path: 未找到命令
    linux系统安装人大金仓,莫名报错,报错为找到bash命令basic_path。感觉是脚本那个位置写错,(但是这个包是官网上面的包,照常安装应该不会出现问题)去/opt/Kingbase/ES/V8/data/......
  • Linux学习笔记:终端删除键失效解决办法
    一、删除键变空格近日在安装vi时遇到报错,遂卸载了部分包进行重新安装。安装后出现终端乱序,输错命令按Backspace删除键进行删除时不能删除反而添加空格,并且导致某些快......
  • 【linux】linux Centos8系统,防火墙配置常用命令,systemctl 和firewall
    本文环境:Linux系统CentOS8.264bitCentOS7版本及以上版本较centos6有较大改动,例如:采用systemctl命令来开启service,它是服务管理中主要的工具,融合了之前service和chkconf......
  • linux指令nmcli
    参见: https://blog.csdn.net/yulin003/article/details/125561203nmcli 是NetworkManager的命令行工具。nm代表 NetworkManager,cli代表Command-Line命令行。......
  • 【linux】RabbitMQ学习-vhost 详解
    vhost本质上是一个mini版的RabbitMQ服务器,拥有自己的队列、绑定、交换器和权限控制;vhost通过在各个实例间提供逻辑上分离,允许你为不同应用程序安全保密地运行数据;vhost是......