精华内容
下载资源
问答
  • ACL给予用户和管理员更好控制文件读写和权限赋予的能力,商业Unix和NTFS以及Freebsd都支持文件系统ACL,Linux从2.6内核开始支持对Ext2,Ext3和XFS,JFS等文件系统ACL支持。注意,Fedora Core从2开始支持ACL操作

    ACL是访问控制列表(Access Control Lists)的缩写,对于Unix系统,
    ACL是标准Unix文件属性(r,w)的附加扩展。ACL给予用户和管理员
    更好控制文件读写和权限赋予的能力,商业Unix和NTFS以及Freebsd都
    支持文件系统的ACL,Linux从2.6内核开始支持对Ext2,Ext3和XFS,JFS
    等文件系统的ACL支持。
    注意,Fedora Core从2开始支持ACL操作,虽然好像并不支持JFS和ReiserFS。


    打开文件系统的ACL支持,修改/etc/fstab的mount属性,例如针对这样的
    /home文件系统,
    LABEL=/home /home ext3 rw,acl 1 2
    该行第四列原文为defaults,现改为rw,acl以开启文件系统的ACL支持。
    可以在线中心挂载文件系统,
    # mount -v -o remount /home
    当然umount掉文件系统,再mount也是可以的,只要确信没有用户和程序
    在使用这个文件系统,可以通过mount命令来查看修改是否生效,
    # mount -l
    之后,输出中有这样的行就正确了,
    /dev/hda5 on /home type ext3 (rw,acl) [/home]

    ACL操作命令
    getfacl - 取得文件的ACL信息
    setfacl - 设置文件的ACL信息
    基本命令就是这么两条。

    getfacl很简单,可以返回文件当前的ACL信息,例如在一个CVSROOT下的passwd
    有这样的属性,
    # getfacl passwd

    # file: passwd
    # owner: cvsadmin
    # group: cvsadmin
    user::rw-
    group::r--
    other::r--

    可以用setfacl加上相关属性,例如加上allen用户可写到刚才我们看到的
    passwd文件,
    # setfacl -m u:allen:rw- passwd
    这个命令可以这样解释:增加用户(u)用户名(allen)可读写权限(rw-)到
    文件passwd。这样之后再执行getfacl,看看结果,
    # getfacl passwd

    # file: passwd
    # owner: cvsadmin
    # group: cvsadmin
    user::rw-
    user:allen:rw-
    group::r--
    mask::rw-
    other::r--
    可以看到多出了行user:allen:rw-,表示allen用户有rw-权限。

    mask权限,就是用一个固定的权限设置遮住其他的权限设置,这样可以获得比较
    好的保护,因为用户最终对文件的权限将是由设置的权限和mask运算出来的
    有效权限,例如执行下面的设置,
    # setfacl -m mask::r-- passwd
    # getfacl passwd
    # file: passwd
    # owner: cvsadmin
    # group: cvsadmin
    user::rw-
    user:allen:rw- #effective:r--
    group::r--
    mask::r--
    other::r--
    我们可以看到allen用户对于passwd文件的有效(effective)权限经计算
    为r--。
    如果setfacl命令不指定操作用户,那么就是对默认属主用户权限的操作,这时候
    的setfacl命令功能上和传统的chmod相同。例如setfacl u::rwx,g::rwx,o::rwx
    filename 等价于chmod 777 filenmae。
    更多的setfacl操作
    -x 删除特定用户的权限设置,例如setfacl -x u:allen
    filename,删除filenmae上allen用户的权限设置。
    删除所有的ACL设置,
    setfacl -b filename
    setfacl --remove-all filename
    递归选项 -R
    此外,ACL的属性设置也可以写在一个文件中,使用setfacl的-M参数从
    文件中取得设置信息,这个对成批设置和备份ACL设置恢复特别有效。
    默认ACL设置,setfacl -d可以设置,只供目录以及目录继承使用。

    cp和mv命令对于ACL的支持,mv命令保持ACL设置信息,cp命令在
    使用-p,-a参数时保留ACL设置信息。但是如果从一个支持ACL的文件系统向
    一个不支持ACL的文件系统移动或带ACL属性的拷贝,则会得到类似下面这样的错误提示,
    cp: preserving permissions for `filename': Operation not supported
    设置了ACL的文件在ls -l时可以看到这样的情况,
    -rw-rw----+ 1 allen chen 0 Jun 2 09:52 filename
    有个加号在第一个列的末尾。

    可以这样备份ACL信息和恢复,
    getfacl -R dir/ > acl.bak.txt
    setfacl --restore acl.bak.txt

    打包备份ACLs目录和文件
    请使用star命令打包,参数-acl用于指定备份相关的ACL信息。
    备份:star -Hexustar -acl -c f=Tree.star Tree
    恢复:star -acl -x f=Tree.star

    ACL的应用,主要可以用在共享文件时需要细分用户权限的地方,如CVS仓库的权限控制应用等方面,ACL都有很好的用途。

    ******
    ACL 在权限继承问题:
    setfacl -m u:tset:rwx /test
    意为增加test用户 对/test目录拥有完全权限

    setfacl -m -d u:tset:rwx /test
    意为增加test用户 对/test目录拥有完全权限并且默认继承。

    原文地址 http://asus1024.it.com.cn/articles/274027.htm

    展开全文
  • Linux文件系统ACL介绍

    千次阅读 2010-09-10 12:22:00
    ACL给予用户和管理员更好控制文件读写和权限赋予的能力,商业Unix和NTFS以及Freebsd都支持文件系统ACL,Linux从2.6内核开始支持对Ext2,Ext3和XFS,JFS等文件系统ACL支持。 注意,Fedora Core从2开始支持...

    简介
    ACL是访问控制列表(Access Control Lists)的缩写,对于Unix系统,ACL是标准Unix文件属性(r,w)的附加扩展。ACL给予用户和管理员更好控制文件读写和权限赋予的能力,商业Unix和NTFS以及Freebsd都支持文件系统的ACL,Linux从2.6内核开始支持对Ext2,Ext3和XFS,JFS等文件系统的ACL支持。
    注意,Fedora Core从2开始支持ACL操作,虽然好像并不支持JFS和ReiserFS。

    打开文件系统的ACL支持,修改/etc/fstab的mount属性,例如针对这样的
    /home文件系统,LABEL=/home /home ext3 rw,acl 1 2
    该行第四列原文为defaults,现改为rw,acl以开启文件系统的ACL支持。
    可以在线中心挂载文件系统,
    # mount -v -o remount /home
    当然umount掉文件系统,再mount也是可以的,只要确信没有用户和程序在使用这个文件系统,可以通过mount命令来查看修改是否生效,
    # mount -l
    之后,输出中有这样的行就正确了,
    /dev/hda5 on /home type ext3 (rw,acl) [/home]

    ACL操作命令
    getfacl - 取得文件的ACL信息
    setfacl - 设置文件的ACL信息
    基本命令就是这么两条。

    getfacl很简单,可以返回文件当前的ACL信息,例如在一个CVSROOT下的passwd
    有这样的属性,
    # getfacl passwd
    # file: passwd
    # owner: cvsadmin
    # group: cvsadmin
    user::rw-
    group::r--
    other::r--

    可以用setfacl加上相关属性,例如加上allen用户可写到刚才我们看到的passwd文件
    # setfacl -m u:allen:rw- passwd
    这个命令可以这样解释:增加用户(u)用户名(allen)可读写权限(rw-)到文件passwd。这样之后再执行getfacl,看看结果,
    # getfacl passwd

    # file: passwd
    # owner: cvsadmin
    # group: cvsadmin
    user::rw-
    user:allen:rw-
    group::r--
    mask::rw-
    other::r--
    可以看到多出了行user:allen:rw-,表示allen用户有rw-权限。

    mask权限,就是用一个固定的权限设置遮住其他的权限设置,这样可以获得比较好的保护,因为用户最终对文件的权限将是由设置的权限和mask运算出来的有效权限,例如执行下面的设置
    # setfacl -m mask::r-- passwd
    # getfacl passwd
    # file: passwd
    # owner: cvsadmin
    # group: cvsadmin
    user::rw-
    user:allen:rw- #effective:r--
    group::r--
    mask::r--
    other::r--
    我们可以看到allen用户对于passwd文件的有效(effective)权限经计算为r--。如果setfacl命令不指定操作用户,那么就是对默认属主用户权限的操作,这时候的setfacl命令功能上和传统的chmod相同。例如setfacl u::rwx,g::rwx,o::rwx
    filename 等价于chmod 777 filenmae。
    更多的setfacl操作
    -x 删除特定用户的权限设置,例如setfacl -x u:allen
    filename,删除filenmae上allen用户的权限设置。
    删除所有的ACL设置
    setfacl -b filename
    setfacl --remove-all filename
    递归选项 -R
    此外,ACL的属性设置也可以写在一个文件中,使用setfacl的-M参数从文件中取得设置信息,这个对成批设置和备份ACL设置恢复特别有效。默认ACL设置,setfacl -d可以设置,只供目录以及目录继承使用。

    cp和mv命令对于ACL的支持,mv命令保持ACL设置信息,cp命令在使用-p,-a参数时保留ACL设置信息。但是如果从一个支持ACL的文件系统向一个不支持ACL的文件系统移动或带ACL属性的拷贝,则会得到类似下面这样的错误提示:
    cp: preserving permissions for `filename': Operation not supported
    设置了ACL的文件在ls -l时可以看到这样的情况,
    -rw-rw----+ 1 allen chen 0 Jun 2 09:52 filename
    有个加号在第一个列的末尾。

    可以这样备份ACL信息和恢复
    getfacl -R dir/ > acl.bak.txt
    setfacl --restore acl.bak.txt

    打包备份ACLs目录和文件
    请使用star命令打包,参数-acl用于指定备份相关的ACL信息。
    备份:star -Hexustar -acl -c f=Tree.star Tree
    恢复:star -acl -x f=Tree.star
    ACL的应用,主要可以用在共享文件时需要细分用户权限的地方,如CVS仓库的权限控制应用等方面,ACL都有很好的用途。

    ******
    ACL 在权限继承问题:
    setfacl -m u:tset:rwx /test
    意为增加test用户 对/test目录拥有完全权限

    setfacl -m -d u:tset:rwx /test
    意为增加test用户 对/test目录拥有完全权限并且默认继承。

    展开全文
  • 可以精细化特定mount namespace中的文件系统访问控制。 过年回家前治愈无聊缓解乏力。 有时间还能写写用户态配置程序,学学怎么编程。 对于不会编程的我来讲,这就是小惊喜,小收获了。 PS:我依然喜欢...

    近日,我将一个基于eBPF实现的SandFS中的eBPF部分摘除了,形成了一个单纯的SandFS框架:
    https://github.com/marywangran/sandfs_with_no_ebpf

    纳尼?eBPF大红大紫之时,我竟然反其道而行之,这不犯了形而上学的错误了吗?

    没错,事实上我摘除它的原因是因为这个原生的eBPF-based-SandFS在我的两个开发环境中均没有编译通过:

    • CentOS 7-3.10内核:llvm 8.0.1未安装成功,因为glibc版本太低。
    • Ubuntu 19.10-5.3内核,SandFS-Kernel编译失败,没时间折腾。

    然而我又非常喜欢SandFS这个框架:

    • 没有修改VFS本身的代码,而是通过实现一个wrap fs来嫁接eBPF字节码。
      我想让它运行起来,我在去深圳的火车上就想让它运行起来。

    同时,我又特别特别喜欢Netfilter,于是我就想让为SandFS嫁接一个类似的Filter,来完成我无能为力的eBPF Program的功能,就这样。


    完成代码后,暂时没有时间写类似iptables的用户态程序用来灌入策略,那就写了几个内核态的测试case,完成下面的小功能:

    1. 用户zhaoya的uid为1000,以zhaoya登录一次不能读取超过10字节的文件内容,一次只能读取最多10字节。
    2. 不能往任何文件里写skinshoe这个单词。
    3. 不能读取根目录下名称为key的文件。

    效果如下:
    在这里插入图片描述
    其中testread的代码如下:

    // gcc testread.c -o testread
    #include<stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <fcntl.h>
    
    int main(int argc, char **argv)
    {
    	int fd;
    	int len, ret;
    	char buf[1024] = {0};
    
    	len = atoi(argv[2]);
    
    	fd = open(argv[1], O_RDONLY);
    
    	ret = read(fd, buf, len);
    	perror("read");
    	printf("%s\n", buf);
    
    	return 0;
    }
    

    我的三个测试case代码如下:

    #define TEST
    #ifdef TEST
    
    static int test_read_func(unsigned int hook, struct sandfs_args *args, void *priv, int *handled)
    {
    	int ret = FS_ACCEPT;
    	struct sandfs_args *largs = args;
    	kuid_t id;
    	size_t count;
    	struct cred *cred;
    
    	cred = (struct cred *)largs->args[SANDFS_IDX_CRED].value;
    	id = cred->uid;
    	count = *((size_t *)largs->args[SANDFS_IDX_COUNT].value);
    	if (id.val == 1000 && count > 10) {
    		printk("#### test read deny request\n");
    		ret = FS_DROP;
    	}
    	*handled = 1;
    	return ret;
    }
    
    static int test_write_func(unsigned int hook, struct sandfs_args *args, void *priv, int *handled)
    {
    	int ret = FS_ACCEPT;
    	struct sandfs_args *largs = args;
    	size_t count;
    	char *buf;
    
    	count = largs->args[SANDFS_IDX_BUF].size;
    	buf = (char *)largs->args[SANDFS_IDX_BUF].value;
    	if (strnstr(buf, "skinshoe", count)) {
    		printk("#### test write deny request\n");
    		ret = FS_DROP;
    	}
    	*handled = 1;
    	return ret;
    }
    
    static int test_lookup_func(unsigned int hook, struct sandfs_args *args, void *priv, int *handled)
    {
    	int ret = FS_ACCEPT;
    	struct sandfs_args *largs = args;
    	size_t len;
    	char *path;
    
    	len = largs->args[SANDFS_IDX_PATH].size;
    	path = (char *)largs->args[SANDFS_IDX_PATH].value;
    	if (!strncmp(path, "/key", len)) {
    		printk("#### test lookup deny request\n");
    		ret = FS_DROP;
    	}
    	*handled = 1;
    	return ret;
    }
    
    static struct vfs_rule test_read_rule = {
    	.name = "test read",
    	.func = test_read_func,
    	.hooknum = SANDFS_READ,
    };
    
    static struct vfs_rule test_write_rule = {
    	.name = "test write",
    	.func = test_write_func,
    	.hooknum = SANDFS_WRITE,
    };
    
    static struct vfs_rule test_lookup_rule = {
    	.name = "test lookup",
    	.func = test_lookup_func,
    	.hooknum = SANDFS_LOOKUP,
    };
    #endif
    

    完成的代码在sandfs_with_no_ebpf的devel分支,等待实现了用户态配置程序之后再进行一次merge:
    https://github.com/marywangran/sandfs_with_no_ebpf

    当然,很多人会觉得这个东西没有意义,没有技术含量,太简单,这些都无所谓,它的意义是特定于我自己的:

    • 可以精细化特定mount namespace中的文件系统访问控制。
    • 过年回家前治愈无聊缓解乏力。
    • 有时间还能写写用户态配置程序,学学怎么编程。

    对于不会编程的我来讲,这就是小惊喜,小收获了。

    PS:我依然喜欢用####来做打印前缀,因为它一目了然,容易在日志文件中快速匹配。可能是我不懂更正规的做法吧,希望有人能教我。


    浙江温州皮鞋湿,下雨进水不会胖!

    展开全文
  • 将基于 Windows NT 4.0 的计算机升级至 Windows Server 2003 时,“Windows 安装程序”不会更改该注册表和文件系统 ACL。Windows Server 2003 允许更高级别的安全性,并且它处理注册表和文件系统权限的方式有别于 ...



    将基于 Windows NT 4.0 的计算机升级至 Windows Server 2003 时,“Windows 安装程序”不会更改该注册表和文件系统 ACL。Windows Server 2003 允许更高级别的安全性,并且它处理注册表和文件系统权限的方式有别于 Windows NT 4.0。Microsoft 建议您将 Windows 2003 ACL 应用到从 Windows NT 4.0 升级的计算机上。

    要应用注册表和文件系统 ACL,您可以使用“安全配置和分析”管理单元。请注意,您必须是“Administrators”组的成员,才能执行此过程。

    如何在从 Windows NT 4.0 升级至 Windows Server 2003 的计算机上应用默认的系统安全设置

    1.以“Administrator”或“Administrators”组成员的身份登录。
    2.单击开始,单击运行,在打开 框中键入 mmc,然后单击确定
    3.文件 菜单上,单击“添加/删除管理单元”。
    4.单击添加、“安全配置和分析”、添加,单击关闭,然后单击确定
    5.在控制台树中,右键单击“安全配置和分析”,然后单击打开数据库
    6.指定数据库的名称(例如,upgdbase)和位置,然后单击打开
    7.在屏幕上出现的导入模板 对话框中,单击设置 Security.inf,然后单击打开
    8.右键单击“安全配置和分析”,然后单击现在分析计算机
    9.在屏幕上出现的执行分析 对话框中,接受“错误日志文件路径”框中显示的默认日志文件路径,或指定所需的位置,然后单击确定

    将对该模板安全设置与现有的计算机设置进行比较。

    备注:此时,不会对计算机进行任何更改。此过程的结果表明模板中的安全设置与实际系统设置有何区别。
    10.完成分析时,展开控制台树中的各个组件,例如:帐户策略本地策略事件日志受限制的组,以及系统服务
    11.对于在第 10 步中展开的每个组件,请在策略 列的右窗格中查看它的安全属性项,而且要注意以下几点:
    带有绿色选中标记的项表示当前计算机设置与数据库中的安全设置相同。
    带有红色“x”的项表示当前计算机设置与数据库中的安全设置不同。
    如果未显示绿色选中标记或红色“x”,则未在模板中定义此安全属性,并且也没对其进行分析。

    如果您要添加或修改数据库设置,请右键单击要添加或修改的安全属性,然后单击属性。单击“在数据库中定义这个策略”复选框,将其选中(如果尚未选中),对策略设置进行所需更改,然后单击确定

    备注数据库设置 列会显示模板中包含的安全设置,计算机设置 列会显示计算机的当前设置。
    12.要将计算机配置为使用数据库中的安全设置,请右键单击“安全配置和分析”,然后单击现在配置计算机
    13.在屏幕上出现的配置系统 对话框中,接受默认的路径和日志文件名,或者,键入需要的路径和文件名,然后单击确定

    安全数据库配置会应用于计算机。

    备注:如果该数据库项目和计算机上的现有安全配置之间存在冲突,除非您在配置计算机之前消除二者之间的区别,否则将改写现有项目。
    展开全文
  • acl---文件系统防火墙

    2021-07-31 21:36:57
    Acl--文件系统的防火墙 ,对特定用户设置权限 情境再现:有一个文件我想共享出去,班里面所有人都很听话,但是个别人不听话现在我只想针对某个人不能查看 红帽中的ext3或者ext4都默认带有acl...
  • 1、传统Linux文件系统权限的问题 传统Linux文件系统有三类用户:文件属主-u,组用户-g,其它用户-o,以及三种访问权限:读-r,写-w,执行或目录进入-x,但很多时候并不能满足对文件访问的细微控制,对组用户和其它...
  • 它在UGO权限管理的基础上为文件系统提供一个额外的、更灵活的权限管理机制。 它被设计为UNIX文件权限管理的一个补充。 ACL允许你给任何的用户或用户组设置任何文件/目录的访问权限。 1、针对用户设置权限 2、针对...
  • ext2文件系统源代码之acl.h

    千次阅读 2016-03-13 21:47:10
    今天看一下ext2文件系统源代码的acl.h文件的源代码,这个文件的源代码并不长,不到一百行,注释我都用中文的,希望大家理解应该没有问题,有什么问题欢迎骚扰哦。 首先我想说一下什么是acl,之前的linux系统对于文件...
  • 文件控制ACL

    2016-09-12 18:51:17
    配置 Linux 的访问控制列表(ACL) 编译自:http://xmodulo.com/2014/08/configure-access-control-lists-acls-linux.html 作者: Christopher Valerio 原创:LCTT https://linux.cn/article-3966-1.html ...
  • ext2文件系统源代码之acl.c

    千次阅读 2016-03-13 21:48:32
    今天继续看ext2源代码的acl.c文件,这个文件代码有点多是一些acl权限控制的实现,有点麻烦-_-,代码注释都是中文的,大家有问题随时欢迎骚扰哦 在分析之前,为了不让大家看代码的时候感到有疑惑,给大家科普一下acl...
  • ACL(acess control list) 传统UNIX文件系统:文件访问权限包含三个部分,user / group /...因此出现了ACL这样新型的文件系统设计,从而指定更多具体的用户其访问权限 ACL标准 标准名称 备注 ...
  • 比如某文件的所有者和拥有组是charles,该文件的普通权限是755,也就是说除了charles和root用户以外的用户是没有写入权限的,但是通过通过ACL配置了oliva用户对该文件有写权限,那么oliva用户对该文件是有写权限的。...
  • Linux文件ACL权限

    2017-07-27 16:55:44
    在设置文件或者目录的权限时,有时候需要设置除了所属人,所属组和其他人之外的权限,这时候就用到了ACL(Access Control List)权限。比方说在一个项目的开发过程中,有两个组参与,并且需要除了这两个组的多个人...
  • 使用 NFSv4 ACL文件系统

    千次阅读 2009-11-04 09:49:00
    NFSv4 (Network File System – Version 4) 协议引入了一种新的 ACL(访问控制列表)格式,这种格式扩展了现有的其他 ACL 格式...IBM® AIX®、Sun Solaris 和 Linux® 等操作系统已经在文件系统中实现了 NFSv4 ACL
  • 开篇词 尽管 chmod 命令已经足够强力,但它无法对权限进行更精细的分配,所以 Linux 提供了一些灵活的命令以为特定用户或组指定权限。从 Linux 内核 2.6 开始,我们可以给...获取文件 ACL 我们可以使用 getfacl 命...
  •  Linux系统文件有三种权限,可读(Readable)、可写(writable)、可执行(excutable) 这是比较常见的三种权限,比较常见,这篇就暂且不提。事事都有例外,今天主要来提一提那些例外的事。 首先先看一下例子。...
  • 用法: setfacl 选项【{-m|-x}acl文件或目录 -b 9删除所有附加的ACL条目 -k 删除默认的ACL -m 添加指定的的ACL条目 -x 删除指定的ACL条目 -R 递归处理所有的子文件与子目录 分区工具fdisk用法介绍 ...
  • linux系统ACL的使用:ACL设置参数详解
  • 而对linux 下的文件而言,用户身份分为:所有者, 所属组, 其它人, 且文件的所有者,所属组都只能是一个,所以在对文件分配用户的使用权限时,只能对这三种身份进行分配rwx 权限.Linux 主要作为服务器系统使用,用户...
  • 所有的权限是针对某一类用户设置的,如果希望对某个指定的用户进行单独的权限控制,就需要用到文件的访问控制列表ACL 设定acl只能是root管理员用户. 相关命令: getfacl setfacl acl基本使用方式 环境准备 [root@liza ~...
  • 文件扩展权限ACL

    2018-05-09 15:28:39
    文件扩展权限ACL 扩展ACL :access control list ACL(Access Control List)即访问控制列表。主要是针对单一用户,单一文件或目录进行rwx权限的细部设...
  • 简介Linux系统ACL

    2018-09-06 11:33:16
    1. 一、什么是ACL,及其作用是什么? 传统的权限设置仅有三种身份(ower、group、other),搭配三种权限(read、write、execute),并没有办法单纯针对某一个...getfacl:用于取得某个文件/目录的ACL设置 setfacl...
  • HDFS文件权限及ACL访问控制

    万次阅读 2016-08-27 12:50:45
    Hdfs文件权限及ACL访问控制
  • 文件基本权限-ACL

    2017-02-12 13:23:31
    文件权限管理之: ACL设置基本权限(r、w、x) UGO设置基本权限: 只能一个用户,一个组和其他人 ACL 设置基本权限: r,w,x //Access Control List 访问控制列表 ACL基本用法 设置: [root@localhost ~]# touch /...
  • Grsecurity ACL系统

    2012-02-18 09:16:48
    ACL(Access Control List,访问控制列表)系统是一种软件,它能够为你的计算机提供更好的访问控制。Grsecurity是众多Linux ACL系统中比较典型和成熟的一种。这个文档是grsecurity工程的一个官方文档,是我最近在研究...
  • Attr 权限 和 ACL 访问控制列表 Attr 权限里的 “a” 权限和 “i” 权限 a :全名append only 只允许追加数据,不允许任何用户改动文件(超级用户也不行) 甚至不能正常的删除文件 只能读取文件内容...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 56,053
精华内容 22,421
关键字:

文件系统acl