s权限的作用:表示对文件具用可执行权限的用户将使用文件拥有者的权限或文件拥有者所在组的权限在对文件进行执行。

s权限的设置:4,用户拥有者的执行权限位, 6,用户组的执行权限位, 2, 两者都设置,  0, 两者都不设置。

假设有文件a

-rw-rw---- 1 tony tony 4 Apr 10 21:27 a

tony用户拥有此文件,文件权限如上行。

有程序如下test.cpp:

#include<fstream>
#include<iostream>
using namespace std;
int main()
{
fstream s("./a", ios::in|ios::out);
s<<"123"<<endl;
}

可执行文件为test, 其权限为
-rwxrwx--x 1 tony tony 13712 Apr 10 21:11 test

tony@ubuntu:~/test$ su shw
Password: 
shw@ubuntu:/home/tony/test$ ls
a  test  test.cpp
shw@ubuntu:/home/tony/test$ ls -l test
-rwxrwx--x 1 tony tony 13712 Apr 15 16:11 test
shw@ubuntu:/home/tony/test$

现切换到用户shw, 此用户不在tony组,对于test具有可执行权限,对a没有任何权限。

此时用shw来执行test会发生什么呢?

执行后查看文件 a,发现a 没有被写会任何内容。

也就是说shw虽然对test有可执行权限,但是shw对a没有写的权限,故执行失败。

这时有三个办法来解决:

1.  用超级用户来执行,           不安全

2.  使用test对a具有相应权限,         但如何test操作了n个文件 , 则需要对这n个文件都修改权限。

      3.   s权限。

 

现在来设置s权限,使shw在执行test时使用tony的权限。

tony@ubuntu:~/test$ chmod 4771 test
tony@ubuntu:~/test$ ls -l
total 24
-rw-rw---- 1 tony tony     4 Apr 15 16:27 a
-rwsrwx--x 1 tony tony 13712 Apr 15 16:11 test
-rw-rw-r-- 1 tony tony   133 Apr 15 16:11 test.cpp
tony@ubuntu:~/test$

此时test的执行权限位为s。

再使用shw来执行test, 查看文件a , 发现123已写入。

linux 文件 s 权限的更多相关文章

  1. Linux文件的权限与属性

    由于以前学习Linux的时候没有做比较全面的总结笔记,而且平时大部分工作都在windows上进行,所以关于Linux的一些知识点有所遗忘.近期难得空闲,翻阅书籍,学习<鸟哥的Linux私房菜&g ...

  2. Linux学习之十五-Linux文件特殊权限和附加权限

    Linux文件特殊权限和附加权限 1.特殊权限suid 范围:只能针对二进制命令文件 作用:让普通用户拥有二进制命令文件所有者的权限 举例1:普通用户使用passwd命令修改密码 cat /etc/s ...

  3. Linux文件/目录权限设置命令:chmod

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 其语法格式为:chmod [w ...

  4. Linux文件普通权限

    1.文件所有者,所属用户组,其他用户1)文件所有者:创建文件的用户2)所属用户组:文件属于哪个用户组3)其他用户:不是文件所有者,不属于文件所属用户组的用户,称为其他用户 2.Linux文件权限我们切 ...

  5. linux文件访问权限(像rw-r--rw-是什么意思)

    Linux的文件访问权限分为 读.写.执行三种 r:可读(4) w:可写(2)对目录来说则可新建文件 x:可执行(1)对目录来说则可进入该目录 可用 ls -l 查看文件 像上图的-rw-r--rw- ...

  6. Linux 文件特殊权限 SUID SGID SBIT

    文件除了常规的权限r, w, x 还有一些特殊的权限,s与t权限,具体的用处如下 1 SetUID 当s 这个标志出现在文件所有者的x权限上时, 例如/usr/bin/passwd, [root@or ...

  7. Linux 文件特殊权限_013

    ***Linux 系统文件除了9位基本权限,还有额外3位特殊权限,分别是SUID(setuid),SGID(setgid),SBIT(sticky bit) 一.Linux 系统文件3位特殊权限位说明 ...

  8. Linux 文件普通权限_011

    一.文件权限10个字符对应类型和权限 二.Linux普通文件和Linux目录读.写.执行权限说明 标注:Linux 中的文件名是存在于父目录的block里面,并指向这个文件的inode节点 1.lin ...

  9. linux文件基本权限-基本权限的修改

    基本权限的修改 当我们在linux或unix系统的terminal输入"ls -l"命令时,将输出文件的详细信息.第一列,如“drwxr-xr-x”就是文件的权限信息. yinti ...

  10. [apue] linux 文件访问权限那些事儿

    前言 说到 linux 上的文件权限,其实我们在说两个实体,一是文件,二是进程.一个进程能不能访问一个文件,其实由三部分内容决定: 文件的所有者.所在的组: 文件对所有者.组用户.其它用户设置的权限访 ...

随机推荐

  1. SpringBoot12 QueryDSL02之利用QueryDSL实现多表关联查询

    1 业务需求 有的系统业务逻辑比较复杂,存在着多表关联查询的的情况,查询的内容不仅仅是单张表的的内容而是多张表的字段组合而成的,直接使用SplringDataJPA实现是比较复杂的,但是如果使用Que ...

  2. DB2--sql计算时间差和格式化时间

    格式化时间 db2 格式化时间使用的 TO_CHAR(TIMESTAMP('2017-10-24 21:18:12'),'YYYY-MM-DD'): 测试sql:SELECT TO_CHAR(TIME ...

  3. 【转】nginx location匹配规则

    转载请保留:http://www.nginx.cn/115.html location匹配命令 ~      #波浪线表示执行一个正则匹配,区分大小写~*    #表示执行一个正则匹配,不区分大小写^ ...

  4. Ubuntu14.04文件目录说明

    一.Dev设备目录 二.etc配置文件目录 三.bin默认程序安装目录 四.boot系统启动用到的配置文件以及内核镜像 五.home用户目录 六.lib库文件目录 七.media系统自动挂载设备会选择 ...

  5. windows7向github提交代码

    首先要有一个github账号. 我自己申请了github账号,然后创建一个代码仓库. 这个是我创建好的代码仓库:里面是空的没有代码,我今天从我本地写好的代码,传到github上面去. 首先需要告诉gi ...

  6. html相关标记的含义

    HTML标记含义1.<html>...</html> :html 文档标记2.<head>...</head> :文档头标记3.<title> ...

  7. POJ 2836 Rectangular Covering (状压DP)

    题意:平面上有 n (2 ≤ n ≤ 15) 个点,现用平行于坐标轴的矩形去覆盖所有点,每个矩形至少盖两个点,矩形面积不可为0,求这些矩形的最小面积. 析:先预处理所有的矩形,然后dp[s] 表示 状 ...

  8. Linux常用命令分类总结

    文件及文件夹操作 新建文件 vi file 新建文件夹 mkdir dirName 复制文件 cp sourceFile targetFile 移动文件 mv file targetDir 文件或文件 ...

  9. c#转 java学习笔记(原创)

    JDK开发人员用,JRE运行时环境(比如给客户安装,客户电脑需要装JRE) 当我们调用构造方法的时候系统会执行如下操作:1.给对象的属性分配空间,并且初始值 0 or null 2.给属性赋缺省值  ...

  10. WndProc和hook区别

    1)WndProc函数作用:主要在程序中拦截并处理系统消息和自定义消息 比如:windows程序会产生很多消息,比如你单击鼠标,移动窗口都会产生消息.这个函数就是默认的消息处理函数.你可以重载这个函数 ...