Linux系统中文件的权限

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

文件权限的查看

名称方法
查看文件ls   -l filename 和 ll  filename
查看目录ls -ld dir 和ll -d dir

文件权限的读取

在终端中查看文件权限后或出现以下内容
-rw-r–r--. 1 kiosk kiosk 5388 Jul 11 22:08 /home/kiosk/Desktop/file
黑色:代表文件的类型
##空文件或者文本———— -
##目录     ———— d
##软连接    ———— l           快捷方式
##socket套接字  ———— s         和外部实现数据交互,例如进入数据库
##block块设备  ———— d          往里面放数据(u盘)
##字符设备    ———— c          典型的线性设备
橘色:代表文件的权限
rw-:[u]——文件拥有者对文件所能作出的操作
r–:[g]——文件所有组对文件所能作出的操作
r–:[o]——除了以上都为其他者,表示其他者对文件所能作出的操作
绿色:
对文件来说:文件硬链接的个数
对目录来说:目录中子目录的个数
黄色:
文件的所有人
蓝色:
文件的所有组
粉色:
对文件来说:文件大小
对目录来说:目录中子文件元数据大小
紫色:
文件内容被修改的时间
红色:
文件名称

除了文件名其他都是一个字节(1-7)

节点区(文件的个数) 数据区(文件的大小)
软连接:两个(多个)节点区对应数据区————节省磁盘空间
硬连接:一个节点区对应多个数据去————备份文件

改变文件所有人和所有组

名称方法
改变文件或目录所有人chown username file/dir
改变文件或目录所有人和所有组chown username.group file/dir
改变目录所有人chown -R username.group dir
改变文件或目录所有组group group file/dir
改变目录所有人chown -R group dir
[root@localhost Desktop]# touch file
[root@localhost Desktop]# mkdir aaa
##查看file文件属性
[root@localhost Desktop]# ls -l file 
-rw-r--r-- 1 root root 0 Jul 14 23:45 file
##查看aaa目录属性
[root@localhost Desktop]# ls -ld aaa/
drwxr-xr-x 2 root root 6 Jul 14 23:45 aaa/
##新建用户tian
[root@localhost Desktop]# useradd tian
##新建用户cai
[root@localhost Desktop]# groupadd cai
##修改file文件所有人为tian
[root@localhost Desktop]# chown tian file
[root@localhost Desktop]# ls -l file
-rw-r--r-- 1 tian root 0 Jul 14 23:45 file
##修改aaa目录所有组为tian
[root@localhost Desktop]# chown tian aaa
[root@localhost Desktop]# ls -ld aaa/
drwxr-xr-x 2 tian root 6 Jul 14 23:45 aaa/
##修改file文件所有人所有组为tian,cai
[root@localhost Desktop]# chown tian.cai file
[root@localhost Desktop]# ls -l file
-rw-r--r-- 1 tian cai 0 Jul 14 23:45 file
##修改aaa目录所有组为cai
[root@localhost Desktop]# chgrp cai aaa
[root@localhost Desktop]# ls -ld aaa
drwxr-xr-x 2 tian cai 6 Jul 14 23:45 aaa

在这里插入图片描述

如何改变文件的权限

##权限的理解

  1. 普通权限
权限文件目录
r读权限 查看文件内容列出其子目录结构信息(就是可执行 ls 目录 )
w写权限 配合r权限,则可对文件进行修改和删除配合x权限就可以添加、删除和移动内部文件,而删除目录和复制目录内文件则需要配合r和x权限。
x执行权限 是否可以通过文件名称调用文件内的记录的程序可以进入该目录和对其下文件作操作(就是可执行 cd 目录 )
  1. 特殊权限
权限文件目录
suid(冒险位)二进制可执行文件会以所有者和调用者的用户标识去执行,也就是拥有两者的权限不对目录设置
sgid (强制位)二进制可执行文件会以所属组和调用者的标识去执行,也就是拥有两者的权限。在目录下创建文件、目录等,其所属组与该目录的所属组相同。而不是所有者的用户组了。
sticky(粘滞位)不对文件设置配合wx权限,仅目录的所有者、子目录或文件的所有者和root用户才能删除、移动该目录下的子目录和文件

注意:仅对二进制可执行文件设置

##更改方式

  1. 普通权限
名称方法
chmod u+(-)rwx   file/dir文件拥有者获得(+)或减少(-)对应权力
chmod g+(-)rwx   file/dir文件拥有组获得(+)或减少(-)对应权力
chmod o+(-)rwx   file/dir其他拥有者获得(+)或减少(-)对应权力
chmod 0-7,0-7,0-7  file/dir其他拥有者获得(+)或减少(-)对应权力

