Linux系统文件权限

时间:2022-01-14 15:24:26

一、文件属性的查看

    1、ls -l 文件名:查看 文件基本属性

          Linux系统文件权限

       图中各区域对应的属性:

        1.“-”文件类型:- :普通文件;d :目录;c :字符设备;s :套接字;p :管道;b :块设备;l:链接

        2.“rw-r--r--”文件读写权限:---|---|---|分为3部分,每三个为一部分;第一部分为文件拥有*限,第二部分为所在组权限,第三部分                                                       为其他*限。

            r :对文件可查看文件中字符;对目录可查看 目录中文件信息;

            w:对文件可更改文件内字符;对目录可在目录中添加和删除文件;

            x :对文件可以运行文件内记录的程序动作;对目录可以进入目录中。

       3.“1”:对文件:文件内容被系统记录的次数;对目录:目录中文件属性的字节数

       4.“root”:文件所有人

       5.“root”:文件所有组

       6.“0”:文件内容的大小

       7.“Oct 6 17:00”:文件最后一次被修改的时间

       8.“file”:文件名称

二、文件所有人所有组的管理

       1、chown username 文件名:更改文件所有人

             Linux系统文件权限

      2、chown  username.groupname 文件名:更改文件的所有人和所有组

             Linux系统文件权限

      3、chown -R username 目录名:更改目录本身及里面所有内容的所有人

              Linux系统文件权限

      4、chgrp -R grouoname 目录名:更改目录本身及里面所有内容的所有组

             Linux系统文件权限

             -R表示递归更改

           监控命令:watch -n 1 ls -lR /mnt

三、文件普通权限

    1、rw-|r--|r--

            u  g   o

      u:对文件所有人的权限;

      g:对文件所以组的权限;

      o:文件对其他人的权限。

    2、 字符方式修改文件权限

   (1)chmod u-x 文件名 :文件所有人去掉x权限

            Linux系统文件权限

   (2)chmod g+w 文件名 :文件所有组加上w权限

           Linux系统文件权限

  (3)chmod g-w,o-w 文件名 :文件所有组减去w权限,其他人减去w权限

           Linux系统文件权限

 (4)chmod ugo-r 文件名 :文件所有人,所有组,其他人均去掉r权限

           Linux系统文件权限

  3、数字方式修改文件权限

         Linux系统中,r=4,w=2,x=1;例rw-|r--|r--中,u=rw=4+2=6,g=r=4,o=r=4,所以文件权限为644

                                                                 u  g   o

          7=rwx;6=rw-;5=r-x;4=r--;3=-wx;2=-w-;1=--x

         例:chmod 777 文件名:将文件所有人,所有组,其他*限全部改为rwx

                 Linux系统文件权限

  4、系统默认权限的设定

       从系统存在角度来说,开放权力越大,系统存在意义越高,而从系统安全角度来说,开放权力越少,系统安全性越高,所以系统设定新建文件或目录会去掉一些权限,在umask设置

      (1) 设置方式:umask 查看系统默认保留权限为022

                           umask 077,修改权限为077   

            Linux系统文件权限

          注意:该设定只在当前shell中生效,在其他shell中不生效,如下图:

             Linux系统文件权限

        (2)永久设定方式:

                 vim /etc/bashrc

                   Linux系统文件权限

                 黑线为普通用户权限,红线为超级用户权限,可将022改为077如图:

                 

                 vim /etc/profile

                    Linux系统文件权限

                  黑线为普通用户权限,红线为超级用户权限,必须将其改成和/etc/bashrc一致!!!

                    Linux系统文件权限

                然后再source /etc/bashrc

                            source /etc/profile设定才算成功

                  Linux系统文件权限

              该设定为永久设定,在其他shell中也生效:

                  Linux系统文件权限

  5、文件的访问控制(acl列表)

          当一个文件的权限为---|---|--- +时,即后面跟一“+”时,表示该文件有acl列表,acl列表表示特殊用户对特殊文件有特殊权限,此时文件的权限以权限列表为准。

           Linux系统文件权限

          设定方法:setfacl -m u:用户名:所给权限 文件名 

               Linux系统文件权限

         查看列表方法:getfacl 文件名

               Linux系统文件权限

            图中各部分表示信息:

                1:文件名称;2:文件所有人;3:文件所有组;4:拥有者权限;5:特殊用户权限;6:组权限;7:权限掩码;

                8:其他*限

      删除特殊权限:setfacl -x u:student 用户名

           Linux系统文件权限

      关闭权限列表:set -b 文件名

           Linux系统文件权限

     mask:权限掩码,用来标实能够赋予用户最大权限

     acl默认权限:当我们需求某个目录对于student可写,并且目录中新建的子目录对student也可写时,就要设定默认默认权限

           设定方式:setfacl -m d:u:student:rwx  /westos

           Linux系统文件权限

     设定默认权限后新建立的文件都会产生权限列表。

  6、特殊权限

   (1)suid冒险位:只针对二进制可执行文件,文件内记录的程序产生的进程的所有人为文件所有人,和进程发起人身份无关。

            设定方式:chmod u+s 文件名;s=4,或者可设置为:chmod 4xxx 文件名

              Linux系统文件权限Linux系统文件权限

    (2)sgid强制位:对文件:只针对二进制可执行文件,任何人运行二进制文件程序时,程序产生的进程的所有组都是文件的所有组,                                                         和程序发起人组的身份无关

                                      对目录:当目录有sgid权限后,目录中新建的所有文件的所有组都自动归属到目录的所有组之中,和文件建立                                                       者所在的组无关

              设定方式:chmod g+s 文件名;sgid=2,所以可设定为chmod 2xxx 文件名

               Linux系统文件权限Linux系统文件权限

    (3)sticky粘制位:只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除。

              设定方式:chmod o+t 文件名;t=1,所以也可以为chmod 1xxx 文件名

              Linux系统文件权限Linux系统文件权限

            注意:有t权限的文件只能被拥有者删除

              Linux系统文件权限

         westos是由root用户创建的且在上面实验中加入了t权限,所以student用户无法删除。