‘壹’ Linux常用命令之--ACL(getfacl,setfacl)
ACL可以为某个文件单独设置该文件具体的某用户或组的权限,不走三类权限位
默认 ACL 权限的作用是:如果给父目录设定了默认 ACL 权限,那么父目录中所有新建的子文件都会继承父目录的 ACL 权限。但是要加 -R
※ACL权限更高,会先查看ACL再看传统的权限。如果没有ACL才会走三类权限位
※如果一个用户在ACL的user中一个权限,他所在的ACL的group中是另外一个权限,会按照user权限来
• getfacl <文件名>
获取文件的访问控制信息
• setfacl设置文件的acl
-m修改文件的acl
-x取消用户或组对文件的权限
语法:
• setfacl –m u:用户名:权限 <文件名> 设置某用户名的访问权限
• setfacl –m g:组名:权限 <文件名> 设置某个组的访问权限
例1: 想要实现这个↓需求
user1:rwx,user2:rw-,user3:r-x,user4:r--,user5:--x,user6:-w-,
传统权限无法满足上述要求,这时就可以用↓命令进行权限添加
建一个名字为1的文件,查看文件1的权限↓
设置权限
修改后看文件1的权限↓
例2:
有组A(groupA)和组B(groupB)两个组,文件1所属于A组,如果通过三类权限位设置文件权限,其他用户没有任何权限,而B组为其他用户,因此无法对文件1进行任何操作。这时可以通过ACL给组B设置权限:
setfacl -m g:groupB:r 1 B组里的所有成员就有读权限了
• setfacl –x u:用户名 <文件名> //取消某用户的访问权限
• setfacl –x g:组名 <文件名> //取消某个组的访问权限
❉↑这时是将这个user或group的ACL整个删除,如果只是想删除某一个权限,还是需要setfacl -m来进行重新设置
例3:
setfacl -m d:u:qin:rwx /caiwubu
d:default,即将caiwubu这个文件夹的权限对qin开放rwx权限,getfacl /caiwubu的时候会发现有一条default:user:qin:rwx。即在/caiwubu文件夹里 新建 的文件夹以及文件对qin的权限都为rwx,但是之前已经存在的文件及文件夹的权限在修改ACL权限之前是什么现在还是什么
setfacl -x u:qin /caiwubu/zhangben 取消qin这个用户对该文件的acl权限
取消qin这个用户对该文件的acl权限
❀如果这个文件给两个及两个以上的用户设定了ACL,取消其中一个用户的权限可以用这个命令。但是如果这个文件只给一个用户设定了ACL且想删除ACL,或者想把该文件里所有的ACL权限都删除的话,需要用↓的命令
setfacl -b /caiwubu/zhangben
关于权限列的.和+:
ls -lZ :
① drwxrwxrwt. root root system_u:object_r:tmp_t:s0 tmp
② dr-xr-xr-x root root system_u:object_r:boot_t:s0 boot
③ drwxrwxr-x+ root root unconfined_u:object_r:admin_home_t:s0 DCGH-DIR
Linux权限列的点不是无意义字符
・在开启SELinux的情况下创建的目录和文件有这个点,权限列有这个点说明该目录或文件设置了SELinux相关的权限①
・在禁用SELinux权限之后,在之前开启SELinux权限时创建的文件或目录保持原来的权限不便,权限列的点依然显示,而新创建的目录或文件在权限列无这个点显示②
・权限列中最后一个位置如果是加号,说明这个目录或文件已经设置了ACL权限相关的内容。如果加号存在,则已经有点的目录或文件中的点的显示会被覆盖,但原来的SELinux属性保持不变
‘贰’ acl配置命令华为
这是为了解决ARP攻击问题的一种做法:
0806 ffff代表ARP协议
24 0x0806在报文中的第24位开始位置
64010101 ffffffff 代表某个确定的ip地址
40(上面的这个IP地址在报文中的第40位
1)全局配置deny所有源IP是网关的arp报文(自定义规则)
ACL num 5000
rule 0 deny 0806 ffff 24 64010101 ffffffff 40
rule 1 permit 0806 ffff 24 000fe2003999 ffffffffffff 34
rule0目的:把整个3026C_A端口冒充网关的ARP报文禁掉,其中蓝色部分64010101是网关ip地址的16进制表示形式:100.1.1.1=64010101。
rule1目的:把上行口的网关ARP报文允许通过,蓝色部分为网关3552的mac地址000f-e200-3999。
扩展
一、华为技术有限公司是一家生产销售通信设备的民营通信科技公司,于1987年正式注册成立,总部位于中国广东省深圳市龙岗区坂田华为基地。
二、华为是全球领先的信息与通信技术(ICT)解决方案供应商,专注于ICT领域,坚持稳健经营、持续创新、开放合作,在电信运营商、企业、终端和云计算等领域构筑了端到端的解决方案优势,为运营商客户、企业客户和消费者提供有竞争力的ICT解决方案、产品和服务。
三、并致力于实现未来信息社会、构建更美好的全联接世界。2013年,华为首超全球第一大电信设备商爱立信,排名《财富》世界500强第315位。截至2016年底,华为有17万多名员工,华为的产品和解决方案已经应用于全球170多个国家,服务全球运营商50强中的45家及全球三分之一的人口。
‘叁’ ACL的命令
假设服务器群所在vlan1,办公楼所在vlan2
1、创建时间范围列表
hexin#configure terminal
hexin(config)#time-range webtime
hexin(config-time-range)#periodic daily 8:00 to 18:00
hexin(config-time-range)#exit
2、创建访问列表
hexin#configure terminal
hexin(config)#ip access-list extended webpermit
hexin(config-ext-nacl)#permit tcp any any eq www time-range webtime
hexin(config-ext-nacl)#deny tcp any any time-range webtime
hexin(config-ext-nacl)#permit ip any any time-range webtime
hexin(config-ext-nacl)#exit
3、应用访问列表
hexin#configure terminal
hexin(config)#inter vlan 2
hexin(config-if)#ip access-group webpermit out
hexin(config-if)#exit
4、测试
‘肆’ Cisco packet tracer ACL 命令
假定PC1地址是192.168.1.1,PC2地址是192.168.2.1,路由已设置好,互相能PING通,PC1接在路由器e0口。
自反ACL如下:
Router(config)#ip acce ext refin //refin是访问控制列表名,随意定
Router(config-ext-nacl)#per icmp host 192.168.1.1 host 192.168.2.1 echo ref abc //允许PC1 ping PC2
Router(config-ext-nacl)#exit
Router(config)#ip acce ext refout
Router(config-ext-nacl)#evalu abc
Router(config-ext-nacl)#exit
Router(config)#int e0 //在e0接口上作绑定
Router(config-if)#ip access-g refin in
Router(config-if)#ip access-g refout out
Router(config-if)#end
Router#
友情提示:
Boson NetSim 和Cisco Packet Tracer二款模拟器没有
evaluate 以及 reflect 命令行配置,因此不能做自反ACL实验。
以上配置是在实机上完成。