Linux文件权限

ACL 主要提供UGO的rwx权限之外的具体权限

ACL权限

使用getfacl命令查看ACL权限,此时显示的内容与先前使用ll命令查看到的内容相差无几

[root@localhost home]# touch test.txt
[root@localhost home]# ll test.txt     //查看文件权限
-rw-r--r--. 1 root root 0 4月   7 23:03 test.txt
[root@localhost home]# getfacl test.txt
file: test.txt
owner: root
group: root
user::rw-
group::r--
other::r--

为文件设置ACL权限      -m 设置文件或目录权限
使用setfacl命令可以设置ACL权限,对一个文件或者目录进行更精确的权限设置

[root@localhost home]# setfacl -m u:u04:rw test.txt
[root@localhost home]# getfacl test.txt
file: test.txt
owner: root
group: root
user::rw-
user:u04:rw-
group::r--
mask::rw-
other::r--


+表示该文件有ACL权限
 

[root@localhost home]# ll test.txt
-rw-rw-r--+ 1 root root 6 4月   7 23:09 test.txt
-rw-rw-r--+ 1 root root 6 4月   7 23:09 test.txt
-代表普通文件
d代表普通目录
后九位代表rwx权限
第一个root代表属主
第二个root代表属组
字节为6个

添加-x 删除用户对文件的权限

[root@localhost home]# setfacl -x u:alice test.txt
[root@localhost home]# getfacl test.txt
file: test.txt
owner: root
group: root
user::rw-
user:u04:rw-
user:tom:rwx
group::r--
mask::rwx
other::r--



添加-b 删除所有的ACL扩展的权限

[root@localhost home]# setfacl -b test.txt
[root@localhost home]# getfacl test.txt
file: test.txt
owner: root
group: root
user::rw-
group::r--
other::r--


最大有效权限 mask
系统赋予的ACL权限需要与mask的权限相与,相与之后的权限才是用户的真正权限

[root@localhost home]# setfacl -m mask::rx file1
[root@localhost home]# getfacl file1
file: file1
owner: root
group: root
user::rw-
user:tom:rw- #effective:r--           //effective有效的
user:alice:r--
group::r--
group:edu01:rwx #effective:r-x
mask::r-x
other::r--

由上述实例可知,mask影响设置的acl权限,并不影响所有用户

default:继承

使用default命令会可以继承上一个目录的权限

[alice@localhost home]$ setfacl -m d:u:alice:rwx dir01

SUID权限:任何用户在执行该文件时,其身份是该文件的属主

第一行的第4个字符是“s", 表示特殊权限SUID

[root@localhost ~]# ll /usr/bin/passwd -rwsr-xr-x. 1 root root 27856 4月 1 2020 /usr/bin/passwd

SGID权限:在一个程序上添加SGID,用户执行过程中会获得该程序用户组的权限

在一个目录上添加SGID,该目录创建的新文件会继承属组

Sticky权限:添加Sticky后,当用户具有w,x权限,再该目录下建立的文件或目录,仅有自己和root才有权删除

设置sticky权限:

[root@localhost ~]# chmod o+t /home/diree
[root@localhost ~]# ll -d /home/diree
drwxrwxrwt. 2 root root 6 4月   9 17:30 /home/diree

查看临时文件目录权限

[root@localhost ~]# ll -d /tmp
drwxrwxrwt. 86 root root 8192 4月   9 18:04 /tmp

为了区分目录/文件是否含有x权限,系统会以特殊的权限大小写方式给予提示
当符号为大写T时,表示不含有x权限
当符号为小写t时,表示含有x权限

文件属性chattr

Linux会使用chattr命令改变文件的隐藏属性,但其仅对 EXT2/EXT3/EXT4文件系统完整有效,其他文件系统可能仅支持部分隐藏属性或者根本不支持隐藏属性

创建三个文件 file01 file02 file03

[root@localhost ~]# touch file01 file02 file03
[root@localhost ~]# ls
anaconda-ks.cfg  file01  file02  file03  file.txt  initial-setup-ks.cfg

查看文件的隐藏属性

[root@localhost ~]# lsattr file01 file02 file03
---------------- file01
---------------- file02
---------------- file03


使用man工具查看chattr命令的使用方式

[root@localhost ~]# man chattr


为文件file01加入a属性

[root@localhost ~]# chattr +a file01
[root@localhost ~]# lsattr file01 file02
-----a---------- file01
---------------- file02


加入a属性后,不能使用vim编辑器编辑文件,只能使用echo/cat的多行编辑对文件进行追加,不能覆盖,一般用户日志文件 

 

删除隐藏属性a

[root@localhost ~]# chattr -a file01
[root@localhost ~]# lsattr file01
---------------- file01

为文件加入隐藏属性i 

[root@localhost ~]# chattr +i file02
[root@localhost ~]# vim file02
[root@localhost ~]# rm -r file02
rm:是否删除普通空文件 "file02"?y
rm: 无法删除"file02": 不允许的操作
[root@localhost ~]# echo 'sa' >> file02
bash: file02: 权限不够


i属性,使文件不接受任何形式的修改,只能读取
 

 

进程掩码umask

当用户创建新的目录/文件时,系统会赋予目录/文件一个默认的权限

umask的作用就是制定权限的默认值

新建的目录如果全局可读写执行,基本权限应该是777,但是实际只有755

新建的文件基本权限为644

因为umask要强制去掉group和other写的权限,同时系统默认不赋予执行权限

umask值表示要减掉的权限
 

[root@localhost ~]# umask 0777
[root@localhost ~]# mkdir dir002
[root@localhost ~]# touch file002
[root@localhost ~]# ll -d dir002
d---------. 2 root root 6 4月   9 19:01 dir002
[root@localhost ~]# ll file002
----------. 1 root root 0 4月   9 19:01 file002
[root@localhost ~]#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值