文件权限

文件属性的查看

  ls -l filename

  1        2         3     4       5      6          7               8

  - | rw-r--r--. | 1 | root | root | 46 | Oct 1 05:03 | filename

  1."-":文件类型

  -    普通文件

  d    目录

  c    字符设备

  s    套接字

  p    管道

  b    块设备

  l    连接

  2.“rw-r--r--”文件读写权限

     *     $     @

    rw- | r-- | r--

    *  文件或目录所有人的权限

    $  文件或目录所有组的权限

    @  其他人的权限

  3.“1”

    对文件:文件内容被系统记录的次数

    对目录:目录中文件属性的字节数

  4.“root”

    文件所有人

  5.“root”、

    文件所有组

  6.“46”

    文件内容的大小

  7.“Oct 1 05:03”

    文件最后一次修改的时间

  8.“filename”

    文件名字

文件所有人所有组的管理

  chown  username  file | dir  更改文件的所有人

  chown  username:groupname  file | dir  更改所有人所有组

  chown  -R username  dir  更改目录本身及里面所有内容的所有人

  chgrp  -R  groupname  dir  更改目录本身即所有内容的所有组

  监控命令

    watch -n 1 ls -lR /mnt  每隔一秒执行一次命令(ls -lR /mnt:递归显示mnt目录下的内容)

文件普通权限

    u     g     o

  rw- | r-- | r--

  u:文件所有人对文件可以读写

  g:文件组成员对文件可读

  o:其他人对文件可读

  u优先匹配,g次优先,o当u,g不匹配时匹配

  r:

    对文件:可以查看文件中的字符

    对目录:可以查看目录中文件的信息

  w:

    对文件:可以更改文件中的字符

    对目录:可以查看目录中文件的信息

  x:

   对文件:可以运行文件内记录的程序动作

   对目录:可以进入目录中

  字符方式修改文件权限

    chmod  [-R]  <u|g|o><+|-|=><r|w|x>  file | dir 

    chmod  u-x  file1  file1拥有者去掉x权限

    chmod  g+x  file1  file1拥有组添加x权限

    chmod  u-x,g+w  file1  file1的拥有者去掉x权限,file1的拥有组添加w权限

    chmod  ugo--r  file1  file1的拥有者,用户组,其他人去掉r权限

    chmod  ug+x,o-r  file1  file1的拥有者和用户组添加x权限,其他人去掉r权限

  数字方式修改文件权限

    在linux中

      r=4

      w=2

      x=1

    文件权限数字的表示方式

    rw-| r-- | r--

     u     g     o

    u=rw-=4+2+0=6

    g=r--=4+0+0=4

    o=r--=4+0+0=4

    所以上面文件权限的另一种表示方式为:644

    chmod  修改后权限的值  filename

    chmod  777  file

    7=rwx

    6=rw-

    5=r-x

    4=r--

    3=-wx

    2=-w-

    1=--x

    0=---

系统默认权限的设定

  从系统存在角度来说,开放权利越大,系统存在意义越高

  从系统安全角度来说,开放权利越少,系统安全性越高

  所以系统设定新建一些文件或目录会去掉一些权限

  设定方式

    umask  查看系统保留权限默认为022(系统没有给出的权限)

    umask  077  修改该系统保留权限为077,次设定为临时设定,只在当前shell中

  永久设定方式(更改配置文件)(更改两个配置文件:shell和系统;用shell可以新建,用系统也可以新建)

    vim /etc/bashrc    #shell(关于shell的配置文件)

    70  if [$UID -gt 199] && [" 'id -un' "= "  'id -un' "];then

    71    umask 002  #普通用户umask

    72  else

    73    umask 077  #超级用户umask

    74  fi

 

    vim /etc/profile    #系统(关于系统的配置文件)

    59  if [$UID -gt 199] && ["  'id -gt ' "= "  'id -un' "];then

    60    umask 002  #普通用户umask

    61  else

    62    umask 077  #超级用户umask

    63  fi

    *以上两个文件umask设定值必须保持一致*

    source /etc/bashrc

    source /etc/profile

    *重新读取配置文件,让上述设定生效*

特殊权限

  suid    冒险位

    只针对二进制可执行文件

    文件内记录的程序产生的进程的所有人为文件所有人

    和进程的发起人无关

    设定方式

      chmod  u+s  file

      suid=4

      chmod  4xxx  file

  sgid    强制位

    对文件:只针对二进制可执行文件

        任何人运行二进制可执行文件

        程序产生的进程的所有组都是文件的所有组

        和程序发起人组的身份无关

    对目录:当目录有sgid权限后,目录中新建的所有文件的所有组

        都自动归属到目录的所有组之中,和文件建立者所在的组无关

    设定方式:

      chmod g+s file|dir

      sgid=2

      chmod 2xxx file|dir

  sticky    粘制位

    t权限:

      只针对于目录,当一个目录上有t权限,那么目录中的文件只能被所有人删除

    设定方式:

      chmod o+t dir

      t=1

      chmod 1xxx dir

 

posted @ 2016-11-03 17:31  優syousetu  阅读(136)  评论(0)    收藏  举报