linux 权限学习(待续)

[toc]

简介

  • Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功。
  • Linux下文件的权限类型一般包括读,写,执行。对应字母为 r、w、x。
  • Linux下权限的粒度有 拥有者 、群组 、其它组 三种。每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。通常情况下,一个文件只能归属于一个用户和组, 如果其它的用户想有这个文件的权限,则可以将该用户加入具备权限的群组,一个用户可以同时归属于多个组。
  • Linux上通常使用chmod命令对文件的权限进行设置和更改

用户身份和群组的记录文件

  1. 系统所有的账号和一般身份使用者,还有root的相关信息都记录在 /etc/passwd
  2. 个人密码记录在 /etc/shadow 目录中
  3. linux 的所有组名 记录在 /etc/group目录中

如何更改文件的属性和权限

  • chgrp: 改变文件所属群组
  • chown: 改变文件所属用户
  • chmod: 改变文件的权限,SUID等特性

数字权限使用格式

在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限,即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,如: rwx = 4 + 2 + 1 = 7 rw = 4 + 2 = 6 rx = 4 +1 = 5
其中 0 表示无任何权限

若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7 若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6 若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5

上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。

  • 775
    当前用户,当前用户所属群组可读写运行其他组 可读写不可运行
  • 777
    所有人都可读写运行
  • 600
    仅当前用户可读写运行

符号类型改变权限

三种身份分别可用 u(user) g(group) o(other) a(all)
注意: a 所有身份

权限符号

  • '+' 表示 加入权限
  • '-' 表示 除去权限
  • '=' 表示 设定权限

用 chmod 命令进行权限的设定(符号类型权限设定),如下:

# 修改 所属用户有读写执行权限 所属组有读写执行权限 其他组无任何权限
sudo chmod -R u=rwx,g=rwx,o=--- ceshi

Q&A

能否读取到某个文件内容,跟该文件所在的目录权限也有关系 (目录至少需要有 x 的权限)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容