文件的權限修改chmod用法

文件安全與權限連載之一 

   文件的權限修改chmod
  
         1、文件類型
         在Linux下面文件有七種類型,d(目錄),l(符號連接),s(套接字),b(塊),c(設備),p(管道),-(普通)等七種文件類型,可以通過ls -l 所示示文件屬性的第一個字符,代表該文件的類型。
        例:[root@localhost/]#touch myfile
        [root@localhost/]#ls -l myfile
    -rw-r--r-- l root root 0 12月 7 10:30 myfile
   注:-(rw前面的橫線)代表的是普通文件類型;後面一共九個字符,三個一組,各有其表示含義,見下文
  
         2、權限
        在Linux中一個文件的權限是由9個字符來申明,三個一組,前三個第一組字符描述的是“文件屬主的權限”;中間三個字符描述了“同組用戶的權限”;最後三個字符就是其它用戶權的權限。 
   r:讀權限;w:寫權限;x:執行權限
   rw-:文件屬主對於該文件擁有講寫的權限;
   r--:同組其它用戶對於該文件擁有只讀的權限;
   r--:其它用戶也只有只讀的權限。
 
         3、改變文件權限的屬性
         命令:chmod
         語法:
         chmod[OPTION]...MODE[,MODE]...FILE...
         chmod[OPTION]...OCTAL-MODE FILE...
         chmod[OPTION]...--reference=RFILE
         功能:
        更改文件的訪問權限。Linux下文件訪問分為讀、寫、執行三種;另外還規定了擁有者、所屬組和所有人三個對象范圍。
        路徑:/bin/chmod
        參數:
        --help 顯示使用幫助
        --reference=RFILE 將指定文件的訪問權限設置為RFILE模式
        -c,--change 僅顯示作出更改的部分
        -f,--silent,--quiet 禁止多數錯誤信息
        -R,--recursive 遞歸處理,連同目錄下面的文件和文件夾一起處理(慎重使用)
        -v,--verbose 顯示命令執行的詳細信息
        MODE由三個部分組成:一個或以上字母“ugoa”,一個或一個以上符號"+-=",然後是一個或以上的字母“rwxXstugo”。u表示文件的擁有者;g表示文件所屬的組;o表示除了文件擁有者和所屬組外其它用戶;a表示所有用戶。rwx前面有說明代表讀、寫、執行;“X”只有目標文件對某些用戶是可執行的或該目標文件是目錄時才追加X屬性;"s"同時設定用戶和組ID;“t”沾滯位元(保存程序的文本到交換的設備上);"u"目標文件屬主;"g"目標文件所在的群組;"o"其它用戶。以上是字符形式的用法。
        數字形式用法:
        chmod[選項][0000-7777]文件名稱
        chmod[選項][000-777]文件名稱
        完整的數字權限是4位數。但在一般情況下,都只帶入三位數字,其代表的就是“後三位數”的權限設定。
        第一位數
        代表檔案或目錄的特殊性。4代表“suid;2代表“sgid”;1代表“沾滯元位-save text image”
        後三位數
        依序代表“user-檔案擁有者”,"group-群組","other-其它",每一位數,代表三種權限的疊加,4-讀(r),2-寫(w),1-執行(x),被禁止的權限以0表示。
        例1:用字符方法,對myfile文件擁有者和群組賦予執行的權限。
        [root@localhost/]#chmod -c ug+x myfile
        'myfile'的權限模式已更改為0754(rwxr-xr--)
        例2:用數值賦予的方法,將myfile文件變更為文件擁有者具有讀、寫、執行權限,其它用戶只有讀取的權限。
分析:文件擁有者具有的權限數值為7,其它用戶只有讀取,意味著組用戶和其它用戶都是4,結果744
[root@localhost/]#chmod -c 744 myfile
'myfile'的權限模式已更改為0744(rwxr--r--) 

備注:如果你有問題咨詢或對本篇日志存在某些錯誤的地方,歡迎提寶貴的意見。我的聯繫方式QQ:630423722;MSN: xuhuojun@sohu.com。 
<think>我们之前已经详细解释过chmod的使用,但用户再次询问,可能是希望更简洁或更针对性的回答。需要覆盖核心用法,但避免完全重复之前的内容。 重点:用户这次问的是“如何修改文件权限”,所以聚焦在修改操作上,不过多展开概念。 按照规则,最后必须提出3-5个相关问题,并以“§§相关问题§§”开头。 注意:用户要求用中文回答。</think>### `chmod` 修改文件权限详解 `chmod` 是 Linux修改文件权限的核心命令,通过控制**读(r)、写(w)、执行(x)** 权限来管理文件访问。以下是两种主要修改方式: --- #### 一、符号模式(直观易用) **语法**:`chmod [用户][操作符][权限] 文件名` - **用户标识**: `u`=所有者 | `g`=所属组 | `o`=其他用户 | `a`=所有用户 - **操作符**: `+` 添加权限 | `-` 移除权限 | `=` 精确设置权限 - **权限类型**: `r`=读 | `w`=写 | `x`=执行 **常用示例**: ```bash # 添加执行权限给所有者 chmod u+x script.sh # 移除其他用户的写权限 chmod o-w sensitive.txt # 设置组用户可读可写 chmod g=rw data.log # 所有用户添加读权限 chmod a+r public.txt ``` --- #### 二、数字模式(高效精确) **语法**:`chmod [三位数字] 文件名` - **权限值计算**: `r=4` + `w=2` + `x=1` - **权限位分配**: 第一位:所有者 | 第二位:所属组 | 第三位:其他用户 **常用权限组合**: | 数字 | 权限说明 | 典型场景 | |------|-------------------|------------------| | 755 | u=rwx, g=rx, o=rx | 可执行脚本/程序 | | 644 | u=rw, g=r, o=r | 配置文件/文本文件| | 600 | u=rw, g=, o= | 私密文件(如SSH密钥) | | 750 | u=rwx, g=rx, o= | 受限共享文件 | **操作示例**: ```bash chmod 755 backup.sh # 设置标准可执行权限 chmod 600 ~/.ssh/id_rsa # 保护密钥文件 ``` --- #### 高级技巧 1. **递归修改目录权限** ```bash chmod -R 755 /webroot/ # 修改目录及所有子内容 ``` 2. **复制其他文件权限** ```bash chmod --reference=source.txt target.txt # 复制权限 ``` 3. **批量修改文件类型** ```bash find . -name "*.sh" -exec chmod 755 {} \; # 所有.sh文件设为可执行 ``` --- #### 注意事项 1. **权限生效规则**: - 目录需 `x` 权限才能进入 - 文件需 `x` 权限才能执行 2. **特殊权限**: - `chmod +t`:设置粘滞位(仅所有者可删) - `chmod u+s`:SUID(执行时临时获取所有者权限) 3. **安全警告**: - 避免使用 `chmod 777`(完全开放权限) - 系统文件修改需 `sudo` 提权
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值