博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RHEL7普通权限、特殊权限、acl的设置
阅读量:7199 次
发布时间:2019-06-29

本文共 4783 字,大约阅读时间需要 15 分钟。

文件基本权限

  •   rwx    r-x     r-x     user1  user1  FILENAME
    类型 拥有者的权限 所属组的权限 其他人的权限 拥有者  属组   对象

对于文件:r读  w写  x执行

对于目录:r读(看到目录里面有什么) ls

w建文件、删除、移动 touch mkdir rm mv cp
x进入 cd
第一个表示文件的类型,如d目录,-(f)普通文件,L链接,b块设备,c字符设备,p管道文件,s套接字文件
修改权限的相关命令:
chmod
chmod [ugoa][+-=][rwx] 文件或目录

使用数字表示权限

r=4,w=2,x=1,用户权限=4+2+1=rwx

[root@localhost ~]# chmod 622 a.txt

[root@localhost ~]# ll a.txt
-rw--w--w- 1 root root 0 Feb 15 07:52 a.txt
[root@localhost ~]#

chown

作用:修改文件拥有者和所属组
语法:chown USER:GROUP 对象
chown USER 对象
chown :GROUP 对象
[root@localhost ~]# chown rm:bin a.txt
[root@localhost ~]# ll a.txt
-rw--w--w- 1 rm bin 0 Feb 15 07:52 a.txt
[root@localhost ~]# chown daemon a.txt
[root@localhost ~]# ll a.txt
-rw--w--w- 1 daemon bin 0 Feb 15 07:52 a.txt
[root@localhost ~]# chown :sys a.txt
[root@localhost ~]# ll a.txt
-rw--w--w- 1 daemon sys 0 Feb 15 07:52 a.txt

-R递归(目录下的所有内容全部更改,否则只修改目录)

[root@localhost ~]# chown rm test/ -R
[root@localhost ~]# ll -d test/
dr-xr-xr-x 2 rm root 30 Feb 15 08:21 test/
[root@localhost ~]# ll test/
total 0
-rw-r--r-- 1 rm root 0 Feb 15 08:21 a.txt
-rw-r--r-- 1 rm root 0 Feb 15 08:21 b.txt

一个文件只有读的权限,拥有者是否可以写这个文件? 文件所有者一定可以写文件

[root@localhost ~]# ll /home/rm/rm.txt
-r--r--r-- 1 rm rm 30 Feb 15 08:01 /home/rm/rm.txt
[root@localhost ~]# su - rm
[rm@localhost ~]$ vim rm.txt
结果:可以正常写入,注意:保存时用wq!

特殊权限:

SUID SGID Stickybit
s对应的数值为:u 4,g 2,o 1
SUID:
限定:只能设置在二进制可执行程序上面。对目录文本设置无效。
功能:程序运行时的权限从执行者变更成程序所有者。
[root@localhost ~]# which passwd
/usr/bin/passwd
[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jan 29 2014 /usr/bin/passwd

[root@localhost ~]# which less

/usr/bin/less
[root@localhost ~]# less /etc/shadow ##root用户可以通过less访问passwd文件
[root@localhost ~]# 
[root@localhost ~]# su - u01
上一次登录:五 12月 8 03:03:06 CST 2017pts/1 上
[u01@localhost ~]$ less /etc/shadow
/etc/shadow: 权限不够
[root@localhost ~]# chmod u+s /usr/bin/less
等同于
[root@localhost ~]# chmod 4755 /usr/bin/less
[u01@localhost ~]$ less /etc/shadow ##可以通过less访问shadow和passwd文件
[u01@localhost ~]$ less /etc/passwd

SGID

限定:既可以给二进制可执行程序设置,也可以给目录设置。
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组
[root@localhost ~]# mkdir 123
[root@localhost ~]# id u01
uid=2022(u01) gid=2022(u01) 组=2022(u01)
[root@localhost ~]# chown :u01 123/
[root@localhost ~]# ll -d 123
drwxr-xr-x. 2 root u01 6 12月 8 04:38 123
[root@localhost ~]# touch 123/123.txt
[root@localhost ~]# ll 123
总用量 0
-rw-r--r--. 1 root root 0 12月 8 04:39 123.txt

加上SGID

[root@localhost ~]# chmod g+s 123
[root@localhost ~]# touch 123/456.txt
[root@localhost ~]# ll 123
总用量 0
-rw-r--r--. 1 root root 0 12月 8 04:39 123.txt
-rw-r--r--. 1 root u01 0 12月 8 04:41 456.txt

Stickybit

限定:只作用于目录
功能:目录下创建的文件只有root、文件创建者、目录所有者才能删除
[root@localhost ~]# ll -d /tmp/
drwxrwxrwt. 14 root root 4096 Feb 15 09:08 /tmp/

[root@localhost ~]# chmod 1777 /share/

[root@localhost ~]# ll -d /share/
drwxrwxrwt 2 root root 6 Feb 15 09:10 /share/

[u01@localhost ~]$ cd /share/

[u01@localhost share]$ ls
[u01@localhost share]$ touch 123.txt

[root@localhost ~]# useradd u02

[root@localhost ~]# su - u02
[u02@localhost ~]$ cd /share/
[u02@localhost share]$ rm -rf 123.txt
rm: cannot remove ‘123.txt’: Operation not permitted

扩展ACL

[root@localhost ~]# ll 123.txt 

-rw-r--r--. 1 root root 64 12月 8 01:16 123.txt

[root@localhost ~]# getfacl 123.txt ##查看acl权限

file: 123.txt

owner: root

group: root

user::rw-

group::r--
other::r--

[root@localhost ~]# setfacl -m u:u01:rw 123.txt ##设置acl给u01用户读写的权限

[root@localhost ~]# getfacl 123.txt

file: 123.txt

owner: root

group: root

user::rw-

user:u01:rw-
group::r--
mask::rw-
other::r--

对目录进行设置

[root@localhost ~]# setfacl -R -m u:u02:rw 123
(-R一定要在-m前面,表示目录下所有文件)

[root@localhost ~]# getfacl !$

getfacl 123

file: 123

owner: root

group: u01

flags: -s-

user::rwx

user:u02:rw-
group::r-x
mask::rwx
other::r-x

删除acl

[root@localhost ~]# setfacl -x u:u01 123.txt #删除单个用户的acl权限
[root@localhost ~]# setfacl -b 123.txt #删除所有用户的acl权限

实战-创建一个让root都无法删除的黑客文件

Linux文件系统扩展属性:chattr(添加权限) lsattr(取消权限)
+a 只能追加内容
+i 不能被修改

[root@localhost ~]# echo "123456" >123.txt 

[root@localhost ~]# cat 123.txt 
123456
[root@localhost ~]# chattr +a 123.txt 
[root@localhost ~]# echo "789" >123.txt 
-bash: 123.txt: 不允许的操作
[root@localhost ~]# echo "789" >>123.txt 
[root@localhost ~]# cat 123.txt 
123456
789
[root@localhost ~]# rm -rf 123.txt 
rm: 无法删除"123.txt": 不允许的操作
[root@localhost ~]# chattr +i 123.txt 
[root@localhost ~]# echo "123456" >>123.txt 
-bash: 123.txt: 权限不够

[root@localhost ~]# lsattr 123.txt ##查看

----ia---------- 123.txt
[root@localhost ~]# chattr -i 123.txt ##取消i权限
[root@localhost ~]# chattr -a 123.txt ##取消a权限
[root@localhost ~]# lsattr 123.txt 
---------------- 123.txt

实际应用:

[root@localhost ~]# chattr +a /etc/passwd
[root@localhost ~]# chattr +a /etc/shadow

##还能针对日志文件进行设置

本文转自信自己belive51CTO博客,原文链接: http://blog.51cto.com/11638205/2048699,如需转载请自行联系原作者

你可能感兴趣的文章
crate安装使用
查看>>
ASP.NET MVC 基于角色的权限控制系统的示例教程
查看>>
java8 collectors
查看>>
小程序 403
查看>>
angular 子元素访问父元素的$scope
查看>>
oracle导出 dmp文件
查看>>
使用SVG和VML绘制WebGis地理信息
查看>>
eclipse导入android源码
查看>>
Spring AOP原理及简单应用
查看>>
Ubuntu 16.04 安装 RabbitMQ
查看>>
动态代理-JDK动态代理的内部实现
查看>>
Solaris pack link
查看>>
redis集群之哨兵模式
查看>>
mysql left() right() 字符串截取
查看>>
布隆过滤器
查看>>
Ecmall优惠券增加按照固定时间过期功能[TianYan教程]
查看>>
SQLSERVER随机数 随机范围处理方法
查看>>
cocos2dx的对象的内存释放
查看>>
模板特化疑问
查看>>
李京:中国科技大学移动平台——掌上科大
查看>>