权限 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  #没有指定用户,默认给所有用户添加执行权限
相关推荐
prcyang38 分钟前
Docker Compose
运维·docker·容器
脚踏实地的大梦想家40 分钟前
【Docker】安装全流程与配置完整镜像源(可安装 nginx)
运维·docker·容器
城南云小白1 小时前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
从心归零1 小时前
sshj使用代理连接服务器
java·服务器·sshj
咩咩大主教1 小时前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
羌俊恩1 小时前
视频服务器:GB28181网络视频协议
服务器·网络·音视频
Zww08912 小时前
docker部署个人网页导航
运维·docker·容器
Flying_Fish_roe2 小时前
linux-网络管理-网络配置
linux·网络·php
运维小白。。2 小时前
Nginx 反向代理
运维·服务器·nginx·http
PeterJXL2 小时前
Docker-compose:管理多个容器
运维·docker·容器