Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >3、Linux文件权限和目录权限

3、Linux文件权限和目录权限

作者头像
py3study
发布于 2020-01-07 02:48:21
发布于 2020-01-07 02:48:21
8.9K0
举报
文章被收录于专栏:python3python3

本篇主要讲述:

文件和目录的基本权限;

设置基本权限(chmod,chown,chgrp);

附加权限;

1、基本权限

(1)访问方式(权限)

读取:允许查看内容-read  r

写入:允许修改内容-write   w

可执行:允许运行和切换-execute  x

(2)使用者与群组

权限适用对象(归属)

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

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

其他用户:除所有者、所属组以外的用户-other  o

(3)使用 ls -ld 命令

ls -ld 文件或目录  #查看文件或者目录自身的属性

第一栏代表这个文件的类型与权限;

其中第一个字符

以  - 开头:文本文件

以  d 开头:目录

以  l 开头:快捷方式

接下来的字符中,以三个为一组

第一组为“文件拥有者可具备的权限”

第二组为“加入此群组之帐号的权限”

第三组为“非本人且没有加入本群组之其他帐号的权限”

第二栏表示有多少文件名链接到此节点(i-node)

第三栏表示这个文件(或目录) 的“拥有者帐号”

第四栏表示这个文件的所属群组

第五栏为这个文件的容量大小,默认单位为Bytes

第六栏为这个文件的创建日期或者是最近的修改日期

第七栏为这个文件的文件名

2、设置基本权限

2.1 使用 chmod 命令

chmod  [-R]   归属关系+-=权限类别    文档...

更改权限的方法:

第一种:以数字的形式

r:4 w:2 x:1

[root@server0 ~]# mkdir /nsd01

[root@server0 ~]# ls -ld /nsd01/

drwxr-xr-x. 2 root root 6 11月 24 20:16 /nsd01/

[root@server0 ~]# chmod 777 /nsd01/

[root@server0 ~]# ls -ld /nsd01/

drwxrwxrwx. 2 root root 6 11月 24 20:16 /nsd01/

第二种:符号类型

user=u ; group=g; other=o ; all=a

[root@server0 ~]# chmod u=rwx,g=rw,o=--- /nsd01/

[root@server0 ~]# ls -ld /nsd01/

drwxrw----. 2 root root 6 11月 24 20:16 /nsd01

[root@server0 ~]# mkdir /nsd01

[root@server0 ~]# chmod g+w /nsd01

[root@server0 ~]# chmod u-w /nsd01

[root@server0 ~]# chmod o=rwx /nsd01

[root@server0 ~]# chmod u=rwx,g=rx,o=--- /nsd01

临时切换用户身份:

[root@server0 ~]# su - zhangsan

(不能将 - 去掉,代表所处的环境也切到另一个用户上去了)

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

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

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

总结:在Linux中新建目录默认的权限rwxr-xr-x

           在Linux中新建文件默认的权限rw-r--r--

为什么新建目录或者文件是这样的权限?

umask 命令了解一下

案例:以root用户新建/nsddir/目录,在此目录下新建readme.txt文件,并进一步完成下列操作

1)使用户zhangsan能够在此目录下创建子目录  切换用户  su - zhangsan

chmod o+w  /nsddir/

2)使用户zhangsan不能够在此目录下创建子目录

chmod o-w  /nsddir/

3)使用户zhangsan能够修改readme.txt文件

chmod o+w  /nsddir/readme.txt

4)调整此目录的权限,使所有用户都不能进入此目录

chmod u-x,g-x,o-x  /nsddir/

5)为此目录及其下所有文档设置权限 rwxr-x---

chmod -R  u=rwx,g=rx,o=---  /nsddir/

2.2 使用 chown 命令

设置文档归属

– chown [-R] 属主 文档...

– chown [-R] :属组 文档...

– chown [-R] 属主:属组 文档...

[root@server0 /]# mkdir /nsd03

[root@server0 /]# ls -ld /nsd03

[root@server0 /]# groupadd test

[root@server0 /]# chown zhangsan:test /nsd03

[root@server0 /]# ls -ld /nsd03

[root@server0 /]# chown student  /nsd03

[root@server0 /]# ls -ld /nsd03

[root@server0 /]# chown :root /nsd03

[root@server0 /]# ls -ld /nsd03

2.3使用chgrp命令

change group

chgrp [-R] 组名 文件名/目录名

组名信息存放在/etc/group下

