权限 chmod

参考:

Linux chmod 命令 | 菜鸟教程 (runoob.com)

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令

Linux/Unix 的文件调用权限分为三级 :

  • 文件所有者(Owner Users)

  • 用户组(Group)

  • 其它用户(Other Users)
    先使用 ls -l 查看所有文件信息

    ls -l #长格式(long format)列出当前目录下的文件和目录的详细信息

#以下为  ls -l  显示的内容

drwxr-xr-x  4 root root    4096 2月  10  2021 speech-dispatcher
drwxr-xr-x  4 root root    4096 6月  12 10:53 ssh
drwxr-xr-x  4 root root    4096 6月  12 10:59 ssl
-rw-r--r--  1 root root      20 1月   4  2022 subgid
-rw-r--r--  1 root root       0 2月  10  2021 subgid-
-rw-r--r--  1 root root      20 1月   4  2022 subuid
-rw-r--r--  1 root root       0 2月  10  2021 subuid-
-r--r-----  1 root root     755 2月   3  2020 sudoers
drwxr-xr-x  2 root root    4096 11月 10  2023 sudoers.d
-rw-r--r--  1 root root    2351 2月  14  2020 sysctl.conf
drwxr-xr-x  2 root root    4096 6月  12 11:16 sysctl.d
drwxr-xr-x  5 root root    4096 3月  16  2023 systemd
drwxr-xr-x  2 root root    4096 11月 10  2023 terminfo
drwxr-xr-x  2 root root    4096 1月   4  2022 thermald
  1. 权限:前10个字符表示权限。

    • 第一位表示文件类型:d 表示目录,- 表示普通文件,l 表示软链接(符号链接),还有其他特殊类型但这里未展示。
    • 接下来的9个字符分为3组,每组3个字符,分别表示所有者(Owner)、所属组(Group)、其他人(Others)的权限。
      • r (Read, 读):允许读取文件内容或列出目录内容。
      • w (Write, 写):允许修改文件内容或在目录中创建/删除文件。
      • x (Execute, 执行):允许执行文件(如果是脚本或程序)或进入目录。
      • - 表示相应权限被禁止。
  2. 硬链接数:接下来的数字表示该文件的硬链接数量。对于目录,这通常是其直接子项(文件和目录)的数量。

  3. 所有者:文件或目录的所有者的用户名。

  4. 所属组:文件或目录所属的用户组名。

  5. 文件大小:以字节为单位表示的文件大小,或对于目录而言,并非严格意义上目录本身的大小,而是目录条目的计数单位。

  6. 最后修改日期和时间:文件或目录最后一次被修改的时间。

  7. 文件名:文件或目录的名称。

一、八进制数字表示法

1.1 对于文件

|------------------------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------|
| | | |
| | | |
| | | |

数字含义:Read Write Executive 1表示有权限,0表示无权限,八进制计数

  • 第一位:User

  • 第二位:Group

  • 第三位:Other

    chmod 777 myfile.txt

1.2 对于目录

语法:chmod   [option]   [num]   my_directory     

option:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f : 若该文件权限无法被更改也不要显示错误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
  • --help : 显示辅助说明
  • --version : 显示版本

二、符号表示法

who 用户类型 说明
u user 文件所有者
g group 文件所有者所在组
o others 所有其他用户
a all 所有用户, 相当于 ugo
Operator 说明
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置
mode 名字 说明
r 设置为可读权限
w 设置为可写权限
x 执行权限 设置为可执行权限
X 特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
s setuid/gid 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t 粘贴位 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

格式: chmod [who][operator][mode] [file]

chmod u+w myfile.txt   #给文件所有者增加写权限

chmod u-x,g+r myfile.txt  #从文件所有者移除执行权限,并给组用户添加读权限

chmod a=rw myfile.txt  #设置所有用户都有读写权限

chmod +x myfile.txt  #没有指定用户,默认给所有用户添加执行权限
相关推荐
新知图书7 分钟前
Linux C\C++编程-Linux系统的字符集
linux·c语言·c++
haiyanglideshi12 分钟前
sendto丢包
linux
魔理沙偷走了BUG21 分钟前
【Linux笔记】Day5
linux·笔记
利刃大大22 分钟前
【Linux系统编程】二、Linux进程概念
linux·c语言·进程·系统编程
阿政一号26 分钟前
Linux初识:【冯诺依曼体系结构】【操作系统概念】【进程部分概念(进程状态)(进程优先级)(进程调度队列)】
linux·服务器·指令·进程概念·linux操作系统
HaoHao_0101 小时前
AWS Snowball
服务器·云计算·aws·云服务器
小林想被监督学习1 小时前
RabbitMQ 仲裁队列 -- 解决 RabbitMQ 集群数据不同步的问题
linux·分布式·rabbitmq
xf8079892 小时前
cursor远程调试Ubuntu以及打开Ubuntu里面的项目
linux·运维·ubuntu
dot to one2 小时前
Linux 入门 常用指令 详细版
linux·服务器·centos
Golinie3 小时前
记一次Linux共享内存段排除Bug:key值为0x0000000的共享内存段删除不了
linux·bug·共享内存段