我是靠谱客的博主 会撒娇热狗,最近开发中收集的这篇文章主要介绍Day5 权限管理与归属1、基本权限2、附加权限(特殊权限)3、ACL访问控制列表,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

权限管理与归属

  • 1、基本权限
    • 1.1 访问方式(权限)
      • 读取:允许查看内容---read
      • 写入:允许修改内容---write
      • 可执行:允许运行和切换---execute
    • 1.2 权限适合对象(归属)
      • 所有者:拥有此文件/目录的用户---user
      • 所属组:拥有此文件/目录的组---group
      • 其他用户:出所有者、所属组以外的用户---other
    • 1.3 查看权限
      • ls -ld 文件或目录
    • 1.4 设置基本权限(rwx)---chmod
      • chomd 权限类别 文件或文档
        • 修改文件`权限(rwx)`
    • 1.5 设置归属权限(拥有者、所属组)---chown
      • chown 选项参数 归属权限 文件路径
        • 修改文件`归属` ---拥有者
        • 修改文件`归属` ---所属组
        • 修改文件`归属` ---拥有者、所属组
  • 2、附加权限(特殊权限)
    • 2.1 Set GID (继承组权限)
      • chmod g + s 目录文件
    • 2.2 Set UID (使用管理员身份)
      • chmod u+s 目录、文件
    • 2.3 Sticky Bit (禁止删除他人创建的目录、文件)
      • chmod o + t 目录文件
  • 3、ACL访问控制列表
    • 3.1 设置用户ACL:setfacl -m u:用户名:权限(rwx) 目录、文件
    • 3.2 设置组ACL:setfacl -m g:组名:权限(rwx) 目录、文件
    • 3.3 查看ACL权限:getfacl 目录、文件
    • 3.4 删除指定ACL策略
      • 删除指定用户ACL:setfacl - x u:用户名 目录、文件
      • 删除指定组ACL:setfacl - x g:组名 目录、文件
      • 删除所有ACL:setfacl - b 目录、文件

1、基本权限

1.1 访问方式(权限)

读取:允许查看内容—read

  • 目录的 r 权限:能够ls浏览此目录内容

写入:允许修改内容—write

  • 目录的 w 权限: 能后执行 rm / mv / cp / mkdir / touch /…等更改目录内容的操作

可执行:允许运行和切换—execute

  • 目录的 x 权限:能够cd切换到此目录

1.2 权限适合对象(归属)

所有者:拥有此文件/目录的用户—user

所属组:拥有此文件/目录的组—group

其他用户:出所有者、所属组以外的用户—other

1.3 查看权限

ls -ld 文件或目录

  • 写入格式:ls -ld 目录或文件路径

参考实例:

[root@Liwj ~]# ls -ld /test
drwxr-xr-x. 3 root root 88 810 15:05 /test
权限位		硬连接数		属主		属组		大小		最后修改时间		文件/目录名称

1.4 设置基本权限(rwx)—chmod

chomd 权限类别 文件或文档

  • 创建目录时,同时设置目录权限 。
mkdir -m 777 /test						#创建/test文件夹,并设置所有人可读、写、执行

在这里插入图片描述

修改目录或文件权限设置

参考实例:

chmod 700 /test/						#修改/test文件夹权限为:拥有者可读、写、执行,其他人不可访问

在这里插入图片描述

chmod u=rwx,g+rwx,o--- /test/						
#修改/test文件夹权限为:
拥有者可读、写、执行
所属组可读、写、执行
其他人不可访问

在这里插入图片描述

修改文件权限(rwx)

  • 父、子文件rwx权限不同,可使用【-R】同时修改下级子文件
    在这里插入图片描述
    参考实例:
chmod -R 777 /test
#修改/test文件夹含子文件权限:
拥有者(u):rwx(可读、可写、可执行)
所属组(g):rwx(可读、可写、可执行)
其他用户(o):rwx(可读、可写、可执行)

在这里插入图片描述

1.5 设置归属权限(拥有者、所属组)—chown

  • 可使用递归【-R】同时设置父、子目录文件

chown 选项参数 归属权限 文件路径

  • 归属权限:
拥有者
:所属组
拥有者:所属组

参考实例:

  • 父、子文件归属均为root ;文件夹rwx权限对用户不同
    在这里插入图片描述

修改文件归属 —拥有者

chown -R harry /test
#修改/test文件夹含子文件归属   拥有者为:harry

在这里插入图片描述

修改文件归属 —所属组

chown -R :adminuser /test
#修改/test文件夹含子文件归属   所属组为:adminuser

在这里插入图片描述

修改文件归属 —拥有者、所属组

chown -R root:root /test
#修改/test文件夹含子文件归属   拥有者为:root	所属组为:root

在这里插入图片描述

2、附加权限(特殊权限)

2.1 Set GID (继承组权限)

  • 常用于目录
  • 显示在所属组的x权限位上,
  • 当组有:“x”(执行)权限,则显示“s”;
  • 当组没有“x”(执行)权限,则显示“S”
  • 继承组权限;使得在该目录下创建的文档文件与父目录相同组
  • 所有者 > 所属组 > 其他人

chmod g + s 目录文件


  • 目录“ r ”权限:能够 ls 浏览目录内容
  • 目录“ w ”权限:能够 rm / mv / cp / mkdir / touch 等更改目录内容
  • 目录“ x ”权限:能够 cd 切换到此目录

参考实例:

  • 给目录分配一个组:adminuser,再给组分配附加权限Set GID(g+s),此目录下新增子文件继承父目录权限
    在这里插入图片描述
[root@svr7 ~]# ls -ld /test01/							#查看父目录权限
drwxr-sr-x. 2 root adminuser 6 8月  15 13:02 /test01/							
[root@svr7 ~]# mkdir /test01/f01						#父目录下新增子目录
[root@svr7 ~]# ls -ld /test01/f01						#查看子目录权限
drwxr-sr-x. 2 root adminuser 6 8月  15 13:09 /test01/f01						#对比父目录权限一致

在这里插入图片描述

2.2 Set UID (使用管理员身份)

  • 显示在所有者的x权限位上,
  • 当所有者有:“x”(执行)权限,则显示“s”;
  • 当所有者没有“x”(执行)权限,则显示“S”
  • 适用于执行文件,让使用者具有所有者的权限

chmod u+s 目录、文件


参考实例:

  • 复制一个mkdir程序(/usr/bin/mkdir),命名为:userdir,并赋予UID权限
[root@svr7 ~]# cp /usr/bin/mkdir /usr/bin/userdir					#复制mkdir并命名userdir
[root@svr7 ~]# chmod u+s /usr/bin/userdir							#赋予UID权限
  • 使用其他用户登录,使用userdir在根目录可以创建新目录
[a1@svr7 root]$ userdir /test03										#根目录创建/test03目录
[a1@svr7 root]$ ls /												#a1用户可创建目录
bin   dev  etc   lib    mnt     opt   protected  run   srv  test01  tmp  var
boot  dvd  home  lib64  nsddir  proc  root       sbin  sys  test03  usr  vod	

  • 使用其他用户登录,使用mkdir在根目录不可以创建新目录
[a1@svr7 root]$ mkdir /test02										#根目录创建/test02目录
mkdir: 无法创建目录"/test02": 权限不够									#a1无法在根创建目录
[a1@svr7 root]$ 

2.3 Sticky Bit (禁止删除他人创建的目录、文件)

  • 显示在其他人的x权限位上,
  • 当其他人有:“x”(执行)权限,则显示“t”;
  • 当其他人没有“x”(执行)权限,则显示“T”
  • 适用于开放“ w ”权限的目录,阻止用户滥用 “ w ”写入权限

chmod o + t 目录文件


