linux下文件扩展权限ACL的设置.docx
- 文档编号:6638009
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:8
- 大小:16.08KB
linux下文件扩展权限ACL的设置.docx
《linux下文件扩展权限ACL的设置.docx》由会员分享,可在线阅读,更多相关《linux下文件扩展权限ACL的设置.docx(8页珍藏版)》请在冰豆网上搜索。
linux下文件扩展权限ACL的设置
linux下文件扩展权限ACL的设置
2010-03-1623:
32:
14
标签:
ACL权限linux设置文件
文件扩展权限限制ACL
用户大家对Linux/Unix的UGO权限管理方式一定不陌生.为了实现一些比较复杂的权限管理,往往不得不创建很多的组,并加以详细的记录和区分这是一件很麻烦的事。
为了能使某一个用户对某一文件指定一个权限,比如对某一个特定的文件,用户A可以读取,用户B所在的组可以修改,惟独用户B不可以……。
于是就有了IEEEPOSIX1003.1e这个ACL的标准。
ACL的出现专门解决了这个问题。
下面我们来探讨下ACL在实际生活中的应用。
扩展acl的一些基本语法
getfacl-d文件的默认权限
setfacl-m设置扩展权限
|u针对用户设置扩展权限
|g针对组置扩展权限
|d设置默认权限
|m设定统一收回么个选项
-k移除默认acl条目
-R权限递归
-x取消特定权限
setfacl-想取消宽展权限
首先我们要在linux加载硬盘acl功能的支持
#vim/etc/fstab
/rich ext3 defaults,acl 12
在default后面加入acl然后重新挂载硬盘
#mount–oremount|/home
查看验证下是否添加成功
#mount(看/etc/fstab中添加的内容是否正常出现)新文件apple
#touchapple
#getfaclapple
#su-aaa
$vim/root/apple
这里我们发现permissiondenied无写权限
$su-root
#setfaclu:
aaa:
rwx
$vim/root/apple
这里我们就可以正常写入了,我们下面添加一个组
$su-root
#getfaclg:
nasasha:
rw
#su-nasasha
$vim/root/apple
#touchfile1
#ls-lfile1
-rw-r--r--1rootroot7Dec1100:
28file1
查看文件缺省的ACL,这时这个文件除了通常的UGO的权限之外,并没有ACL:
#getfaclfile1
#file:
file1
#owner:
root
#group:
root
user:
:
rw-
group:
:
r--
other:
:
r-
下面添加几个用户和组,一会我将使用ACL赋予他们不同的权限:
#groupaddtestg1
#useraddtestu1
#useraddtestu2
#usermod-Gtestg1testu1
切换到用户testu1
#sutestu1
$echo"testu1">>file1
bash:
file1:
Permissiondenied
失败了。
因为file1并不允许除了root以外的用户写。
我们现在就通过修改file1的ACL赋予testu1足够的权限:
#setfacl-mu:
testu1:
rwfile1
#sutestu1
$echo"testu1">>file1
$catfile1
testu1
修改成功了,用户testu1可以对file1做读写操作了。
我们来看一下file1的ACL:
$getfaclfile1
#file:
file1
#owner:
root
#group:
root
user:
:
rw-
user:
testu1:
rw-
group:
:
r--
mask:
:
rw-
other:
:
r-
我们ls看一下:
#ls-lfile1
-rw-rw-r--+1rootroot7Dec1100:
28file1
如果仔细看的话,我们会发现权限末尾有个“+”号,这个说明file1设置了ACL,接下来我们修改一下testu1的权限,同时给testg1这个组以读的权限:
#setfacl-mu:
testu1:
rwx,g:
testg1:
rfile1
#getfaclfile1
#file:
file1
#owner:
root
#group:
root
user:
:
rw-
user:
testu1:
rwx
group:
:
r--
group:
testg1:
r--
mask:
:
rwx
other:
:
r-
:
#setfacl-mmask:
:
rfile1]#getfaclfile1
#file:
file1
#owner:
root
#group:
root
user:
:
rw-
user:
testu1:
rwx#effective:
r--
group:
:
r--
group:
testg1:
r--
mask:
:
r--
other:
:
r--
#ls-lfile1
-rw-r--r--+1rootroot7Dec1100:
28file1
删除已有的ACL项
#setfacl-xg:
testg1file1
#getfaclfile1
#file:
file1
#owner:
root
#group:
root
user:
:
rw-
user:
testu1:
rwx
group:
:
r--
mask:
:
rwx
other:
:
r--
我们看到testg1的权限已经被去掉了。
如果需要去掉所有的ACL可以用-b选项。
所有的ACL项都会被去掉。
#setfacl-bfile1
#getfaclfile1
#file:
file1
#owner:
root
#group:
root
user:
:
rw-
group:
:
r--
other:
:
r--
#setfacl--setu:
:
rw,u:
testu1:
rw,g:
:
r,o:
:
-file1
#getfaclfile1
#file:
file1
#owner:
root
#group:
root
user:
:
rw-
user:
testu1:
rw-
group:
:
r--
mask:
:
rw-
other:
:
---
目录的默认ACL
]#setfacl-d--setg:
testg1:
rwxdir1
]#getfacldir1
#file:
dir1
#owner:
root
#group:
root
user:
:
rwx
group:
:
r-x
other:
:
r-x
default:
user:
:
rwx
default:
group:
:
r-x
default:
group:
testg1:
rwx
default:
mask:
:
rwx
default:
other:
:
r-x
建立一个文件试试:
#touchdir1/file1
#getfacldir1/file1
#file:
dir1/file1
#owner:
root
#group:
root
user:
:
rw-
group:
:
r-x#effective:
r--
group:
testg1:
rwx#effective:
rw-
mask:
:
rw-
other:
:
r--
备份和恢复ACL
#getfacl-Rdir1>dir1.acl
#ls-ldir1.acl
total16
-rw-r--r--1rootroot310Dec1221:
10dir1.acl
我们用-b选项删除所有的ACL数据,来模拟从备份中回复的文件和目录:
#setfacl--restoredir1.acl
#getfacl-Rdir1
#file:
dir1
#owner:
root
#group:
root
user:
:
rwx
group:
:
r-x
other:
:
r-x
default:
user:
:
rwx
default:
group:
:
r-x
default:
group:
testg1:
rwx
default:
mask:
:
rwx
default:
other:
:
r-x
#file:
dir1/file1
#owner:
root
#group:
root
user:
:
rw-
group:
:
r-x#effective:
r--
group:
testg1:
rwx#effective:
rw-
mask:
:
rw-
other:
:
r--
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 下文 扩展 权限 ACL 设置