文档章节

设置文件facl和chattr权限验证 facl

柳白子
 柳白子
发布于 2016/09/30 15:17
字数 1084
阅读 69
收藏 0

3.2:设置文件facl和chattr权限验证 facl:

用命令查看系统上有几个用户

[root@max ~]# cat /etc/passwd|grep -v 'nologin' |cut -d ':' -f 1

root

sync

shutdown

halt

 

// 用grep筛选出可以登录系统的用户,并用cut列出第第一列

发现只有没有合适的用户,我们现在新建两个用户user1 和user2 .新建一个ok文件夹,让其他用户只有读的权限,没有写的权限

[root@max ok]# cd /opt

[root@max opt]# ll

total 4

drwxrwxr-x 2 user1 user1 4096 Sep 30 11:35 ok

[root@max opt]# ll /opt/ok

total 0

-rw-rw-r-- 1 user1 user1 0 Sep 30 11:16 1.txt

-rw-rw-r-- 1 user1 user1 0 Sep 30 11:16 2.txt

-rw-rw-r-- 1 user1 user1 0 Sep 30 11:16 3.txt

-rw-rw-r-- 1 user1 user1 0 Sep 30 11:16 4.txt

-rw-rw-r-- 1 user1 user1 0 Sep 30 11:16 5.txt

-rw-r--r-- 1 user1 root 0 Sep 30 11:34 lili


 

我们现在切换到user2 试着用vi /opt/ok/1.txt 修改一下1.txt 发现无法进行修改。

 

使用getfacl命令查看2.txt的权限

[user2@max ok]$ getfacl 2.txt

# file: 2.txt

# owner: user1

# group: user1

user::rw-

group::rw-

other::r--

//其他用户只有可读的权限

登录user2 ,尝试删除2.txt 发现失败

[user2@max ok]$ rm 2.txt

rm: remove write-protected regular empty file `2.txt'? y

rm: cannot remove `2.txt': Permission denied

[user2@max ok]$


 

现在用setfacl 命令给user2加上权限

[root@max ok]# setfacl -m u:user2:rwx 2.txt // 设置user2对2.txt的acl

[root@max ok]# getfacl 2.txt //查看2.txt的ACL 发现user2已经添加进去了

# file: 2.txt

# owner: user1

# group: user1

user::rw-

user:user2:rwx

group::rw-

mask::rwx

other::r--


 

我们登录user2对2.txt进行操作,发现现在已经可以对2.txt进行编辑和删除了。

现在新建一个用户lilichow,

setfacl -m g:lilichow:rwx 2.txt//将2.txt加入到 lilichow这个组里,但是lilichow用户对2.txt只有执行的权限


 

[root@max ok]# getfacl 2.txt

# file: 2.txt

# owner: user1

# group: user1

user::rw-

user:user2:rwx

group::rw-

group:lilichow:rwx

mask::rwx

other::r--


 

[root@max ok]# ll

total 4

-rw-rwxr--+ 1 user1 user1 52 Sep 30 13:59 2.txt

-rw-rw-r-- 1 user1 user1 0 Sep 30 11:16 3.txt

-rw-rw-r-- 1 user1 user1 0 Sep 30 11:16 4.txt

-rw-rw-r-- 1 user1 user1 0 Sep 30 11:16 5.txt

-rw-r--r-- 1 user1 root 0 Sep 30 11:34 lili

su 到lilichow 用户,然后vi 2.txt 可以对文件进行编辑和保存。

facl已得到验证同理目录也可用此方法。

getfacl   文件/目录 //查看文件的facl                    
setfacl -m u:username:rwx  文件/目录 设置用户对这个文件和目录的ACL
setfacl -m g:groupname:rwx  文件/目录 设置组对这个文件和>  目录的ACL
setfacl -m d:username:rwx  目录 设置目录的默认ACL
setfacl -x m:: 删除mask
setfacl -x u:username 删除username的acl
setfacl -x g:groupname 删除groupname的acl
setfacl -k 目录 删除默认ACL
setfacl -m m::rwx 文件/目录 设置ACL的MASK值规定了能够设置ACL的最高权限


