Linux的文件权限管理

一、基本含义

1.文件权限存在的意义

(1)文件权限是系统最底层的安全机制组成之一
(2)权限设定的作用是保证文件可以被可用的用户做相应的操作

2.文件权限的查看
(1)ls -l file 查看文件的属性
在这里插入图片描述
(2)ls -ld dir 查看目录的属性
在这里插入图片描述

-rw-r--r--. 1 root root 0 3月  23 17:30 test
1     2     3  4    5   6       7        8

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

2.rw-r–r--:文件读写权限

rwx|rwx|rwx
 u   g   o
 
u拥有者
g所属组
o其他人

rwx

 r 读权限      4 对文件查看文件的字符;对目录查看目录中的文件/信息
 w 写权限      2 对文件可以更改文件的字符;在目录中增删改查
 x 执行权限    1 对文件运行文件中记录的程序动作;可以进入目录
  • 421为2进制赋值

3.文件被记录次数

-文件 1 记录一次文件 文件初始为1                  之后每次新建增加1
d目录 2 记录一次目录 目录初始为2,即隐藏的. 和..文件 之后每次新建增加1

4.文件的拥有者
5.文件的所属组
6.文件的内容大小
7.文件最后一次被修改的时间
8.文件的名字

二、对权限的管理

1.拥有者和所属组变更

chown    拥有者 文件名          只改变拥有者 
chown    拥有者.所属组 文件名    同时改变拥有者和所属组
chgrp    所属组 文件名          只改变所属组
chown -R 拥有者.所属组 文件名    递归改变所有拥有者和所属组
chgrp -R 所属组 文件名          递归改变所属组
chown -R 拥有者 文件名          递归改变拥有者

2.文件的权限管理

chmod u+rwx
chmod u+r,g-w
chmod 777
chmod -R 777

3.系统默认权限的设定
系统设定新建文件或目录会去掉一些权限
设定方式

umask(普通用户和超级用户)  # 查看系统减掉的权限
umask xx  #修改该系统减掉xxx,此设定是临时设定,只在当前shell生效

永久设定
vim /etc/bashrc

 70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 71        umask 002 #普通用户的umask
 72     else
 73        umask 022  #超级用户的umask
 74     fi

vim /etc/profile

 59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 60     umask 077
 61 else
 62     umask 022
 63 fi

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

source /etc/bashrc 
source /etc/profile

让系统重新加载配置文件,让设定立即生效

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

1.acl的定义
acl=access control
指定特殊的用户对特殊的文件有特殊的权限

ls -dl /home/kiosk/
drwx--x---+ 44 kiosk kiosk 4096 Dec 31 08:59 /home/kiosk/
          ^
标示开启了acl访问控制列表
  • 注意:当文件/目录有权限列表时,ll能看到的权限是假信息,(ll查看的是文件本身权限,但是开启acl后mask权限会出现在组权限位置,所以显示的不再是文件本身的权限,此时显示的acl附加的mask权限)
    getfacl /home/kiosk

    getfacl: Removing leading '/' from absolute path names
    # file: home/kiosk  ##目录/文件的名称
    # owner: kiosk	    ##d/f 的拥有者
    # group: kiosk	    ##d/f 的所属组
    user::rwx	        ##拥有者的权限
    user:qemu:--x	    ##acl列表中(特殊用户)的权限
    group::---	        ##特殊组的权限
    mask::--x	        ##权限掩码
    other::---	        ##其他人的权限

2.设定acl列表
键入

touch file
ll

输出

总用量 0
-rw-r--r--. 1 root root 0 3月  23 17:59 file

在这里插入图片描述
键入

setfacl -m u:student:rwx file
  • -m 设定 u 用户 g 组

再次键入

ll

输出

总用量 4
-rw-rwxr--+ 1 root root 0 3月  23 17:59 file

在这里插入图片描述
键入

 getfacl file      

输出

# file: file
# owner: root
# group: root
user::rw-
user:student:rwx
group::r--
mask::rwx
other::r--

在这里插入图片描述
3.删除列表中的用户或组

[root@client Desktop]# setfacl -x u:student file 
[root@client Desktop]# ll
总用量 4
-rw-r--r--+ 1 root root 0 3月  23 17:59 file

在这里插入图片描述
4.关闭列表

[root@client Desktop]# setfacl -b file 
[root@client Desktop]# ll
总用量 0
-rw-r--r--. 1 root root 0 3月  23 17:59 file

在这里插入图片描述
5.acl mask
mask用来标示实际能够赋予用户最大权限

[root@client Desktop]# setfacl -m m:rw- file
[root@client Desktop]# getfacl  file
# file: file
# owner: root
# group: root
user::rw-
group::r--
mask::rw-
other::r--

