linux修改权限命令chmod

好的,给文件夹修改权限的命令主要使用 chmodchown。下面是详细解释和常用命令。


1. 修改权限 (chmod 命令)

chmod 用于更改文件或目录的访问权限

基本语法:
bash 复制代码
chmod [选项] 权限模式 文件夹名
常用的权限模式:

a) 数字模式(最常用、最精确)

权限用三位数字表示,分别对应:所有者(u) / 所属组(g) / 其他用户(o) 的权限。

  • 4 = 读 ®
  • 2 = 写 (w)
  • 1 = 执行 (x)

常用组合:

  • 755:所有者可读可写可执行,组和其他用户可读可执行
  • 775:所有者和组可读可写可执行,其他用户可读可执行
  • 777:所有用户可读可写可执行(慎用,不安全!
  • 700:仅所有者可读可写可执行

示例:

bash 复制代码
# 将 folder 设置为 755 权限 (rwxr-xr-x)
chmod 755 folder_name

# 递归修改文件夹及其内部所有内容的权限为 755
chmod -R 755 folder_name

b) 符号模式(更直观)

使用符号来指定对哪类用户进行何种操作。

  • 用户类别:u(所有者), g(组), o(其他), a(所有)
  • 操作:+(添加), -(移除), =(设置)
  • 权限:r(读), w(写), x(执行)

示例:

bash 复制代码
# 给所有用户添加执行权限
chmod a+x folder_name

# 移除其他用户的写权限
chmod o-w folder_name

# 设置组用户的权限为可读可执行
chmod g=rx folder_name

# 递归给所有用户添加读和执行权限
chmod -R a+rx folder_name

2. 修改所有者和所属组 (chown 命令)

chown 用于更改文件或目录的所有者和所属组

基本语法:
bash 复制代码
chown [选项] 新所有者:新所属组 文件夹名

示例:

bash 复制代码
# 将 folder 的所有者改为 user1
chown user1 folder_name

# 将 folder 的所有者和组都改为 user1
chown user1:user1 folder_name

# 只修改所属组(注意开头的冒号)
chown :groupname folder_name

# 递归修改文件夹及其内部所有内容的所有者
chown -R user1 folder_name

# 递归修改所有者和组
chown -R user1:groupname folder_name

常用选项:

  • -R:递归操作(修改文件夹及其内部所有子文件夹和文件)
  • -v:显示详细操作信息

实际操作示例

假设你有一个名为 my_project 的文件夹,想让你自己(your_username)有完整权限,你所在的组(your_group)可读可执行,其他人无权限:

bash 复制代码
# 1. 修改所有者(如果需要)
sudo chown -R your_username:your_group my_project

# 2. 设置权限为 750 (rwxr-x---)
chmod -R 750 my_project

⚠️ 重要提示:

  1. 修改系统目录或不属于你的文件的权限时,通常需要 sudo
  2. 777 权限非常不安全,尽量避免使用。
  3. 对于需要通过网络访问的目录(如 Web 服务器的根目录),适当的权限通常是 755(可执行权限对于目录是必须的,这样才能进入和列出内容)。

根据你的具体需求选择合适的权限设置。

相关推荐
蜡台15 小时前
Python包管理工具pip完全指南-----2
linux·windows·python
Ujimatsu15 小时前
虚拟机安装Debian 13.x及其常用软件(2026.4)
linux·运维·ubuntu
千百元15 小时前
zookeeper启不来了
linux·zookeeper·debian
AnalogElectronic17 小时前
linux 测试网络和端口是否连通的命令详解
linux·网络·php
Edward1111111117 小时前
4月28日防火墙问题
linux·运维·服务器
子琦啊18 小时前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法
AOwhisky19 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
小龙在慢慢变强..20 小时前
目录结构(FHS 标准)
linux·运维·服务器
2035去旅行20 小时前
嵌入式开发,如何选择C标准库
linux·arm开发
刘延林.20 小时前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu