概述
权限管理与归属
- 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 8月 10 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访问控制列表所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复