2.4附加权限(特殊权限)

Set GID

在该父目录上操作,属组+s,新建的子目录都会继承父目录的属组

• 附加在属组的 x 位上

– 属组的权限标识会变为 s

– 适用于目录,Set GID可以使目录下新增的文档自动设置与父目录相同的属组(继承)

对于属组而言:

如何判断原来的权限是否有x:

大写S 表示原来属组的权限没有x

小写s表示原来的属组的权限有x

具有继承作用:

[root@server0 ~]# mkdir /nsd06

[root@server0 ~]# ls -ld /nsd06

drwxr-xr-x. 2 root root 6 11月 24 11:51 /nsd06    #nsd06刚开始的权限和属组

[root@server0 ~]# chown :test /nsd06

[root@server0 ~]# ls -ld /nsd06

drwxr-xr-x. 2 root test 6 11月 24 11:51 /nsd06    #更改属组之后的权限

[root@server0 ~]# mkdir /nsd06/abc01              #新建子目录abc01

[root@server0 ~]# ls -ld /nsd06/abc01/

drwxr-xr-x. 2 root root 6 11月 24 11:53 /nsd06/abc01/  #属组和父目录没有关系

[root@server0 ~]# chmod g+s /nsd06              #属组权限+s

[root@server0 ~]# ls -ld /nsd06

drwxr-sr-x. 3 root test 18 11月 24 11:53 /nsd06

[root@server0 ~]# mkdir /nsd06/abc02            #新建子目录abc02

[root@server0 ~]# ls -ld /nsd06/abc02

drwxr-sr-x. 2 root test 6 11月 24 11:54 /nsd06/abc02   #继承了父目录nsd06的所有者,属组

Set Uid(并没有继承)

[root@server0 ~]# ls -ld /nsd/              #nsd目录的权限

drwxr-sr-x. 2 harry adminuser 20 11月 25 09:58 /nsd/

[root@server0 ~]# chmod u+s /nsd/   #对所有者加s,是否能够继承?

[root@server0 ~]# ls -ld /nsd/

drwsr-sr-x. 2 harry adminuser 35 11月 25 10:09 /nsd/

[root@server0 ~]# touch /nsd/nsd2.txt     #在目录下新建子文件

[root@server0 ~]# ls -ld /nsd/nsd2.txt      #查看新文件的权限

-rw-r--r--. 1 root adminuser 0 11月 25 10:10 /nsd/nsd2.txt

对Set uid一般情况下不使用s权限,这样会造成 对系统的安全存在风险

 – 属主的权限标识会变为 s

 – 适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限拥有root的权限

Sticky bit

附加在其他人的x位上

其他人的权限标识会变为t

适用于开放w权限的目录,可以阻止用户滥用w写入权限(禁止操作别人的文档)

3、ACL策略权限

使用场景:当用户属组具有写(或者其他)的权限,其他人什么权限也没有,

来了一个想要查看文件的用户,但不能使该用户具有写。

意义:能够对个别用户,个别组设置独立的权限

acl策略的作用

• 文档归属的局限性

– 任何人只属于三种角色:属主、属组、其他人

– 无法实现更精细的控制

acl访问策略

– 能够对个别用户、个别组设置独立的权限

– 大多数挂载的EXT3/4、XFS文件系统默认已支持

[root@server0 /]# mkdir /nsd10       #新建目录

[root@server0 /]# chmod o=--- /nsd10 #使该目录对其他人没有任何权限

[root@server0 /]# su - zhangsan            #验证

[zhangsan@server0 ~]$ cd /nsd10

-bash: cd: /nsd10: Permission denied   #不能进入

[zhangsan@server0 ~]$ exit                 #回到root

logout

[root@server0 /]# setfacl -m u:zhangsan:rx /nsd10  #设置ACL,使能够具有读和执行权限

[root@server0 /]# su - zhangsan            #验证

[zhangsan@server0 ~]$ cd /nsd10        #可以进入

[zhangsan@server0 nsd10]$ pwd

[zhangsan@server0 nsd10]$ exit          #回到root

logout

• 使用 getfacl、setfacl 命令

– getfacl       文档...                              #查看acl策略

– setfacl  -m  u:用户名:权限类别 文档...

– setfacl  -m  g:组名:权限类别 文档...

– setfacl  -b   文档...                             #清除所有的ACL策略

– setfacl  -x   文档...                             #清除指定的ACL策略

