• chmod u+s(转)


    参看了 http://hi.baidu.com/hehongrong/item/b64a6d6b094cf634ac3e8382 里面说 

     -s :在文件执行时把进程的属主或组ID置为该文件的文件属主。

    这句话当时我看就有点误解

    到底是谁设置成谁呢?

    现在明白了,是进程的主变了,不是文件的主变

    总之就是 进程的主临时改变了,变成了进程文件的主。

    所以这样要求这个文件是exe的进程文件,不能是脚本。

    其次,是临时变,就是在动态运行的过程变。

    <权限范围>+<权限设置> 开启权限范围的文件或目录的该项权限设置。

    <权限范围>-<权限设置> 关闭权限范围的文件或目录的该项权限设置。

    <权限范围>=<权限设置> 指定权限范围的文件或目录的该项权限设置。

    权限范围的表示法如下:

      u:User,即文件或目录的拥有者。

      g:Group,即文件或目录的所属群组。

      o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。

      a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

    权限设置的表示法如下:

    -s :在文件执行时把进程的属主或组ID置为该文件的文件属主。

      -c : 若该档案权限确实已经更改,才显示其更改动作

      -f : 若该档案权限无法被更改也不要显示错误讯息

      -v : 显示权限变更的详细资料

      -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

    如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置.

    setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权

    限, 从而可以更改用户的密码.

    当其他用户执行oracle的sqlplus这个程序时,他的身份因这个程序暂时变成oracle(这句话也是指代不清,他的身份是谁的身份呢?)

      chmod u+s sqlplus

    首先 sqlplus本来就属于oracle的,所以要说清 执行chmod u+s sqlplus实在非oracle用户环境地下执行。

    这样才可以使得执行chmod命令的这个非oracle用户 对 sqlplus 拥有临时的oracle的权限。

     

  • 相关阅读:
    js函数的Json写法
    Bootstrap3和Bootstrap4区别
    Unicode编码是什么
    保留字是什么
    范仁义js课程---5、js字面量和变量
    什么是脚本语言
    ECMAScript 版本
    TortoiseGit上传代码到GitHub
    Android Studio快捷键
    Android 适配
  • 原文地址:https://www.cnblogs.com/softidea/p/5455458.html
Copyright © 2020-2023  润新知