###可能:当你用chmod改变文件普通权限的时候可能会破坏acl mask

6.acl的默认权限
当我们需要普通用户对属于root的某个目录拥有写的权限时,并且目录中新建的子目录对普通用户也生效,就要设定acl默认权限

注意:默认权限只对目录中新建的目录或文件生效,对已经建立的目录和文件无效,对目录本身也无效
setfacl -m d:u:student:rwx /westos/

四、特殊权限位

1.suid ##冒险位
只针对二进制可执行文件
文件内记录的程序产生的进程的拥有者为文件的拥有者(和进程的发起人没关系)

[root@desktop0 mnt]# chmod u+s /usr/bin/touch == [root@desktop0 mnt]# chmod 4755 /usr/bin/touch 
[root@desktop0 mnt]# ll /usr/bin/touch 
-rwsr-xr-x. 1 root root 62432 Jan 25  2014 /usr/bin/touch
[root@desktop0 mnt]# su - student
Last login: Mon Dec 31 16:23:23 CST 2018 on pts/0
[student@desktop0 ~]$ ll
total 0
-rw-------. 1 student student 0 Dec 31 16:23 file
[student@desktop0 ~]$ touch file2
[student@desktop0 ~]$ ll
total 0
-rw-------. 1 student student 0 Dec 31 16:23 file
-rw-------. 1 root    student 0 Dec 31 16:25 file

2.sgid ##强制位
对文件:只针对二进制可执行文件,
任何人运行二进制文件程序时程序产生的进程的所属组都是文件的所有组 (和程序发起人组的身份无关)
设定方式:
chmod g+s file|dir
sgid=2
chmod 2xxx file|dir

[root@desktop0 mnt]# chmod g+s /usr/bin/touch ^C
[root@desktop0 mnt]# chmod 2755 /usr/bin/touch 
[root@desktop0 mnt]# ll /usr/bin/touch 
-rwxr-sr-x. 1 root root 62432 Jan 25  2014 /usr/bin/touch
[root@desktop0 mnt]# su - student
Last login: Mon Dec 31 16:25:36 CST 2018 on pts/0
[student@desktop0 ~]$ ls
file  file2
[student@desktop0 ~]$ touch file3
[student@desktop0 ~]$ ll
total 0
-rw-------. 1 student student 0 Dec 31 16:23 file
-rw-------. 1 root    student 0 Dec 31 16:25 file2
-rw-------. 1 student root    0 Dec 31 16:43 file3

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

[root@desktop0 mnt]# chmod g+s /westos/
[root@desktop0 mnt]# ll -d /westos/
drwxrwsrwx. 3 root root 19 Dec 31 16:46 /westos/
[root@desktop0 mnt]# su - studnet
su: user studnet does not exist
[root@desktop0 mnt]# su - student
Last login: Mon Dec 31 16:45:59 CST 2018 on pts/0
[student@desktop0 ~]$ cd /westos/
[student@desktop0 westos]$ ls
stuent
[student@desktop0 westos]$ ll
total 0
drwx------. 2 student student 6 Dec 31 16:46 stuent
[student@desktop0 westos]$ touch ww
[student@desktop0 westos]$ ll
total 0
drwx------. 2 student student 6 Dec 31 16:46 stuent
-rw-------. 1 student root    0 Dec 31 16:47 ww
[student@desktop0 westos]$ mkdir ee
[student@desktop0 westos]$ ll
total 0
drwx--S---. 2 student root    6 Dec 31 16:47 ee
drwx------. 2 student student 6 Dec 31 16:46 stuent
-rw-------. 1 student root    0 Dec 31 16:47 ww

3.sticky ##粘制位
t权限:
只针对于目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除
设定方式:
chmod o+t direcotry
t=1
chmod 1777 direcotry
drwxrwxrwt. 2 root root 6 Dec 31 17:04 /pub/

[root@desktop0 mnt]# su - westos
Last login: Mon Dec 31 17:03:45 CST 2018 on pts/0
[westos@desktop0 ~]$ cd /pub/
[westos@desktop0 pub]$ touch westos
[westos@desktop0 pub]$ ll
total 0
-rw-------. 1 westos root 0 Dec 31 17:06 westos
[westos@desktop0 pub]$ su - student
Password: 
Last login: Mon Dec 31 17:03:26 CST 2018 on pts/0
[student@desktop0 ~]$ cd /pub/
[student@desktop0 pub]$ ls
westos
[student@desktop0 pub]$ rm -rf westos 
rm: cannot remove ‘westos’: Operation not permitted
[student@desktop0 pub]$ 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值