• shell文件安全与权限 笔记


    主要学习: 文件盒目录的权限

               Setuid

               Chown和chgrp

               Umask

               连接符号

    一个文件已经创建,就具有三种访问方式

    读,可以显示该文件的内容

    写,可以编辑或删除它

    执行,如果该文件时一个shell脚本或者是程序

    按照所针对的用户,文件的权限可以分为三类

    文件属主,就是创建该文件的用户

    同组用户,拥有该文件的用户组中的任何用户

    其他用户,即不属于拥有该文件的用户组的某一用户

    1.1文件

    当创建一个文件时,保存的信息有:文件的位置,文件的类型,文件的长度,文件的访问权限,i节点,文件的修改时间,文件的权限位。

    [root@localhost software]# ls -l

    Total 2229516     :告诉我们该目录中所有文件所占的空间

    drwxrwxr-x 8 oracle oinstall       4096 2009-08-18 database

    drwxrwxr-x 2 oracle oinstall       4096 08-29 18:12 jdk for linux

    -rwxrwxr-x 1 oracle oinstall 1285396902 08-29 19:00 linux_11gR2_database_1of2.zip

    -rwxrwxr-x 1 oracle oinstall  995359177 08-29 19:07 linux_11gR2_database_2of2.zip

    以第一个为例

    drwxrwxr-x :权限位

    8 :该文件硬链接的数目

    Oracle 文件的属主

    Oinstall文件的属住oracle所在的组。

    4096:文件的长度,不是K

    2009-08-18: 修改的日期

    Database:文件名

    1.2 文件类型

         文件有7中类型。可以从文件为来判断

         d:目录

         l:符号链接

         s套接字文件

         b块设备文件

         c 字符设备文件

         p命名管道文件

         -普通文件

    1.3权限

           使用]# touch myfile创建一个文件

           结果

    -rw-r--r-- 1 root   root              0 08-29 23:05 myfile

    第一位 文件位,普通文件

    rw-文件的属主权限

    r—文件的属住oracle所在的组用户权限

    r—其他用户权限

     

     

    改变权限位,可以使用chmod

    Chmod 命令,语法

    Chmod [who] operator [permission] filename

    Who:取值为

         u文件属主权限 g同组用户权限 o其他用户权限

         a所有用户

    operator

         + 增加权限 –取消权限 =设定权限

    Permission的含义

          r读权限 w写权限 x执行权限 s文件属主和组set_ID

          t粘性位 l给文件枷锁,是其他用户无法访问。

     

     

    绝对模式:

       Chmod [mode] file

     

     

     

    1.4 目录

    r:可以列出该目录中的文件

    w:可以在该目录中创建或删除文件

    x:可以搜索或进入目录

    1.5 suid/guid

    Suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这个脚本时也会具有其属主的相应权限。

     

    # chmod 4741 myfile

    -rwsr----x 1 root root 0 08-29 23:30 myfile

     

    1.6 chown chgrp

    在改变一个文件的所有权的时候,相应的suid也将被清除,这是出于安全考虑。

    Chown命令的一般形式:

    Chown –R –h owner file

    1.7 umask

       Umask命令确定了创建文件的缺省模式。是在/etc/profile中设置。

     

    例: 对于umask002

      文件的最大权限是  777

      也就是目录权限为775 即 rwx rwx r-x

     文件权限 rw- rw- r—文件创建时没有可执行权限,需要自己使用chmod改变

    也就是说umask就是要从权限中拿走的权限。

    重用的umask值

    在设置umask命令之前一定要清楚知道到底希望具有什么样额的文件创建缺省权限。

    1.8 符号链接

      ln [-s] source_path target_path

    其中的路径可以是目录也可以是文件。这样不同用户在自己的¥home目录中的文件可以指向同一个文件,这样值需要修改一个文件。不用去每个用户的home 目录下去修改

  • 相关阅读:
    VMwarePlayer虚拟机下centos6的静态IP配置
    C/C++ 父子进程之间的文件描述符问题
    C++ wait捕捉的信号处理WIFEXITED/WEXITSTATUS/WIFSIGNALED
    WIN7下用笔记本创建无线网
    C++ readdir、readdir_r函数
    C++ int转string(stringstream可转更多类型)
    C/C++函数中使用可变参数
    C/C++中static关键字作用总结
    Unix网络编程第三版源码编译
    Linux下初次使用github
  • 原文地址:https://www.cnblogs.com/evencao/p/3291506.html
Copyright © 2020-2023  润新知