【Linux权限管理之基本权限】

欢迎来到摆烂乐园

“这里是只有过好生活,才能干好工作的摆烂乐园”

  • 2024.01.18 -

本文将详细给大家带来Linux权限管理之基本权限,不论你是初学者还是有经验的开发者,都希望你能从这个教程中收获知识与乐趣。

一、文件基本权限

1.1了解目录权限含义

在这里插入图片描述

-rw-r–r–
一共是10位
第1位的**-**:文件类型(-文件 d 目录 l 软连接文件)
后面的9位,三位是一组,一共是三组
第2、3、4位:rw-
u 所有者
第5、6、7位:r–
g 所有组
第8、9、10位:r–
o 其他人

r 代表读
w 代表写
x 代表执行

1.2chmod 命令

  • chmod [选项] 模式 文件名
    -选项 :-R 地柜
    -模式:
    [ugoa][±=][rwx]
    [mode=421 ]

例子1:chmod u+x shipin.av
解释1: 给当前用户增加执行权限
例子2:chmod g+w,o+w shipin.av
解释2:给当前所有组增加写权限,给其他人增加写权限
例子3:chmod u=rwx shipin.av
解释3:给所有者增加读写执行权限

1.3 权限的数字表示

r ----- 4
w ----- 2
x ---- 1

rwxr-xr-x
7 5 5

例子1:chmod 755 shipin.av
解释1:给所有者增加读写执行权限,给所有组增加读执行权限,给其他人增加读执行权限
例子2:chmod 644 shipin.av
解释2: 给所有者增加读写权限,给所有组增加读权限,给其他人增加读权限

常用数字: 777 644 755

二、权限的作用

2.1权限对文件的作用

  • r : 读取文件内容(cat more head tail)
  • w : 编辑、新增、修改文件内容(vi echo)
    -但是不包含删除文件(学习的同学可能会有疑问,别着急后面后详细画图说明文件的关系)
  • x : 可执行

为什么呢?,上图:

在这里插入图片描述
下面举例,磁盘数据块中的内容
在这里插入图片描述

2.2权限对目录的作用

  • r:可以查询目录下文件名(ls)
  • w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切(touch rm mv cp)
  • x:可以进入目录( cd )
  • 对文件来讲:最高权限是X
  • 对目录来讲:最高权限是 w

2.3查看默认权限的命令

  • umask
    查看默认权限
  • 0022
    -第一位0 : 文件特殊权限
    -022 : 文件默认权限

2.4文件的默认权限

  • 文件默认不能建立为执行文件,必须手工赋予执行权限

  • 所以文件默认权限最大为666

  • 默认权限需要换算成字母再相减

  • 建立文件之后的默认权限,为666减去umask值

  • 例如:
    文件默认最大权限666         umask值022
    -rw-rw-rw-      减去      -----w–w- 等于     -rw-r–r–

  • 例如:
    文件默认最大权限666         umask值033
    -rw-rw-rw-      减去      -----wx-wx 等于     -rw-r–r–

重要知识点!!!重要知识点!!!重要知识点!!!
linux的权限相减,并不是直接使用数字进行相减的。而是把权限的数字先转换成字母,然后通过字母相减。参考上面的例子,也可以自己去测试一下。

umask是用来设置文件创建时的默认权限掩码。

默认情况下,umask的值为022,即在创建文件时会给予owner读写权限,group和其他用户只有读权限。

我们可以通过修改umask的值来改变默认权限。以下是不同umask值下创建目录和文件的权限:

  1. 设置umask为0000:
$ umask 0000
$ mkdir testdir
$ touch testfile
$ ls -l

输出:

drwxrwxrwx 2 user group 4096 Month Day Hour:Minute testdir
-rw-rw-rw- 1 user group    0 Month Day Hour:Minute testfile
  1. 设置umask为0022(默认值):
$ umask 0022
$ mkdir testdir
$ touch testfile
$ ls -l

输出:

drwxr-xr-x 2 user group 4096 Month Day Hour:Minute testdir
-rw-r--r-- 1 user group    0 Month Day Hour:Minute testfile
  1. 设置umask为0777:
$ umask 0777
$ mkdir testdir
$ touch testfile
$ ls -l

输出:

drwx------ 2 user group 4096 Month Day Hour:Minute testdir
-rw------- 1 user group    0 Month Day Hour:Minute testfile

以上是一些常见的umask值示例,你也可以设置其他的umask值进行观察。请注意,umask的值是对权限进行减法操作,所以umask为777的时候是最严格的,使得其他用户(包括group)没有任何权限。

2.5目录的默认权限

  • 目录默认权限最大为777
  • 默认权限需要换算成字母再相减
  • 建立文件之后的默认权限,为777减去umask值
  • 例如:
    -目录默认最大权限为777     umask值022
    –rwxrwxrwx      减去     -----w–w- 等于     -rwxr-xr-x

2.6修改umask值

  • 临时修改
    -umask 0002
  • 永久修改
    -vi /etc/profile
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值