163手机移动网站,企业网站seo网址,公司让我做网站,品牌建设有待加强前言#xff1a;
ACL是什么#xff1f;
ACL#xff08;Access Control List#xff09;是一种权限控制机制#xff0c;用于在Linux系统中对文件和目录进行细粒度的访问控制。传统的Linux权限控制机制基于所有者、所属组和其他用户的三个权限类别#xff08;读、写、执行…前言
ACL是什么
ACLAccess Control List是一种权限控制机制用于在Linux系统中对文件和目录进行细粒度的访问控制。传统的Linux权限控制机制基于所有者、所属组和其他用户的三个权限类别读、写、执行而ACL则允许管理员为文件和目录添加更多的用户和组以控制其访问权限。
通过使用ACL管理员可以为特定用户或组设置特定的权限而不局限于默认的所有者、所属组和其他用户。例如管理员可以允许某个用户只读取文件而阻止其修改或删除文件。 增加 [rootlocalhost ~]# mkdir /project 添加测试目录 [rootlocalhost ~]# useradd zs 添加测试用户 [rootlocalhost ~]# useradd ls 添加测试组 [rootlocalhost ~]# groupadd tgroup 将用户添加到组 [rootlocalhost ~]# gpasswd -a zs tgroup 正在将用户“zs”加入到“tgroup”组中 [rootlocalhost ~]# gpasswd -a ls tgroup 正在将用户“ls”加入到“tgroup”组中 查看创造的组是否正常建立 cat /etc/group 修改目录的所有者和所属组 [rootlocalhost ~]# chown root:tgroup /project [rootlocalhost ~]# ll -d /project drwxr-xr-x. 2 root tgroup 6 2月 23 18:35 /project 设定需要的权限 [rootlocalhost ~]# chmod 770 /project [rootlocalhost ~]# ll -d /project drwxrwx---. 2 root tgroup 6 2月 23 18:35 /project 为临时用户分配权限
首先我们需要添加临时用户 [rootlocalhost ~]# useradd tempuser [rootlocalhost ~]# passwd tempuser 为临时用户分配特定权限 [rootlocalhost ~]# setfacl -m u:tempuser:rx /project [rootlocalhost ~]# getfacl /project getfacl: Removing leading / from absolute path names # file: project # owner: root # group: tgroup user::rwx user:tempuser:r-x group::rwx mask::rwx other::--- 查看目录权限注意表示文件或目录有acl权限 [rootlocalhost ~]# ll -d /project drwxrwx--- 2 root tgroup 6 2月 23 18:35 /project 验证ACL权限
切换到临时用户tempuser [rootlocalhost ~]# su tempuser [tempuserlocalhost root]$ 验证可以进入project目录 [tempuserlocalhost root]$ cd /project [tempuserlocalhost project]$ 验证不能在project中创建文件 [tempuserlocalhost project]$ touch test.txt touch: 无法创建test.txt: 权限不够 控制组的ACL权限
创建一个temp组 [tempuserlocalhost project]$ su root 密码 [rootlocalhost project]# groupadd temp 设置组的ACL [rootlocalhost project]# setfacl -m g:temp:rx /project 查看设置后ACL [rootlocalhost project]# getfacl /project getfacl: Removing leading / from absolute path names # file: project # owner: root # group: tgroup user::rwx user:tempuser:r-x group::rwx group:temp:r-x mask::rwx other::--- 创建一个用户 [rootlocalhost project]# useradd tempu02 [rootlocalhost project]# passwd tempu02 将用户添加到temp组中 [rootlocalhost project]# gpasswd -a tempu02 temp 正在将用户“tempu02”加入到“temp”组中 验证 [rootlocalhost project]# su tempu02 #可以进入目录 [tempu02localhost project]$ cd /project #不能创建文件 [tempu02localhost project]$ touch aa.txt touch: 无法创建aa.txt: 权限不够 删除ACL权限 # 删除指定ACL权限 [rootlocalhost ~]# setfacl -x u:tempuser /project [rootlocalhost ~]# getfacl /project getfacl: Removing leading / from absolute path names # file: project # owner: root # group: tgroup user::rwx group::rwx group:temp:r-x mask::rwx other::--- # 删除所有ACL权限 [rootlocalhost ~]# setfacl -b /project [rootlocalhost ~]# getfacl /project getfacl: Removing leading / from absolute path names # file: project # owner: root # group: tgroup user::rwx group::rwx other::--- # 注意 权限没有 [rootlocalhost ~]# ll -d /project drwxrwx---. 2 root tgroup 6 8月 23 13:07 /project 总之ACL权限是Linux系统中一种更灵活的权限控制机制允许管理员为文件和目录设置细粒度的访问控制。