linux-6 文件的权限

文件的权限对于文件的信息安全是非常重要的,设置文件权限可以控制访问文件的用户身份,linux 中文件的权限时一个最基础的系统安全设置

1. 查看文件的权限


-|rw-r--r-- |1| root| root| 0|Jul  22 01:18 |filename

1     2           3   4        5      6         7                 8

以上各数字上方的部分所代表的含义如下:

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

2.文件读写权限
rw-|r--|r--
 

前三位为:所有人的权限
中三位为:所有组的权限
后三位为:其他人的权限

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

4."root":文件所属人

5."root":文件所属组

6.
数字:文件内容的大小

7.时间 :文件最后一次被修改的时间


8.
"filename":文件名字

ls -dl /root                       ##查看目录/root 的文件权限
ls -l /root/Desktop/file           ##查看桌面上文件file 的文件权限


2. 文件的普通权限


-|rw-r--r-- |1| root| root| 0|Jul  22 01:18 |filename

1.r
对文件:可以查看文件中的字符
对目录:可以查看目录中文件的信息

2.w
对文件:可以更改文件内字符
对目录:可以在目录中添加删除文件

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

系统在判断用户的权限时的顺序: u (user) 优先匹配   g (group) 在u之后匹配 o (others) 最后匹配

 

3.修改文件的权限

命令:chmod [-R] [u|g|o]+- r|w|x filename|director 

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

改之前

linux-6 文件的权限_第1张图片

改之后

linux-6 文件的权限_第2张图片

数字方式修改权限 :可以用数字代替wrx来方便修该权限

r ------- 4

w------- 2

r---------1

例子  rw-  =4+2+0=6
         r--   =4+0+0=4
         r-x   =4+0+1=5

即 文件的权限是 645

linux-6 文件的权限_第3张图片

4.系统默认权限的设定

系统默认权限是指在默认情况下,普通用户和root用户的权限

暂时在当前shell设置方式

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


永久设定方式:

永久设定需要超级用户在配置文件 /etc/bashrc(针对shell文本)  和/etc/profile(针对程序如firefox)中修改

如图:在umask之后修改数字即可

linux-6 文件的权限_第4张图片

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

让设定立即生效的命令如下:

source /etc/bashrc
source /etc/profile

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

有些文件需要某些特殊的用户访问,这就可以用acl 列表给文件添加特殊用户权限

acl = acess control

-|rw-r--r--+ |1| root| root| 0|Jul  22 01:18 |filename
                 ^

在给文件添加acl列表后会在如图的位置多一个加号提示。

查看文件的acl权限列表

命令:getfacl

getfacl /root
getfacl: Removing leading '/' from absolute path names
# file: root
# owner: root
# group: root
user::r-x
group::r-x
other::---

setfacl -m u|g:username|groupname:权限    文件|目录         添加acl列表
setfacl -x  u|g:username|groupname    文件|目录                 删除特殊用户或组

setfacl -b  文件|目录                                                                                       关闭acl列表

如下图:给文件/etc/passwd 设置user :yake wrx的权限

设置之前如图

linux-6 文件的权限_第5张图片

设置acl 之后如图

linux-6 文件的权限_第6张图片


权限掩码   mask
mask用来标实能够赋予用户最大权限
当用chmod改变文件普通权限时可能会被破坏
修复
setfacl -m m:rwx 文件名称

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

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


6.特殊权限

(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    1777 direcotry

linux-6 文件的权限_第7张图片

 

你可能感兴趣的:(linux)