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. Action层, Service层 和 Dao层的功能区分

    Action/Service/DAO简介:  Action是管理业务(Service)调度和管理跳转的. Service是管理具体的功能的. Action只负责管理,而Service负责实施. DAO ...

  2. 一堵墙IFC数据-wall.ifc

    这是一面墙的IFC数据内容 =====================================文档内容======================================= ISO-1 ...

  3. 算法Sedgewick第四版-第1章基础-1.4 Analysis of Algorithms-004计算内存

    1. 2. 3.字符串

  4. 算法Sedgewick第四版-第1章基础-013一用stack实现自动补全表达式括号

    package algorithms.exercise; import algorithms.ADT.Stack; import algorithms.util.StdIn; import algor ...

  5. cJSON

    http://blog.csdn.net/wangchangshuai0010/article/details/18225423

  6. epoll聊天室的实现

    1.服务端 a. 支持多个用户接入,实现聊天室的基本功能 b. 使用epoll机制实现并发,增加效率 2. 客户端 a. 支持用户输入聊天消息 b. 显示其他用户输入的信息 c. 使用fork创建两个 ...

  7. Linux下boost编译安装

    说明:下面内容仅针对Linux环境(boost官网为:http://www.boost.org/,可从这里下载它的源代码包,这里要求下载.tar.gz包,而非.7z..zip或bz2包). 在当前目录 ...

  8. 修改Oracle游标数及排查游标问题相关SQL

    查看当前游标数show parameter open_cursors; 修改游标最大数 ; commit; 查看游标消费情况 select o.sid, osuser, machine, count( ...

  9. EIP权限工作流升级说明-2019/3/12

    流程配置界面,允许流程处理按钮名称自定义:适用于流程过程中显示不同字面意思.流程节点按钮配置界面 流程处理过程中

  10. await 与 SynchronizationContext 关系

    static async Task DoStep() { //step 1 Debug.WriteLine("DoStep Start thread id: " + System. ...