1.对于设置了facl的用户或者组的文件或目录,原权限设置失效以facl设置的为准,其他未设置facl的用户
   或组依然按照原有权限进行限制。
2.face设置了用户和组都存在,那么用户facl生效,组facl不生效
3.facl的mask值是facl能够生效的最大权限
4.2.对于设置了fac

 

Chattr:

lsattr 查看文件或目录的超级权限位

chattr +i 文件不能被删除、改名,同时不> 能写入或新增内容

目录:目录中不能创建文件,修改文件名,不能删除文件

chattr + a 文件 设定文件只能被追加不能修改

目录 可以创建文件,但不能删除或重命名文件
chattr -i/a  取消相应的权限

PS:有时候你发现用root权限都不能修改某个文件,大部分原因是曾经用chattr命令锁定该文件了。chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,不过现在生产绝大部分跑的linux系统都是2.6以上内核了。通过chattr命令修改属性能够提高系统的安全性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var目录。lsattr命令是显示chattr命令设置的文件属性。

 

© 著作权归作者所有

上一篇: DNS服务器配置
柳白子
粉丝 8
博文 118
码字总数 137799
作品 0
成都
私信 提问
Linux基础之权限

权限: ======================================更改文件的所有者和所属组 chown 用户 文件 chown {.|:}组 文件 chown 用户:组 文件 -R recoursive 递归修改,修改目录的时候连带目录的所有子...

胤999
2017/12/27
0
0
ugo,ACL,3s及隐藏权限

ugo权限 实际上是三个权限的缩写:user , group ,other chown 属主:属组 文件名 (更改属主及属组) chmod -v u+rwx 文件名 更改user用户的权限 chmod -v g+rwx 文件名 更改group组的权限...

虚拟化王浩
2017/11/19
0
0
用户的权限管理

用户的权限管理: 1, 普通权限 2,特殊权限 3,文件的特殊属性 4,FACL权限机制 普通权限: 进程安全上下文: 1,判断进程的所者是否为想要操作的文件的属主,若是,就按照属主的权限进行授...

maoyu099236
2017/04/07
0
0
linux初学之——权限管理

上篇已经提到用户和组的管理相关知识,我们已经学会了如何在Linux系统中创建了用户和组,并对用户和组的内容和属性做一些修改。但是我们知道Linux系统是多用户多任务的操作系统,多个合法用户...

孟东
2017/04/05
0
0
FACL和Linux终端

文件访问控制列表 ACL:通俗来说就是设置指定的特定用户或用户组对某个文件的操作权限 FACL:Filesystem Access Control List 利用文件扩展保存额外的访问控制权限 一般的权限应用次序为:O...

Zjing1027
2017/11/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Redis缓存穿透、缓存雪崩和缓存击穿

Redis缓存穿透、缓存雪崩 缓存雪崩,是指在某一个时间段,缓存集中过期失效。 产生雪崩的原因之一,比如在写本文的时候,马上就要到双十二零点,很快就会迎来一波抢购,这波商品时间比较集中...

architect刘源源
17分钟前
3
1
ArrayList源码分析

一、核心变量 // 序列化ID private static final long serialVersionUID = 8683452581122892189L; // 默认初始化容量 private static final int DEFAULT_CAPACITY = 10; ......

星爵22
26分钟前
2
0
++a a++的再次理解

public class Test { //// public static void main(String[] args) throws InterruptedException { // TODO Auto-generated method stub int a=1; int b=2; int c; int d; c=......

南桥北木
26分钟前
1
0
整合Spring和SpringMVC

1.Spring容器和SpringMVC容器的关系 Spring容器是一个父容器,SpringMVC容器是一个子容器,它继承自Spring容器。因此,在SpringMVC容器中,可以访问到Spring容器中定义的Bean,而在Spring容器...

薛小二
26分钟前
0
0
递归实现后序遍历二叉树

问题描述 从键盘接受输入先序序列,以二叉链表作为存储结构,建立二叉树(以先序来建立)并对其进行后序遍历,然后将遍历结果打印输出。要求采用递归方法实现。 解题思路 递归实现 程序实现 ...

niithub
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部