ACL访问控制 getfacl 、setfacl 命令

ACL是Access Control List 访问控制列表的缩写,在Linux中ACL可以对单一用户或组的设定访问文件的权限,其优势为让权限控制更加精细化,如:marking.txt文件为市场部文件,管理员拥有该文件的rwx权限,市场部组也拥有该文件的rwx权限,其他人无权限,新招的市场部新员工小王正处于试用期,管理员不想给小王对marking.txt文件的全部权限,只想给他查看该文件的权限,那么这种情况下,使用我们传统的属主属组other权限就无法做到这一点,这时我们可以考虑使用ACL访问控制的解决办法。

ACL策略的作用:在无法试用常规的权限设置时,我们可以使用ACL访问控制列表对某个用户或组进行设定访问文件的权限。

getfacl 命令用于查看文件的ACL策略及权限,其语法格式如下:

getfacl [选项] file

常用选项:
无,一般不接选项即可;

演示示例:

[root@nginx ~]# getfacl  file1 
# file: file1
# owner: root
# group: nginx
user::rwx
group::r--
other::r--

setfacl命令用于给文件针对某个用户或某个组设置ACL策略,其语法格式如下:

setfacl [选项] mode file

常用选项:

-m			:修改acl策略
-x			:删除某个用户或组的权限
-b			:删除所有的acl策略
-R			:递归,级联

mode表示权限设置:

u:用户名:权限		例如  u:oracle:rw
g:组名:权限 			例如 u:macking:r

演示示例:

[root@nginx /]# ll file1 										#先查看文件的权限
-rwxrwx--- 1 root root 7 Oct  5 22:32 file1
[root@nginx /]# su oracle										#切换到Oracle用户,Oracle用户属于other类型
[oracle@nginx /]$ cat file1 									#显示没有权限查看
cat: file1: Permission denied
[root@nginx /]# getfacl  file1 									#查看原来的权限位
# file: file1
# owner: root
# group: root
user::rwx
group::rwx
other::---

[root@nginx /]# setfacl -m u:oracle:wrx file1 					#给Oracle用户设置acl策略,使之能读写执行file1文件
[root@nginx /]# getfacl  file1 
# file: file1
# owner: root
# group: root
user::rwx
user:oracle:rwx													#这里就加多了一行,增加了Oracle的权限
group::rwx
mask::rwx
other::---

[root@nginx /]# su oracle
[oracle@nginx /]$ cat file1 									#oracle用户能正常查看file1文件了
dsdsds
[oracle@nginx /]$ ll file1 
-rwxrwx---+ 1 root root 7 Oct  5 22:32 file1					#发现权限为多了一个+号
[oracle@nginx /]$ 
[root@nginx /]# setfacl -b file1								#删除所有ACL策略
[root@nginx /]# getfacl file1 									#查看删除acl策略后的文件发现没有了acl策略了
# file: file1
# owner: root
# group: root
user::rwx
group::rwx
other::---
[root@nginx /]# setfacl -m g:macking:r file1 					#对macking组设置acl策略
[root@nginx /]# getfacl file1 
# file: file1
# owner: root
# group: root
user::rwx
group::rwx														#这个是原来的属组的权限的,不要看错哦
group:macking:r--												#这是我们刚才对macking组添加的acl策略
mask::rwx
other::---

[root@nginx /]# setfacl -R  -m g:macking:r /usr/local/nginx/	#-R表示递归,级联

[root@nginx /]# setfacl -x u:oracle file1						#删除某个用户的acl策略
[root@nginx /]# setfacl -x g:dba file1							#删除某个组的acl策略

总结