参考实例:

  • 附有“ t ” 权限的目录下
[root@svr7 ~]#		 chmod o+t /test01/

  • 用户:a1 > 创建子文件
[a1@svr7 root]$ 	mkdir /test01/a1
  • 用户:a4 > 无法删除 / 修改 a1 子文件
[a4@svr7 root]$ 	rm -rf /test01/a1
rm: 无法删除"/test01/a1": 不允许的操作

3、ACL访问控制列表

  • acl访问策略:能够对个别用户、组 设置独立的权限
  • 大多数挂载的 EXT3/4、XFS文件系统默认已支持

3.1 设置用户ACL:setfacl -m u:用户名:权限(rwx) 目录、文件

  • 可添加【 - R 】选项,于子目录一同设置

参考实例:

  • 当用户没有权限访问目录时
[a1@svr7 root]$ 	ls /test01/
ls: 无法打开目录/test01/: 权限不够
  • 使用ACL权限赋予 a1用户 读、执行( r x )权限
[root@svr7 ~]# setfacl -m u:a1:rx /test01/
  • 此时,a1用户可以访问该目录
[a1@svr7 root]$ ls /test01/
a1

3.2 设置组ACL:setfacl -m g:组名:权限(rwx) 目录、文件

  • 可添加【 - R 】选项,于子目录一同设置

  • 新建一个“mk”组,添加a2用户到组里面
[root@svr7 ~]# groupadd mk
[root@svr7 ~]# gpasswd -a a2 mk
正在将用户“a2”加入到“mk”组中
  • 使用ACL权限赋予mk 组 读、执行( r x )权限
[root@svr7 ~]# setfacl -m g:mk:rx /test01/
  • 重新登录账户后,此时mk组内的成员可以访问
[a2@svr7 root]$ ls /test01/
a1

3.3 查看ACL权限:getfacl 目录、文件

  • 查看目录文件访问控制列表
[root@svr7 ~]# 	getfacl /test01/						#查看/test目录具体访问权限
getfacl: Removing leading '/' from absolute path names
# file: test01/
# owner: root
# group: root
# flags: -s-
user::rwx
user:a1:r-x
group::rwx
group:mk:r-x
mask::rwx
other::---

3.4 删除指定ACL策略

删除指定用户ACL:setfacl - x u:用户名 目录、文件

[root@svr7 ~]# setfacl -x u:a1 /test01/						#删除/test01目录的a1用户的ACL访问
[root@svr7 ~]# getfacl /test01/								#与上面参考,已删除a1用户访问
getfacl: Removing leading '/' from absolute path names
# file: test01/
# owner: root
# group: root
# flags: -s-
user::rwx
group::rwx
group:mk:r-x
mask::rwx
other::---

删除指定组ACL:setfacl - x g:组名 目录、文件

[root@svr7 ~]# setfacl -x g:mk /test01/						#删除/test01目录的mk组的ACL访问
[root@svr7 ~]# getfacl /test01/								#与上面参考,已删除mk组访问
getfacl: Removing leading '/' from absolute path names
# file: test01/
# owner: root
# group: root
# flags: -s-
user::rwx
group::rwx
mask::rwx
other::---

删除所有ACL:setfacl - b 目录、文件

[root@svr7 ~]# 	setfacl -b /test01/						#删除/test01目录所有ACL访问
[root@svr7 ~]# getfacl /test01/
getfacl: Removing leading '/' from absolute path names
# file: test01/
# owner: root
# group: root
# flags: -s-
user::rwx
group::rwx
other::---

最后

以上就是会撒娇热狗为你收集整理的Day5 权限管理与归属1、基本权限2、附加权限(特殊权限)3、ACL访问控制列表的全部内容,希望文章能够帮你解决Day5 权限管理与归属1、基本权限2、附加权限(特殊权限)3、ACL访问控制列表所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(34)

评论列表共有 0 条评论

立即
投稿
返回
顶部