Welcome 微信登录

首页 / 操作系统 / Linux / Linux系统中文件权限ACL功能

通过ACL功能配置的权限优先级高于通过chmod命令配置的普通权限,比如某文件的所有者和拥有组是charles,该文件的普通权限是755,也就是说除了charles和root用户以外的用户是没有写入权限的,但是通过通过ACL配置了oliva用户对该文件有写权限,那么oliva用户对该文件是有写权限的。在使用“ls -l”或“ll”命令浏览文件或目录时,在权限部分多了一个“+”表示该文件或目录已经配置了ACL功能。[root@srv tmp]# lltotal 8drwxrwxr-x+ 2 root root 4096 Feb 15 23:25 ada配置分区支持ACL功能在RHEL 5.x中只有在安装操作系统时建立的分区才支持ACL功能,其他分区在默认情况下是不支持ACL功能。如果希望让那些在安装操作系统完成后建立的分区支持ACL功能可以使用以下几种方法。(1)      使用tune2fs命令。tune2fs功能非常多,但这里重点说明与ACL有关的功能。使用tune2fs命令让一个分区永久支持ACL功能,该命令配置分区支持ACL的语法如下。tune2fs -o acl 分区在下面的例子中使用tune2fs命令使/dev/sda12永久支持ACL功能,在配置完成后,可通过“tune2fs -l分区”命令查看。l  使/dev/sda12永久支持ACL功能[root@srv ~]# tune2fs -o acl /dev/sda12l  使用-l选项可查看分区的配置情况。[root@srv ~]# tune2fs -l /dev/sda12    tune2fs 1.39 (29-May-2006)Filesystem volume name:   <none>Last mounted on:          <not available>Filesystem UUID:          8c54398d-e4c8-4777-9d09-26eed1041049Filesystem magic number:  0xEF53Filesystem revision #:    1 (dynamic)Filesystem features:      has_journal resize_inode dir_index filetype sparse_super#在“Default mount options:”的值中包括“acl”就说明该分区支持ACL功能。Default mount options:    aclFilesystem state:         cleanErrors behavior:          ContinueFilesystem OS type:       Linux(2)      使用mount命令。使用mount命令让一个分区临时支持ACL功能(在重新启动计算机后ACL会失效),该命令配置分区支持ACL的语法如下。mount -o remount,acl 分区mount -o acl 分区 挂载点使用mount命令让一个分区临时支持ACL功能时,可以使用以上二种方式。第一种使用在分区已经被挂载的情况,也就是说这个分区已经在使用但还不支持ACL功能,在不影响分区使用的情况下重新挂载分区使其支持ACL功能;第二种使用在一开始挂载分区时就使其支持ACL功能。在下面的例子中使用mount命令使分区临时ACL功能,在配置完成后,可通过“mount”命令查看。l  使用mount命令使一个已经挂载的分区(/dev/sda13)支持ACL功能。[root@srv ~]# mount -o remount /dev/sda13l  使用mount命令挂载/dev/sda14分区并支持ACL功能。[root@srv ~]# mount -o acl /dev/sda14 /media/sda14[root@srv ~]# mount   #使用mount命令查看。/dev/sda7 on / type ext3 (rw)proc on /proc type proc (rw)sysfs on /sys type sysfs (rw)devpts on /dev/pts type devpts (rw,gid=5,mode=620)/dev/sda8 on /tmp type ext3 (rw)/dev/sda6 on /var type ext3 (rw)/dev/sda3 on /home type ext3 (rw)/dev/sda2 on /usr type ext3 (rw)/dev/sda5 on /usr/local type ext3 (rw)/dev/sda1 on /boot type ext3 (rw)tmpfs on /dev/shm type tmpfs (rw)/dev/sda10 on /media/sda10 type ext3 (rw)/dev/sda11 on /media/sda11 type ext3 (rw,acl)none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)none on /proc/fs/vmblock/mountPoint type vmblock (rw)sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)#如果分区支持ACL功能时,在挂载信息中会显示出来。/dev/sda13 on /media/sda13 type ext3 (rw,acl)/dev/sda14 on /media/sda14 type ext3 (rw,acl)(3)      修改/etc/fstab文件,使分区永久支持ACL功能。在/etc/fstab文件中在需要支持ACL功能分区的挂载选项列中加上“,acl”即可使分区永久支持ACL功能。在下面/etc/fstab文件的例子中/dev/sda10就支持ACL功能。在修改/etc/fstab文件后,为了让配置生效需要重新启动计算机或使用“mount -o remount 分区”命令。
[root@srv ~]# cat /etc/fstab<?XML:NAMESPACE PREFIX = O />
LABEL=//ext3defaults        1 1
LABEL=/tmp/tmpext3    defaults        1 2
LABEL=/var/varext3    defaults        1 2
LABEL=/home/homeext3    defaults        1 2
LABEL=/usr/usrext3    defaults        1 2
LABEL=/usr/local/usr/localext3    defaults        1 2
LABEL=/boot/bootext3    defaults        1 2
tmpfs/dev/shmtmpfs   defaults        0 0
devpts/dev/ptsdevpts  gid=5,mode=620  0 0
sysfs/syssysfs   defaults        0 0
proc/procproc    defaults        0 0
LABEL=SWAP-sda9swap                    swap                    defaults        0 0
/dev/sda10/media/sda10ext3    defaults,acl0 0

