侧边栏壁纸
博主头像
爱探索

行动起来,活在当下

  • 累计撰写 43 篇文章
  • 累计创建 12 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

linux-文件权限

jelly
2024-07-05 / 0 评论 / 0 点赞 / 34 阅读 / 0 字

文件权限

1 文件权限对象

文件的权限针对三类对象进行定义

  • owner 属主,缩写u
  • group 属组,缩写g
  • other 其他,缩写o

1.1 owner(文件拥有者)

由于Linux是个多用户多任务的系统,因此可能常常会有多人同时使用这部主机来 进行工作的情况发生, 为了考虑每个人的隐私权以及每个人喜好的工作环境,因此,这 个“文件拥有者”的角色就显的相当的重要了!。

拥有这个文件的用户,即文件拥有者

1.2 group(群组)

由一个或多个用户组成,每个用户都至少属于某一个群组。

1.3 other(群其)

除了拥有者以外的其他用户

2 文件权限

  • r:Read 读
  • w:Write 写
  • x:execute 执行

3 获取文件权限

ls -a


[root@VM-24-3-centos ~]# ls -al
total 48
dr-xr-x---.  5 root root 4096 Nov  7 16:04 .
dr-xr-xr-x. 19 root root 4096 Nov  7 16:37 ..
-rw-------.  1 root root  281 Nov  7 16:37 .bash_history
-rw-r--r--.  1 root root   18 May 11  2019 .bash_logout
-rw-r--r--.  1 root root  176 May 11  2019 .bash_profile
-rw-r--r--.  1 root root  176 May 11  2019 .bashrc
drwx------   3 root root 4096 Nov  7 16:04 .config
-rw-r--r--.  1 root root  100 May 11  2019 .cshrc
drwxr-xr-x   2 root root 4096 Jan 23  2022 .pip
-rw-r--r--   1 root root   73 Nov  7 15:54 .pydistutils.cfg
drwx------.  2 root root 4096 Nov  7 15:54 .ssh
-rw-r--r--.  1 root root  129 May 11  2019 .tcshrc

文件属性的示意图

_rwxrwxrwx

由10位组成

  • 第一位:类型(目录_,文件d,链接l)
  • 第2-4位:文件拥有者权限
  • 第5-7位:文件所属群组对于文件的权限
  • 第8-10位:其他用户对于文件的权限

4 文件权限对于文件与目录的不同意义

4.1 文件

  • r:Read 读取文件内容
  • w:Write 修改文件内容
  • x:execute 可以执行文件内容,一般针对与二进制文件

4.2 目录

  • r:查看目录下的文件列表
  • w:删除和创建目录下的文件
  • x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)

5 文件属性与权限的修改

  • chgrp :改变文件所属群组
  • chown :改变文件拥有者
  • chmod :改变文件的权限, SUID, SGID, SBIT等等的特性

5.1 chgrp(改变文件所属群组)

注:修改的要被改变的群组名称必须要 在/etc/group文件内存在。

chgrp [选项]... 用户组 文件

  • -c, --changes 类似 verbose 选项,但仅在做出修改时进行报告
  • -R, --recursive 递归操作文件和目录

示例


当一个目录下有一个document.txt文件 属于root组

将document的所属组改为mail

#  document.txt 属于root组
[root@VM-24-3-centos ~]# ls -l document.txt 
-rw-r--r-- 1 root root 0 Nov  7 16:57 document.txt

# 修改所属组
[root@VM-24-3-centos ~]# chgrp mail document.txt 

# 再次查看发现已经被修改
[root@VM-24-3-centos ~]# ls -l document.txt 
-rw-r--r-- 1 root mail 0 Nov  7 16:57 document.txt


5.2 chown(修改文件拥有者)

注:使用者必须是 已经存在系统中的帐号,也就是在/etc/passwd 这个文件中有纪录的使用者名称才能改变.

chown [选项]... 账户名称 文件或目录
chown [选项] 帐号名称:群组名称 文件或目录

  • -c, --changes 类似 verbose 选项,但仅在做出修改时进行报告
  • -R, --recursive 递归操作文件和目录

示例

当一个目录下有一个document.txt文件 属于root所有者

将document的所有者改为mail

# document.txt 属于root 用户
[root@VM-24-3-centos ~]# ls -l document.txt 
-rw-r--r-- 1 root mail 0 Nov  7 16:57 document.txt

#修改所有者
[root@VM-24-3-centos ~]# chown mail document.txt 

# 再次查看发现已经被修改
[root@VM-24-3-centos ~]# ls -l document.txt 
-rw-r--r-- 1 mail mail 0 Nov  7 16:57 document.txt

5.3 chmod(修改权限)

  • chmod [-R] xyz 文件或目录

5.3.1 数字类型改变文件权限

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的 read/write/execute权限

我们可以使用数字来代表各个权 限,各权限的分数对照表如下:

权限权重
r4
w2
x1

每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权 限为: [-rwxrwx---] 分数则是:

owner = rwx = 4+2+1 = 7 > group = rwx = 4+2+1 = 7 > others= --- = 0+0+0 = 0

所以等一下我们设置权限的变更时,该文件的权限数字就是770啦!变更权限的指令 chmod的语法是这样的:

chmod [-R] xyz 文件或目录

5.3.2 符号类型改变文件权限

身份:

  • user:u
  • group:g
  • others:o
    -all:a(所有身份)

操作:

  • +(加入)
  • -(除去)
  • =(设置

示例:


# user 加上r权限:u+r
# group 加上x权限 g+x
# others 减去w权限 o-x
# user 设置rw权限 u=rx
# 所有设置rw a+rw

# document.txt 设置权限rw-rw-r-x
chmod u=rw,g=rw,o=rx document.txt

# document.txt 权限为rw-rw-r-x 减去group的w权限,设置为权限为rw-r--r-x

chmod g-w document.txt
0

评论区