Linux基础知识之(文件权限)

文件权限

1.文件权限存在的意义

  1. 系统最底层安全设定方法之一
  2. 保证文件可以被可用的用户做相应操作

2.文件权限的查看
ls -l file 查看文件
ls -ld dir 查看目录本身的属性
例如:ls -ld westos
在这里插入图片描述
ll file 查看文件
ll -d dir 查看目录本身的属性

ls -l file
-rw-rw-r-- 1 root root 0 Oct  8 22:32 file

-代表普通文件,rw-rw–r--代表文件的具体权限,1是指cat能看到的被系统记录的次数,root指文件拥有者,root指文件所在组,0表示文件大小,Oct 8 22.32代表最后一次更改的时间,file表示文件名称。

3.文件权限的读

   -  |rw-rw-r--| 1 |kiosk | kiosk | 0 | Jul 21 09:18 | file
  [1]    [2]     [3]  [4]     [5]   [6]      [7]        [8]

[1]文件的类型

 -    空文件,或者文本  
 d    目录
 l    软链接  快捷方式
 s    socket 套接字 程序对外的接口
 b    block块设备
 c    字符设备

[2]文件的权限

rw-|rw-|r--
 1   2   3

1.[u] 文件拥有者对文件能做什么操作(读写)
2.[g] 文件所有组对文件能做什么操作(读写)
3.[o] 其他人对文件能做什么操作(读)

[3]对文件:文件硬链接个数(文件内容被记录的次数)
对目录:目录中子目录的个数

在这里插入图片描述
[4]文件的所有人

[5]文件所有组

[6]对文件:文件大小
对目录:目录中子文件元数据(matedate可以理解为文件的属性)大小

文件元数据算法因为文件file 有4个字母所以占4个元数据。

  -  |rw-rw-r--| 1 |kiosk | kiosk | 0 | Jul 21 09:18 | file
  1       1      1      1      1    1        1          4  =11 文件元数据

对于目录因为westos刚开始是一个空文件,所以他的 元数据为6,在westos中建立一个文件offer,offer有5个字母,占5个元数据。因此目录westos的元数据为18.(7+6+5=18)
在这里插入图片描述

[7]文件的内容被修改的时间

[8]文件的名称

4.如何改变文件的所有人和所有组

 chown   |    chgrp
更改所有人     更改组
chown   	username	file|dir 更改文件或者目录的所有人
chown   	user.group	file|dir 更改所有人以及所有组
chown	-R	user.group	dir      递归更改目录本身以及里面所有内容的所有人和所有组

chgrp		group		file|dir 更改文件或者目录所有组
chgrp	-R	group		dir      递归更改目录本身和里面所有内容的所有组

在这里插入图片描述

5.如何改变文件的权限

  1. 对权限的理解(文件有r w x 三种权限分别为读,写,执行)
    r(读)
    对文件:是否可以查看文件中的内容 —>cat file。
    对目录:是否可以查看目录中有什么子文件或者子目录 —> ls dir。
    w(写)
    对文件:是否可以改变文件里面记录的字符和内容。
    对目录:是否可以对目录中子目录或子文件的元数据进行更改。
    x(执行)
    对文件:是否可以通过文件名称调用文件内记录的程序。
    对目录:是否可以进入目录。
    删除是建立在X和W基础上的。

  2. 更改方式

     chmod	<u|g|o><+|-|=><r|w|x>	file|dir
     chmod 	u+x	/mnt/file1   更改file1的权限(给所有人添加x权限)
     chmod 	g-r	/mnt/file2    更改file2的权限(给所有组去掉r权限)
     chmod	ug-r	/mnt/file3 更改file3的权限(给所有人和所有组都去掉r权限)
     chmod	u-r,g+x	/mnt/file4更改file4的权限(给所有人去掉r,给所有组添加x权限)
     chmod	o=r-x	/mnt/file6 更改file6的权限(给其他人权限设定为r-x)
     rwx数字表示
     210从右向左读
     r=2^2=4,   w=2^1=2,  x=2^0=1
     r-x|r--|--x
      5   4   1
     chmod 541 /mnt/file1    更改/mnt/file1的权限为 r-x|r--|--x
     7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---
    

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

    所用二进制计算办法来进行,满权限就是rwx=4+2+1=7

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

    r=4,w=2,x=1,-=0

    7=rwx,6=rw-,5=r-x,4=r–,3=-wx,2=-w-,1=–x,0=—
    更改文件权限如下图:
    在这里插入图片描述
    在这里插入图片描述

