Linux系统中的文件权限

一、文件权限存在的意义

文件权限是系统最底层安全设定方法之一

它保证文件可以被可用的用户做相应操作

二、文件权限的查看

ls -l  file     ##查看文件权限

ll file          ##查看文件权限

注意:ls -l = ll

ls -ld dir     ##查看目录本身权限

ll -d dir       ##查看目录本身权限

注意:ls -ld = ll -d

ls -li file 查看文件的节点号

三、文件权限的读取

 - | rw-r--r-- | 1 | root | root | 0 | Jul 21 21:06 | file

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

[1]

文件的类型

-      ##空文件,或者文本

d     ##目录

l      ##软链接 ,相当于快捷方式

s     ##socket 套接字,程序的接口(程序对外提供接口的交互文件)

b     ##block 块设备 /dev/sda

c     ##字符设备 /dev/pts/0(ps命令查看当前字符进程名称)

[2]

文件的权限

rw-|rw-|r--

 1     2    3

1.[u]文件拥有者对文件能做什么操作

2.[g]文件所有组对文件能做什么操作

3.[o]其他人对文件能做什么操作

[3]

对文件:文件硬链接个数(文件内容被系统记录的次数)

对目录:目录当中子目录的个数

[4]

文件的所有人

[5]

文件所有组

[6]

对文件:文件大小

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

[7]

文件的内容被修改的时间

[8]

文件的名称

四、如何改变文件的所有人和所有组

chown|chgrp

chown username file|dir

chown user.group file|dir

chown -R user.group dir

chgrp group file|dir

chgrp -R group dir

五、如何改变文件的权限

1.对权限的理解

r

对文件:是否可以查看文件中的内容 --->cat file

对目录:是否可以查看目录中有什么子文件或者子目录 --->ls dir

w

对文件:是否可以改变文件里面记录的字符

对目录:是否可以对目录中子目录或子文件的元数据进行更改

x

对文件:是否可以通过文件名称调用文件内记录的程序

对目录:是否可以进入目录

注意:删除文件需要w和x的权力

            r和x权限基本上是都给或者都不给

            w权限出现在rx之后

2.更改方式

文件的权限有两种更改方式

方法一:chmod <u|g|o><+|-|=><r|w|x> file|dir

chmod u+x file1

chmod g-r file2

chmod ug-r file3

chmod u-r,g+x file4

chmod -r file5   

chmod ugo=rx file6

chmod ugo-rwx file7

chmod   u+w,g+w,o+w  file8

注意:chmod +w /file 只会给u用户增加w权限,因为w权限比较危险。需要添加w权限时必须采用g+w或r+w方式添加。

方法二:chmod xxx file|dir

设定权限可以用指定数字快速设定:

r-x|r--|--x

 5   4   1

7=rwx         6=rw-         5=r-x         4=r--

3=-wx         2=-w-         1=--x          0=---

六、umask

umask          ##系统建立文件时默认保留的权力

umask 077   ##临时设定系统预留权限为077

永久更改umask

vim /etc/profile       62行 022改为077   

vim /etc/bashrc      73行 022改为077

source /etc/profile        ##让更改立即生效

source /etc/bashrc       ##让更改立即生效

注意:

能够赋予用户的权力越多,意义越大;赋予权力越少,安全性越高。

目录默认权限为755   系统设置保留022

文件默认权限为644   系统设置保留022  剩下111在系统内核直接默认被减去

七、特殊权限

1.sticky ##粘制位

作用:

只针对目录生效,当一个目录上有sticky权限时

在这个目录中的文件只能被文件的所有者删除

设定方式:

chmod o+t dir

chmod 1xxx dir

2.sgid ##强制位

作用:

对文件:只针对于二进制可执行文件,当文件上有sgid时,任何人执行此文件产生的进程都属于文件组

对目录:当目录上有sgid权限时,任何人在此目录建立的文件,都属于目录的所有组

设定方式:

chmod g+s file|dir

chmod 2xxx file |dir

对文件:

对目录:

3.suid ##冒险位

作用:

只针对于二进制可执行文件,当文件上有suid时,任何人执行这个文件中记录的程序产生的进程属于文件的所有人。

可用于对用户进行升降权限

