ACL权限实例讲解之基础一

本文讲解Linux系统中的ACL权限。(只针对文件,针对目录的讲解放在下一篇)
首先,我们要明白什么是ACL权限。ACL的英文说法是”access control list”,翻译为中文是”访问控制列表”的意思。其实说的就是某一特定用户对某一特定文件的操作权限。下面用1个实际的例子讲解一下:

怎样使得qs这个用户对root用户的acltest1文件有读写权限(qs这个用户和root用户不在同一个用户组里边,也就是说,对于acltest1这个文件来说,qs用户属于”others”)?

或许你会说,这不很简单嘛!将acltest1这个文件的”ugo”三者中的”o”赋予”rw”权限(即让”others”可以读写)不就可以了么。

这样做固然可以。但是,这样做的话,其他用户像zhangsan lisi等等不都可以对acltest1这个文件进行读写了吗?这与我们的设想是不一样的(我们只想qs这个用户对root用户的acltest1文件有读写权限,并没有说其他用户也可以)。

那么,针对这样的问题,就用到了我们的ACL权限。

[qs@qs ~]$ su - #切换到root用户
Password: 
[root@qs qs]# touch acltest1 #使用root用户创建acltest1文件
[root@qs qs]# ll !$ #查看acltest1文件的属性
ll acltest1
-rw-r--r-- 1 root root 0 Jul 23 11:01 acltest1
[root@qs qs]# cat !$ #查看acltest1文件的内容(刚刚创建,是空的)
cat acltest1
[root@qs qs]# getfacl !$ #查看acltest1文件的ACL权限(未设置)
getfacl acltest1
# file: acltest1
# owner: root
# group: root
user::rw-
group::r--
other::r--

[root@qs qs]# exit #切换到qs用户
exit
[qs@qs ~]$ whoami
qs
[qs@qs ~]$ echo hello >> acltest1 #qs用户向acltest1文件写东西(失败!!!)
bash: acltest1: Permission denied 
[qs@qs ~]$ su - #切换到root用户
Password: 
[root@qs qs]# setfacl -m u:qs:rw acltest1 #设定ACL权限!!!
[root@qs qs]# exit #切换到qs用户
exit
[qs@qs ~]$ echo hello >> acltest1 #设定ACL权限之后,qs用户向acltest1文件写东西(成功!!!)
[qs@qs ~]$ cat acltest1 
hello
[qs@qs ~]$ getfacl acltest1 #查看acltest1文件的ACL权限
# file: acltest1
# owner: root
# group: root
user::rw-
user:qs:rw- #这里就是ACL权限
group::r--
mask::rw-
other::r--

[qs@qs ~]$ 

好了,本文暂时讲这么多,这也是ACL权限比较基础和常用的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值