[root@server0 /]# getfacl  /nsd10           #查看ACL策略的命令

[root@server0 /]# setfacl  -m  u:natasha:rwx  /nsd10

[root@server0 /]# setfacl  -m  u:lisi:rwx  /nsd10

[root@server0 /]# setfacl  -m  u:kenji:rx  /nsd10

[root@server0 /]# getfacl  /nsd10

[root@server0 /]# setfacl  -x  u:kenji  /nsd10

[root@server0 /]# getfacl  /nsd10

[root@server0 /]# setfacl  -b  /nsd10

[root@server0 /]# getfacl  /nsd10

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux 温习(八): 文件权限
权限的意义在于允许某一个用户或某个用户组以规定的方式去访问某个文件。例如,Apache 服务进程默认由 Apache 用户访问,除了 root 用户以外,其他用户均不能访问相关进程,这样就能通过在文件上设置用户或用户组的访问方式达到限制目的。
陈大剩博客
2023/02/17
7440
Linux 温习(八): 文件权限
Linux入门篇 —— 一文带你彻底搞懂Linux 文件权限管理
Linux下文件/目录的权限和归属 访问权限 读取(r): 允许查看文件内容,显示目录列表 写入(w): 允许修改文件内容,允许在目录中新建、删除、移动文件或者子目录 可执行(x): 允许运行程序,切换目录 无权限(-): 没有权限 权限介绍 rw-r--r-- . 1 root root 1258 Jun 3 2019 initial-setup-ks.cfgd rwxr-xr-x . 2 root root 6 Jun 3 2019 Music - 代表普通文件 d 代表目录 c
ruochen
2021/02/07
1.1K0
Linux入门篇 —— 一文带你彻底搞懂Linux 文件权限管理
Linux文件权限的更改:理解第一,命令次之
Linux文件权限的更改: -Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。 -文件或目录的访问权限分为只读(r),只写(w)和可执行(x)三种。 -有三种不同类型的用户可对文件或目录进行访问:文件所有者(u),同组用户(g)、其他用户(o)。 基本权限: chmod u=rwx,g=rwx,o=rwx /目录 (给目录的属主,属组和其他用户所有权限) chmod u+r(u-r/g+w/o-r...) /目录 (给目录的属主只读权限
吴柯
2018/04/16
2.1K0
Linux系统文件权限管理
Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限,每当我们使用用户名登录操作系统时,linux都会对该用户进行认证、授权审计等操作,本章主要内容就是围绕着权限来讲解的,我会讲解Linux系统中的所有常用权限包括,普通权限/隐藏权限/特殊权限/ACL/SUDO/SELinux,等的设置与使用技巧.
王瑞MVP
2022/12/28
4.8K0
Linux 命令 | 每日一学,文件目录特殊权限相关命令集锦
描述:相信各位看友都看了UP主上一篇《Linux运维学习之文件目录属性及权限管理笔记》了吧,此篇将针对文件目录特殊权限等相关命令进行详细讲解,包括文件基本权限与特殊权限。
全栈工程师修炼指南
2024/06/21
2660
Linux 命令 | 每日一学,文件目录特殊权限相关命令集锦
linux-文件权限与归属(包括 SUID、SIGD、SBIT)-隐藏属性-文件访问控制列表 ACL-(chown-chmod)在SIGD目录下
本文由刘遄老师的《Linux就该这么学》摘抄整理而成,写成博客方便自己后期查阅 该书非常棒,语言简练,通俗易懂,非常推荐,你可以点连接去学习~
suwanbin
2019/12/19
1K0
Linux基础教程之linux文件权限深度解读
基本命令—— 1.cut : cat /etc/passwd | cut -d’:’ -f7| uniq -c| sort -nr
马哥linux运维
2018/11/16
1.2K0
Linux基础教程之linux文件权限深度解读
文件基本权限与特殊权限
默认权限需要换算成字母再相减,所有建立文件之后的默认权限,为666减去umask的值
全栈工程师修炼指南
2022/09/28
5K0
文件基本权限与特殊权限
linux中使用ACL保护文件目录
ACl (Access Control List),主要目的是提供传统的 owner、group、others 的 read、write、execute 权限之外的特殊权限需求设置。ACL 可以针对单一使用者、单一文件或目录来进行 r、w、x 的权限规范,对于需要特殊权限的使用状况非常有帮助 ACl 主要针对以下方面来控制权限: 使用者 user 群组 group 默认属性 mask:针对在该目录下在建立新文件/目录时,规范新数据的默认权限 有一个目录,给一堆人使用,每个人或每个群组所需要的权限并不相同,使
入门笔记
2022/06/02
1.1K0
Linux权限管理
之前在用户管理中提到用户和组的概念,服务器添加多账户的作用之一是可以针对不同用户分配不同的权限,从而根据不同权限限制用户可以访问到的系统资源。那么这次就来说一下Linux权限管理的相关内容,这部分也是非常重要的。如下。
reload
2024/02/04
3890
Linux权限管理
5 Linux 文件权限和访问控制列表
本文将探讨 Linux 中的文件权限和访问控制列表(ACL)。了解文件权限对于管理 Linux 系统中文件和目录的访问,确保安全性和数据完整性是至关重要的。
Lemon黄
2023/11/29
4660
5 Linux 文件权限和访问控制列表
Linux 权限管理
介绍一下 Linux 的权限管理。Linux 是多用户的操作系统,允许多个用户同时登录和工作,Linux 权限是操作系统用来限制不同用户对资源的访问机制。这里暂且将 Linux 中的权限分为三类:
OwenZhang
2021/12/08
3.6K0
四.linux文件权限
一个文件对应三种权限对象,分别文件的所有者user、所属组group和其他人other 每个权限对象对应三种权限,分别是读r、写w和执行x 权限数字对应关系
对弈
2019/09/04
4K0
Linux系统安全 | Linux下的用户、组和权限
注:一般来说,只有 root 用户的 uid 是为0的。如果黑客把一个普通用户的 uid 修改为0的话,那么他只要以普通用户的用户名和密码登录,系统就会自动切换到root用户。所以,系统加固的时候一定要过滤出有哪些用户的UID为0
谢公子
2022/01/19
3.1K0
Linux系统安全 | Linux下的用户、组和权限
Linux文件权限详解
#前言:我们知道,无论什么东西,涉及到安全性的,比如文件、文件夹、磁盘(就如window系统的磁盘,我们就可以通过bitlocker技术将磁盘给加密锁起来)、服务器,等都需要设置权限管理,以保证安全性,接下来让我们来探讨以下Linux的文件权限
老油条IT记
2020/03/20
5.3K0
2.19 特殊权限set_gid
set_gid set_gid(s):可作用于文件(二进制可执行文件)和目录。 相当于set_gid 设置group组的权限位。 可以使用chmod g+(-) 【文件名/目录名】 来设置权限。 也就是将标志s加到gid的x标志位,sgid用在目录上最多。 set_gid作用 - set_gid作用在文件上时,和set_uid效果一致,会使普通用户临时拥有所属组的身份 [root@hf-01 ~]# chmod u=rwx /usr/bin/ls 将ls命令权限恢复成默认初始权限 [root@hf-
运维小白
2022/01/06
4190
Linux文件权限管理
Linux操作系统作为一个多用户系统,为每个用户提供了独立且安全的工作环境。每个用户对自己的文件拥有全部的权限,但对于其他用户的文件,则只有限定的访问权限。本文将介绍如何在Linux中管理文件和目录权限,包括如何查看、更改权限,以及如何设置特定文件夹下新建文件的默认属主。
运维开发王义杰
2023/08/10
3260
Linux文件权限管理
linux权限
基本概念 访问权限 读取:允许查看内容-read 写入:允许修改内容-write 可执行:允许运行和切换-excute 对于文本: r 读取权限:cat、less、grep、head、tail w写入权限:vim、>、>> x 可执行权限:Shell与Python 对于目录: 读取权限:查看目录内容 写入权限:能够创建、删除、修改等目录的内容 执行权限:能够cd切换到此目录下 归属关系 所有者:拥有此文件/目录的用户-user 所属组:拥有此文件/目录的组-group 其他用户:除所有着、所属组以外
用户8360274
2021/03/15
9.7K0
linux中实现灵活的特殊权限管理ACL,以及ACL权限判断顺序!
为什么要使用ACL?在linux中,我们可以使用:”ll 文件名“来查看文件的权限。
用户4877748
2020/07/21
1K0
【Linux】聊聊Linux的文件权限管理
对于file1.txt,首先是属主权限rwx,只对属主alice账号生效,说明alice对该文件有rwx的全部权限。
一名白帽的成长史
2019/10/08
3.7K0
【Linux】聊聊Linux的文件权限管理
相关推荐
Linux 温习(八): 文件权限
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档