设定方式:

chmod u+s  file

chmod 4xx

八、acl权限列表

 

1.作用

让特定的用户对特定的文件拥有特定权限

注意:rhel6.0以及之前的版本默认不支持acl功能

2.acl列表查看

        -rw-rwxr--+ 1 root root 0 Jul 21 15:45 file

               ^        ^

              [1]     [2]

[1]此处权限不准,要使用getfacl命令查看

[2]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列表

4.mask值

在权限列表中mask表示能生效的权力值

当用chmod减小开启acl的文件权限时mask值会发生改变

chmod g-w file

如果要恢复mask值

setfacl -m m:rw file

5.acl的默认权限设定

acl默认权限只针对目录设定

注意:acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限的

setfacl -m d:u:username:rwx dir      ##设定username对dir拥有默认rwx权限

九、i权限

可用于限制root超级用户的权利

lsattr file          ##查看i权限

chattr +i file     ##添加i权限

root用户在编辑vim文件执行:wq!退出时,会出现错误而无法保存

chattr -i file       ##删除i权限

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux文件权限是指对于文件或目录的读、写、执行等操作的控制,它是基于文件的用户和组权限管理的核心特性之一。在Linux,每个文件或目录都由所有者、组和其他人构成,它们各自拥有不同的权限,实现了对文件的精细控制。 文件权限表现为字符形式的属性,该属性通常由九个字符构成,分别表示三组权限:所有者权限、组权限和其他人权限权限字符的第一位用于表示文件类型,使用字母 d 表示目录,而其它文件使用字母 -。 对于每一组权限,分别对应一个三位数的二进制编码,其分别表示该组的读、写和执行权限,每位对应的数值为 4、2 和 1,因此,不同组和不同操作权限的二进制值可以通过三个相加的值来表示,如下所示: rwx 二进制 权限值 --- ------ ----- 000 0 没有权限 001 1 执行权限 010 2 写权限 011 3 写和执行权限 100 4 读权限 101 5 读和执行权限 110 6 读和写权限 111 7 读、写和执行权限 因此,如果一个文件权限为 -rwxr-xr-- ,则表示该文件是一个普通文件文件类型为 -),所有者具有读取、写入和执行权限,组用户具有读取和执行权限,其他用户只有读取权限。 接下来,我们通过一个具体的例子来详细说明文件权限的使用。 假设您创建了一个文件 /home/user/example.txt ,该文件属于用户 user,组为 user_group,要对该文件进行正确的权限设置以满足您的需要。首先,您需要知道可以使用什么命令来设置文件权限,通常使用的命令有 chmod 和 chown 首先,我们来学习如何使用 chmod 命令来修改文件权限。在终端输入以下命令: chmod 750 /home/user/example.txt 其,数字 750 表示分别设置了三个权限组的权限,具体含义如下: - 所有者权限设置为 rwx,即 7 二进制 - 组用户权限设置为 r-x,即 5 二进制 - 其他用户权限设置为 ---,即 0 二进制 也就是说,用户 user 可以读、写、执行该文件,user_group 用户只能读取、执行该文件,其他用户无法操作该文件。 除了使用数字来直接设置文件权限,chmod 还支持使用字母表达式,如下所示: chmod u=rwx,g=rx,o= /home/user/example.txt 其,u 表示所有者,g 表示组用户,o 表示其他用户,等号右边的 rwx、rx 和空格表示设置对应的权限,没有设置表示删除该权限。 接下来,我们来学习如何使用 chown 命令来修改文件的所有者和组,假设我们需要将 /home/user/example.txt 的组设置为 user_group1,需要使用以下命令: chown user:user_group1 /home/user/example.txt 其,冒号前面的 user 表示新的所有者,冒号后面的 user_group1 表示新设置的组,使用如上命令可以轻松地修改文件的所有者和组,进而实现对文件的更细致的权限控制。 在 Linux 文件系统文件权限是非常重要的,因为只有在正确设置了权限后,才能保证文件的安全性、隐私性和完整性等特性,同时也可以避免其它用户和程序的错误访问,因此,在使用 Linux 系统时,深入学习和掌握文件权限的相关概念和使用方法也尤为重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值