当无法使用传统的文件权限控制时我们可以使用ACL访问控制策略实现权限的精细化控制,如,marking.txt文件为市场部文件,管理员拥有该文件的rwx权限,市场部组也拥有该文件的rwx权限,其他人无权限,新招的市场部新员工小王正处于试用期,管理员不想给小王对marking.txt文件的全部权限,只想给他查看该文件的权限。
1、getfacl [选项] file1									#查看文件的acl策略
2、setfacl -m u:oracle:rw file1							#给予Oracle用户对file1文件的rw权限
3、setfacl -m g:macking:r file1							#给予macking组对file1文件的r权限
4、setfacl -R -m g:macking:rwx /usr/local/nginx/		#递归级联给予macking组对nginx目录的rwx权限
5、setfacl -x u:oracle file1							#删除Oracle用户对file1文件的rw权限
6、setfacl -x g:macking file1							#删除macking组对file1文件的权限
7、setfacl -b  file1									#全部删除file1文件的acl策略
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用方法,解压到本地目录,配置path,即可在dos下使用linux命令。 windows下能直接执行的linux命令,基本包括日常所有,如:[.exe grolbp.exe regtool.exe a2p.exe grolj4.exe rm.exe a2p5.10.0.exe grops.exe rmdir.exe addftinfo.exe grotty.exe rmt.exe addr2line.exe gzip.exe run.exe alternatives.exe head.exe runcon.exe ar.exe hostid.exe rxvt.exe arch.exe hostname.exe scp.exe as.exe hpftodit.exe sdiff.exe ascii.exe i686-pc-cygwin-gcc-3.4.4.exe sed.exe ash.exe i686-pc-cygwin-gcc-3.exe semstat.exe awk.exe i686-pc-cygwin-gcc.exe semtool.exe banner.exe id.exe seq.exe base64.exe indxbib.exe setfacl.exe basename.exe info.exe setmetamode.exe bash.exe infokey.exe sftp-server.exe bigram.exe install-info.exe sftp.exe bunzip2.exe install.exe sh.exe bzcat.exe ipcrm.exe sha1sum.exe bzip2.exe ipcs.exe sha224sum.exe bzip2recover.exe join.exe sha256sum.exe c++filt.exe kill.exe sha384sum.exe cat.exe ld.exe sha512sum.exe cc-3.exe less.exe shmtool.exe cc.exe lessecho.exe shred.exe chcon.exe lesskey.exe shuf.exe chgrp.exe link.exe size.exe chmod.exe lkbib.exe sleep.exe chown.exe ln.exe soelim.exe chroot.exe locate.exe sort.exe cksum.exe login.exe split.exe cmp.exe logname.exe ssh-add.exe code.exe lookbib.exe ssh-agent.exe comm.exe lpr.exe ssh-keygen.exe conv.exe ls.exe ssh-keyscan.exe cp.exe make.exe ssh-keysign.exe cpp-3.exe makeinfo.exe ssh.exe cpp.exe man.exe sshd.exe crypt.exe man2html.exe ssp.exe csplit.exe manpath.exe stat.exe cut.exe md5sum.exe strace.exe cygcheck.exe mkdir.exe strings.exe cygpath.exe mkfifo.exe strip.exe cygrunsrv.exe mkgroup.exe stty.exe cygserver.exe mknod.exe su.exe cygstart.exe mkpasswd.exe sum.exe d2u.exe mkshortcut.exe svn.exe date.exe mktemp.exe svnadmin.exe dd.exe mount.exe svndumpfilter.exe df.exe msgtool.exe svnlook.exe diff.exe mv.exe svnsync.exe diff3.exe nc.exe svnversion.exe dir.exe ngettext.exe sync.exe dircolors.exe nice.exe tac.exe dirname.exe nl.exe tail.exe dlltool.exe nm.exe tar.exe dllwrap.exe nohup.exe tbl.exe dos2unix.exe objcopy.exe tee.exe du.exe objdump.exe test.exe dump.exe od.exe texindex.exe dumper.exe oldfind.exe tfmtodit.exe echo.exe openssl.exe touch.exe editrights.exe passwd.exe tr.exe egrep.exe paste.exe troff.exe env.exe pathchk.exe true.exe envsubst.exe peflags.exe tsort.exe eqn.exe perl.exe tty.exe expand.exe perl5.10.0.exe u2d.exe expr.exe pfbtops.exe umount.exe factor.exe pgawk-3.1.6.exe uname.exe false.exe pgawk.exe unexpand.exe fgrep.exe pic.exe uniq.exe find.exe pinky.exe unix2dos.exe fmt.exe post-grohtml.exe unlink.exe fold.exe pr.exe unprotoize-3.exe frcode.exe pre-grohtml.exe unprotoize.exe gawk-3.1.6.exe printenv.exe users.exe gawk.exe printf.exe vdir.exe gcc-3.exe protoize-3.exe vim.exe gcc.exe protoize.exe wc.exe gcov-3.exe ps.exe which.exe gcov.exe ptx.exe who.exe getclip.exe putclip.exe whoami.exe getfacl.exe pwd.exe windmc.exe gettext.exe ranlib.exe windres.exe gkill.exe readelf.exe xargs.exe gprof.exe readlink.exe xmlwf.exe grep.exe readshortcut.exe xxd.exe grn.exe realpath.exe yes.exe grodvi.exe rebase.exe zdump.exe groff.exe refer.exe zic.exe

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值