首页
学习
活动
专区
圈层
工具
发布

Linux 的 chmod 命令

Linux 的 chmod 命令

chmod(change mode) 是 Linux/Unix 系统中用于修改文件或目录权限的重要命令。通过该命令,用户可以控制文件对不同用户的访问权限,确保系统安全和数据保护。

权限基础

Linux 系统中,每个文件或目录都有三类用户权限:

所有者(owner)

- 文件的创建者或当前所有者

所属组(group)

- 文件所属的用户组

其他用户(others)

- 系统上的其他所有用户

每种权限类型包含三种基本权限:

读(r)

- 读取文件内容或列出目录内容

写(w)

- 修改文件或目录内容

执行(x)

- 执行文件或进入目录

两种表示方法

1. 数字表示法(八进制表示法)

用 3 位八进制数表示权限,每位分别对应所有者、所属组和其他用户的权限:

4 = 读(r)

2 = 写(w)

1 = 执行(x)

0 = 无权限

权限组合通过相加得到:

7 (4+2+1) = 读、写、执行(rwx)

6 (4+2) = 读、写(rw-)

5 (4+1) = 读、执行(r-x)

4 = 只读(r--)

3 (2+1) = 写、执行(-wx)

2 = 只写(-w-)

1 = 只执行(--x)

常用权限示例

755:所有者有全部权限,组和其他用户有读执行权限

644:所有者有读写权限,组和其他用户只有读权限

600:只有所有者有读写权限

2. 符号表示法

使用字母和符号组合表示权限变化:

用户类别:

u = 所有者

g = 所属组

o = 其他用户

a = 所有用户(ugo)

操作符:

= 移除权限

= 添加权限

= = 设置精确权限

权限类型:

r = 读

w = 写

x = 执行

示例

chmod u+x file

:给所有者添加执行权限

chmod go-w file

:移除组和其他用户的写权限

chmod a=rw file

:设置所有用户为读写权限

常用选项

-R

或--recursive:递归修改目录及其内容权限

-v

或--verbose:显示详细的权限变更信息

-c

或--changes:仅显示实际发生变化的权限修改

--reference=RFILE

:参照指定文件的权限设置

特殊权限

除了基本权限外,还有三种特殊权限:

SUID(Set User ID)(s)

以文件所有者的权限执行,而不是执行者的权限

数字表示法中,在所有者权限前加4

示例:chmod 4755 file

SGID(Set Group ID)(s)

以文件所属组的权限执行

数字表示法中,在组权限前加2

示例:chmod 2755 file

Sticky Bit(t)

常用于共享目录,防止用户删除其他用户的文件

数字表示法中,在其他用户权限前加1

示例:chmod 1777 /tmp

实际应用示例

设置脚本可执行:

0chmod +x script.sh

保护私密文件:

0chmod 600 private.txt

设置网站目录权限:

0chmod -R 755 /var/www/html

创建共享目录:

0chmod 2770 shared_directory

查看当前权限:

0ls -l file.txt

注意事项

修改系统文件权限可能导致安全问题或系统故障

使用-R选项时要特别小心,避免意外修改大量文件权限

目录通常需要执行(x)权限才能访问其内容

权限修改只对当前用户有权限的文件有效 Linux 的chmod命令

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OH8HKWDwuTRHLlwKSGIsc36Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券