Lazy loaded image
程序人生
📂Linux 文件(夹)权限查看及修改
字数 1917阅读时长 5 分钟
2023-12-10
2023-12-10
type
Post
status
Published
date
Dec 10, 2023
slug
linux-chmod-chown-detail
summary
介绍 chmod、chown 这两个 Linux 命令详情以及他们的使用场景。
tags
Linux
category
程序人生
icon
password
😀
介绍 chmod、chown 这两个 Linux 命令详情以及他们的使用场景。
 

查看文件权限

通过 ll 命令(还有 ls -lls -ld等)可以查看 linux 文件(夹)的权限。
例如:
notion image
每条记录代表一个文件(夹)
第一列就是这个文件(夹)的权限。权限由 10 个字母表示。
第一个字母表示的是文件类型:
  • 普通文件
  • d 目录,即文件夹,是 directory 的简写
  • l 链接文件
  • 'p' 管理文件(很少见到)
  • b 块设备文件(很少见到)
  • c 字符设备文件(很少见到)
  • s 套接字文件(很少见到)
紧接着的 3 * 3 个字符,分别表示文件 owner、group及others的读、写、执行权限。对应位置如果出现 r 表示对应用户具有读权限, w 表示对应用户具有写权限, x 表示对应用户具有执行权限。如果没有对应的权限,则用 - 表示。
例如上面截图中的 test.py 文件,它的权限表示是 -rw-r--r--
第一位 - 表示它是普通文件,第二到第四位 rw- 表示文件的 owner 对该文件具有 读写权限,但是没有执行权限,第五到第七为 r-- 表示group用户对该文件具有读权限,没有写和执行权限,第八到第十为 r-- 表示others用户对该文件具有读权限,没有写和执行权限。
第二列,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
第三列,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
第四列,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
第五列,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb莱显示一个文件的大小单位,不过一般我们还是以byte为主。
第六列,表示最后一次修改时间。以“月,日,时间”的格式表示。
第七列,表示文件名。我们可以用ls –a显示隐藏的文件名。

修改文件权限

修改文件权限使用 chmod 命令。

chmod

用来变更文件或目录的权限

概要

主要用途

  • 通过符号组合的方式更改目标文件或目录的权限。
  • 通过八进制数的方式更改目标文件或目录的权限。
  • 通过参考文件的权限来更改目标文件或目录的权限。

参数

mode:八进制数或符号组合。
file:指定要更改权限的一到多个文件。

选项

chmod 参数
  • u符号代表当前用户。
  • g符号代表和当前用户在同一个组的用户,以下简称组用户。
  • o符号代表其他用户。
  • a符号代表所有用户。
  • r符号代表读权限以及八进制数4
  • w符号代表写权限以及八进制数2
  • x符号代表执行权限以及八进制数1
  • X符号代表如果目标文件是可执行文件或目录,可给其设置可执行权限。
  • s符号代表设置权限suid和sgid,使用权限组合u+s设定文件的用户的ID位,g+s设置组用户ID位。
  • t符号代表只有目录或文件的所有者才可以删除目录下的文件。
  • +符号代表添加目标用户相应的权限。
  • 符号代表删除目标用户相应的权限。
  • =符号代表添加目标用户相应的权限,删除未提到的权限。

数字权限使用格式

在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,
如:
rwx = 4 + 2 + 1 = 7
rw = 4 + 2 = 6
rx = 4 +1 = 5
若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7
若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6
若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5
上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :
其中a,b,c各为一个数字,分别代表User、Group、及Others的权限。
相当于简化版的chmod u=权限,g=权限,o=权限 file...
而此处的权限将用8进制的数字来表示User、Group、及Others的读、写、执行权限

修改文件拥有者

修改文件权限使用 chown 命令。
linux/Unix 是多人多工作业系统,每个的文件都有拥有者(所有者),如果我们想变更文件的拥有者(利用 chown 将文件拥有者加以改变),一般只有系统管理员(root)拥有此操作权限,而普通用户则没有权限将自己或者别人的文件的拥有者设置为别人。
语法格式:
使用权限:root
说明:
[可选项] : 同上文chmod 选项
user : 新的文件拥有者的使用者
group : 新的文件拥有者的使用者群体(group)
 
上一篇
【转载】Kafka中Topic、Partition、Groups、Brokers概念辨析
下一篇
Nginx 禁止 IP 访问 80,443 端口

评论
Loading...