权限 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  #没有指定用户,默认给所有用户添加执行权限
相关推荐
Kaede638 分钟前
如何应对Linux云服务器磁盘空间不足的情况
linux·运维·服务器
Zfox_3 小时前
Redis:Hash数据类型
服务器·数据库·redis·缓存·微服务·哈希算法
Kookoos4 小时前
Dynamics 365 Finance + Power Automate 自动化凭证审核
运维·自动化·dynamics 365·power automate
apocelipes6 小时前
Linux c 运行时获取动态库所在路径
linux·c语言·linux编程
ABB自动化7 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
努力学习的小廉7 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
秃头菜狗7 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
利刃大大7 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
2301_793102497 小时前
Linux——MySql数据库
linux·数据库
vfvfb8 小时前
bat批量去掉本文件夹中的文件扩展名
服务器·windows·批处理·删除扩展名·bat技巧