提示:通过tune2fs命令使分区支持ACL功能后,通过mount命令是无法查看到的,通过修改/etc/fstab使分区支持ACL功能后,通过mount命令可以查看到分区支持ACL功能。setfacl:配置文件或目录的ACL在配置了分区支持ACL功能后,就可以使用setfacl命令让文件或目录使用ACL功能配置更精细的权限。在Linux中对文件或目录的权限是可读、可写入、可执行,ACL功能可对不用户的用户配置这些权限,该命令语法如下。setfacl [-bkdR] [{-m|-x} <ACL规则>] 文件|目录...常用选项:l  文件|目录...:需要配置ACL的文件或目录。l  -m:更改文件或目录的ACL规则。l  -x:删除文件或目录指定的ACL规则。l  -b:删除文件或目录所有ACL规则。l  -k:删除文件或目录默认的ACL规则。l  -d:指定文件或目录默认的ACL规则。l  --test:测试模式,不会改变任何文件或目录的ACL规则,操作后的ACL规格将被显示。l  -R:递归处理,将指定目录下的所有文件及子目录一并处理。在该命令中指定ACL规则可以使用以下几种方式。(1)      [d:]u:<UID|用户>:权限:指定用户的ACL,[d:]表示配置用户对文件或目录的默认的ACL,权限可以使用字符或数字。(2)      [d:]g:<GID|用户组>:权限:指定用户的ACL,[d:]表示配置用户对文件或目录的默认的ACL,权限可以使用字符或数字。(3)      [d:]o:权限:相关于普通权限中其他用户的权限,[d:]表示配置用户对文件或目录的默认的ACL,权限可以使用字符或数字。(4)      [d:] m:权限:指定有效权限,[d:]表示配置的默认的权限,权限可以使用字符或数字。
  • 1
  • 2
  • 3
  • 下一页
在Linux下如何确定网卡所使用驱动程序将Arch GNU/Linux 安装到磁盘文件(loop)相关资讯      Linux教程 
  • Linux教程:如何在命令行中查看目  (07/28/2014 12:22:23)
  • Linux 修改root密码  (11/03/2012 07:53:38)
  • su - root 与su root的区别  (06/06/2012 00:39:40)
  • Linux进程间通信:消息队列  (01/28/2013 09:43:00)
  • U盘安装Linux开机无法启动解决方法  (10/07/2012 08:55:52)
  • Windows 7/Linux 同步时间  (05/15/2012 06:17:55)
本文评论 查看全部评论 (0)
表情: 姓名: 字数