其中数字表示的过程
语法为:chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。

  1. 特殊权限

suid作用:当文件上有suid时任何人执行这个文件中的程序产生的进程都属于文件所有人
设定方式:chmod u+s file
     chmod 4xxx file
sgid作用:当文件上有sgid权限时任何人执行此文件产生的进程都属于文件的组;当目录上有sgid权限时任何人此目录中建立的文件都属于目录的组;
设定方式:chmod g+s file|dir
     chmod 2xxx file|dir
sticky作用:当目录上有sticky权限时,在这个目录中的文件只能被文件的所有者删除
设定方式:chmod o+t file
     chmod 1xxx file

权限列表——facl

让特定的用户对特定的文件拥有特定的权限在这里插入图片描述-rw-rwxr–+ 1 root root 0 Jul 15 03:09 file1
+号代表权限的开启
##开启权限列表——getfacl file1
##文件名称————# file: file1
##文件拥有者———# owner: root
##文件拥有组———# group: root
##文件拥有人的权限———user::rw-
##指定用户的权限———user:westos:rwx
##文件拥有组的权限———group::r–
##赋予用户最大权力阀值———mask::rwx
##其他人的权力———other::r–

##mask值

在权限列表中mask表示能生效的权力值
当用chmod减小开启facl的文件权限时mask会发生改变
在这里插入图片描述
[root@localhost Desktop]# getfacl file1
#file: file1
#owner: root
#group: root
user::rw-
user:westos:rwx       #effective:rw-
group::r–
mask::rwx
other::r–
如上图所示:effective:rw-,可以执行的只有rw
如果要恢复mask值,可以使用——setfacl -m m:rwx 用户名

##facl默认权限的开启

名称方法
在该目录以后生成的新文件含有的权力为rwxsetfacl -m d:u:用户名:rwx   /目录
在该目录以前旧文件全部生效setfacl -R -m u:用户名:rwx   /目录
取消默认权限setfacl -k  /目录
[root@localhost Desktop]# mkdir /mnt/dir
[root@localhost Desktop]# touch /mnt/dir/file
[root@localhost Desktop]# touch /mnt/dir/file1
##监控/mnt/dir目录属性;/mnt/dir目录中的文件属性;/mnt/dir下默认权限的内容
[root@localhost Desktop]# watch -n 1 'ls -ld /mnt/dir;ls -l /mnt/dir;getfacl /mnt/dir'
##新建的文件会继承设置的默认权限  在图一中体现
[root@localhost Desktop]# setfacl -m d:u:westos:rwx /mnt/dir
[root@localhost Desktop]# touch /mnt/dir/file2
[root@localhost Desktop]# touch /mnt/dir/file3
##新建的文件会继承设置的默认权限  在图二中体现
[root@localhost Desktop]# setfacl -R -m u:westos:rwx /mnt/dir
##默认权限被取消  在图二中体现
[root@localhost Desktop]# setfacl -k /mnt/dir

在这里插入图片描述

在该图中,通过上下两个shell对比可以看到,使用 setfacl -m d:u:westos:rwx /mnt/dir后新建立的文件都出现了facl默认权限

在这里插入图片描述

在该图中,通过上下两个shell对比可以看到,使用 setfacl -R -m u:westos:rwx /mnt/dir后以前建立的文件都出现了facl默认权限

在这里插入图片描述

在该图中,通过上下两个shell对比可以看到,使用setfacl -k /mnt/dir后默认权限被取消

facl默认权限只针对目录设定,且对于设定完成后新建的文件或者目录生效,已经存在的文件不会继承默认权限

系统建立文件/目录默认的权力——umask

umask相当于chmod 的补码。
chmod的值=777-umask-111
临时修改umusk的值
##显示系统预留权限值————umask
##临时修改umask值————umask 077
永久修改umusk的值
/etc/profile是系统的配置文件,使用vim进入修改
在这里插入图片描述 if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then
umask 002 ##普通用户的更改
else
umask 022 ##超级用户的更改
/etc/bashrc是shell的配置文件;
在这里插入图片描述 if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then
umask 002##普通用户的更改
else
umask 022##超级用户的更改
修改以上两个文件的对应属性可以永久改变umask的值
##刷新用户设置    source /etc/bashrc
配置完以上两个文件后,并不能立刻生效,使用source /etc/bashrc和source /etc/profile让设置后的文件立刻生效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值