Linux-------文件读、写、可执行及特殊权限的管理

一、文件属性的查看

1.1 查看文件命令

ls -l filename


1.2 文件属性

 -   rw-r -r--    1 root root   0   Oct 9  09:34   file

[1]         [2]     [3]  [4]  [5]    [6]         [7]              [8]

相关下标数字解释:

  [1]                  #文件类型   :    -        ------- >        普通文件

                                                   d        ------- >        目录         

                                                   s         ------- >        socket套接字

                                                   l          ------- >       软链接 /快捷方式

                                                   p         ------- >       管道

                                                   c          ------- >        字符设备

                                                   b         ------- >        块设备  ,用sdb文件来管理你的有盘u盘

[2]                    #读写权限

   rw-|rw-|r--            

     @   $   *

                                            @ #文件拥有者对文件能做的动作

                                            $ #文件所在组的组成员能对文件做的动作

                                            * #其他人对与文件能做的动作

[3]  "1"

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

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

[4]    "root"表示文件所有人

[5]    "root"表示文件所有组

[6]    "0"表示文件内容的大小

[7]   "Oct  9 09:34"表示文件最后一次被修改的时间

[8]    "file"表示文件名字

1.3 查看目录命令

     ls -ld directoy

1.4  目录属性

 d   rwxr-xr-x  3 kiosk kiosk  33  Aug 27 09:47 directory

[1]    [2]         [3]  [4]    [5]     [6]      [7]                  [8]

 

    [1]    ##类型(同文件)

    [2]    ##权限

    [3]    ##子目录个数

    [4]    ##目录拥有者

    [5]    ##目录所在组

    [6]    ##目录中内容的属性的大小

    [7]    ##目录中文件增加或减少或被更名的时间

    [8]    ##目录名称



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


2.1文件用户组的更改   

#超级用户可用

chown   用户名称  文件                           ##更改文件所有人

chgrp      组名称    文件                          ##更改文件所有组

chown  -R  用户   目录                            ##更改目录本身以及目录中的子文件的所有人

chgrp   -R  组名   目录                            ##更改目录本身以及目录中的子文件的所有组

chown student:xixi /mnt/file 同时更改file的用户和组的名称

 

2.2 权限的识别

ls -l 中2-10字符为文件权限

rwx                         r-x                       r-x

用户权限(u)     组成员权限(g)   其他用户权限(o)

u优先匹配,g次优先,oug不匹配时匹配

 

2.3 权限种类

r

r权限针对文件,表示可以查看文件内容

r权限针对目录,表示可以ls 查看目录中存在的文件名称

 

w

w权限针对文件,表示可以更改文件的内容

w权限针对目录,表示是否可以删除目录中的子文件或者新建子目录

 

x

x权限对于文件,表示是否可以开启文件当中记录的程序

x权限对于目录,表示是否可以进入目录中


文件:r-可读(cat) w-可写(vim) x-可以执行里边的内容(.sh)
目录:r-可看(ls)  w-可修改(rm | touch | mkdir) x-可进入(cd)

注:一般给予目录读权限时,也将会给其执行权限,属于“套餐”组合


 2.4 修改权限 

chmod  ugo+-=rwx                                ##改权限

 

u=rwx=7 |g=rwx=7|o=rwx=7

  421

u=rw-=6 g=r--=4 o=r--=4   644

r=4tom

w=2

x=1

-=0

 

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

下面展示部分命令截图

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

chown   username.groupname   file|dir    表示更改所有人所有组


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

chgrp  -R  groupname   dir     表示更改目录本身及里面所有内容的所有组

注:R表示递归



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


chmod u-x,g-w file1     表示file1拥有者去掉x权,file1拥有组去掉w权限

chmod ugo-r file2       表示file2的所有人去掉r权限

chmod ug+x,o-r file1      表示file1用户和组添加x权限,其他人去掉r权限



注:-R表递归,可用于修改整个目录中文件的权限

数字方式修改该文件权限


三、系统默认权限的设定


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

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

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

设定方式

umask       ##查看系统保留权限默认为022

umask 077   ##修改该系统保留权限为077,此设定为临时设定,只当前shell中生效


永久设定方式:

vim /etc/bashrc     ##shell

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

 71       umask 002    ##普通用户umask

 72    else

 73       umask077    ##超级用户umask                                                                      

 74    fi

vim /etc/profile    ##系统

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

 60    umask 002   ##普通用户umask

 61 else

 62    umask077       ##超级用户umask                                                                                         

 63 fi

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

source /etc/bashrc     #shell

source /etc/profile      #系统

让设定立即生效

注:建立目录权限与umask值相加为777,建立目录权限与建立文件的权限值相减为111

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

1.acl定义

acl=access control    表示指定特殊用户对特殊文件有特殊权限

eg:drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/

“+”表示/westos目录上有权限列表

getfacl  /westos/

# file: westos/     ##文件名称

# owner: root       ##文件所有人

# group: root       ##文件所有组

user::rwx       ##拥有者权限

user:student:rwx    ##特殊用户权限

group::---      ##组权限

mask::rwx       ##权限掩码

other::---      ##其他人权限

注意:当文件上有权限列表时,ls -l能看到的权限是假的


2.设定acl列表

2.1 设定

setfacl -m <u|g>:<username|groupname>:权限 文件|目录


-m  表示设定

u   表示用户

g   表示

2.2 删除列表中的用户或者组

setfacl -x <u|g>:<username|groupname>  文件|目录

2.3 关闭列表

setfacl -b文件|目录 

 

#acl mask

1.mask  权限掩码<--->权限伐值

mask用来标实能够赋予用户最大权限

当用chmod改变文件普通权限时可能会被破坏

修复:setfacl -m m:rwx文件名称

#acl 默认权限

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

注意: 默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,对于目录本身也无效

setfacl -m d:u:student:rwx  /westos

五、特殊权限

(umask查看权限时最前面的“0”所代表的含义)


1.suid      ##冒险位

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

设定方式:

chmod u+s file

suid=4

chmod 4xxx file

2.sgid      ##强制位

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

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

设定方式:

chmod g+s file|dir

sgid=2

chmod 2xxx file|dir

3.sticky    ##粘制位

t权限:只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除

设定方式:

chmod o+t direcotry

t=1

chmod   1xxx direcotry

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值