6.umask文件的默认权限

  1. umask 系统建立文件是默认保留权限的权力
    例:umask 077 临时设定系统预留权限为077
    在这里插入图片描述
    上图所示我们用umask命令将文件的默认权限更改成了077,所谓临时就是当我们关闭终端再重新打开时umask还是原来的022。

  2. 永久更改umask

    编辑 vim /etc/profile 系统配置文件
    在这里插入图片描述
    vim /etc/bashrc shell配置文件
    在这里插入图片描述
    编辑结束后执行source命令让更改生效
    source /etc/profile 刷新系统配置,让更改立即生效
    source /etc/bashrc刷新bash配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.特殊权限

  1. sticky 粘制位(t权限=1)
    作用:
    只针对目录生效,当一个目录上有sticky权限时
    在这个目录中的文件只能被文件的所有者删除
    设定方式:
    chmod o+t dir | chmod 1xxx dir

  2. sgid 强制位(给g上加s,s权限=2)
    作用
    对文件: 只针对与二进制可执行文件
    当文件上有sgid时任何人执行此文件产成的进程都属于文件的的组
    对目录:
    当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组
    设定方式
    chmod g+s file|dir | chmod 2xxx file|dir

  3. suid 冒险位(给u上加s,s权限=4)
    只针对与2进制可执行文件
    当文件上有suid时任何人执行这个文件中的程序产生的进程都属于文件的所有人
    设定方式
    chmod u+s file | chmod 4xxx file

在这里插入图片描述
在这里插入图片描述

  1. acl权限列表
    1.作用
    让特定的用户对特定的文件拥有特定权限
    -rw-rwx—+ 1 root root 0 Mar 28 02:39 file
    那么这个文件的普通权限也在权限列表中识别,ls -l 看到的权限是不准确的。在这里插入图片描述
    2.acl列表查看
    -rw-rwxr–+ 1 root root 0 Jul 21 15:45 file
    -rw-rwxr–+ ------------->出现+acl列表开启

    getfacl file查看acl开启的文件的权限
    file: file文件名称
    owner: root文件拥有者
    group: root文件拥有组
    user::rw- 文件拥有人的权限
    user:kiosk:rwx 指定用户的权限
    group::r-- 文件拥有组的权力
    mask::rwx能赋予用户的最大权力伐值
    other::r-- 其他人的权限
    3.acl列表的管理
    setfacl -m u:username:rwx file设定username对file拥有rwx权限
    setfacl -m g:group:rwx file 设定group组成员对file拥有rwx权限
    setfacl -x u:username file 从acl列表中删除username
    setfacl -b file 关闭file上的acl列表

setfacl -m u:student:rwx westos 设定student对westos拥有rwx权限
在这里插入图片描述
在这里插入图片描述
4.mask值
在权限列表中mask标示能生效的权力值
当用chmod减小开启acl的文件权限时mask值会发生改变
chmod g-w westos
如果要恢复mask值
setfacl -m m:rwx westos

在这里插入图片描述
在这里插入图片描述
5.acl的默认权限设定
acl默认权限只针对目录设定
setfacl -m d:u:student:rwx westos 设定
在这里插入图片描述
“acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限”
下图是新建的文件继承acl默认权限
在这里插入图片描述
建立默认权限
setfacl -m d:u:student:rwx westos
清除默认权限
setfacl -k westos

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值