# chmod命令
> 改變文件權限
## 一、符號模式
命令格式:
~~~
chmod [who] operator [permission] filename
~~~
who包含的選項及其含義:
* u 文件屬主權限。
* g 屬組用戶權限。
* o 其他用戶權限。
* a 所有用戶(文件屬主、屬組用戶及其他用戶)。
operator包含的選項及其含義:
* * 增加權限。
* * 取消權限。
* \= 設定權限。
permission包含的選項及其含義:
* r 讀權限。
* w 寫權限。
* x 執行權限。
* s 文件屬主和組set-ID。
* t 粘性位\*。
* l 給文件加鎖,使其他用戶無法訪問。
* u,g,o 針對文件屬主、屬組用戶及其他用戶的操作。
filename為想要操作的文件的文件名。
\*在列文件或目錄時,有時會遇到“ t”位。“t”代表了粘性位。如果在一個目錄上出現“t”位,這就意味著該目錄中的文件只有其屬主才可以刪除,即使某個屬組用戶具有和屬主同等的權限。不過有的系統在這一規則上并不十分嚴格。如果在文件列表時看到“ t”,那么這就意味著該腳本或程序在執行時會被放在交換區(虛存)。
### 關于“t”權限的進一步解釋
1,t 權限是粘著位
例:TMP目錄下,任何人都有讀寫執行權限,但是不是任何人對里邊的可寫權限的文件就可以刪除呢,當然不是了,這個就是粘著位的做用,只有所有者才有權刪除自已的文件,當然,ROOT除外
2,關于文件安全的另一種權限,i權限 也就是不可修改權限
例:chattr u+i aaa 則aaa文件就不可修改,無論任何人,如果刪除就用u-i就好了
a權限 也就是只追加權限, 對于日志系統很好用,這個權限讓目標文件只能追加,不能刪除,而且不能通過編輯器追加。方法和i權限一樣加
如果想要看某個文件是不是有這個權限,用lsattr filename就行了
改變權限的例子(temp為一文件):
~~~
chmod a-x temp //rw- rw- rw- 收回所有用戶的執行權限
chmod og-w temp //rw- r-- r- - 收回屬組用戶和其他用戶的寫權限
chmod g+w temp //rw- rw- r- - 賦予屬組用戶寫權限
chmod u+x temp //rwx rw- r- - 賦予文件屬主執行權限
chmod go+x temp //rwx rwx r- x 賦予屬組用戶和其他用戶執行權限
~~~
## 二、絕對模式
命令格式
~~~
chmod [mode] file
~~~
其中mode為一個8進制數,每一個權限由一個8進制數表示。
例如:
~~~
0 4 0 0 文件屬主可讀
0 2 0 0 文件屬主可寫
0 1 0 0 文件屬主可執行
0 0 4 0 屬組用戶可讀
0 0 2 0 屬組用戶可寫
0 0 1 0 屬組用戶可執行
0 0 0 4 其他用戶可讀
0 0 0 2 其他用戶可寫
0 0 0 1 其他用戶可執行
~~~
在設定權限的時候,只需按照上面查出與文件屬主、屬組用戶和其他用戶所具有的權限相對應的數字,并把它們加起來,就是相應的權限表示。
例如,temp文件的符號模式權限查出為:
~~~
-rwxr--r-- 1 wjr root 0 2008-09-21 16:40 temp
~~~
最前面的“-”表示文件為一般文件.
則,相應的絕對模式權限換算過程為:
~~~
rwx:0400 + 0200 +0100 (文件屬主可讀、寫、執行) = 0 7 0 0
r--:0 0 4 0 (屬組用戶可讀) = 0 0 4 0
r--:0 0 4 0 (屬組用戶可讀) = 0 0 4 0
0 7 4 4
~~~
也可以這樣算:
對應的8進制值如下,有相應權限則加上該值,沒有則記零,
文件屬主:r w x:4 + 2 + 1
屬組用戶:r w x:4 + 2 + 1
其他用戶:r w x:4 + 2 + 1
temp文件的權限為:
~~~
r w x r - - r - -
4+2+1 4 4
~~~
把相應的權限加在一起,就是744
可以看出,文件屬主、屬組用戶和其他用戶分別所能夠具有的最大權限值就是7。
改變權限的命令如:
~~~
$chmod 744 temp
$ls -l temp
~~~
結果:
~~~
-rwxr--r-- 1 wjr root 0 2008-09-21 16:40 temp
~~~
命令:
~~~
$chmod 766 temp
$ls -l temp
~~~
結果:
~~~
-rwxrw-rw- 1 wjr root 0 2008-09-21 16:40 temp
~~~
還可以通過使用 -R 選項連同子目錄下的文件一起設置:
~~~
$chmod -R 664 /temp/*
~~~
這樣就可以一次將/ temp目錄下的所有文件連同各個子目錄下的文件的權限全部設置為文件屬主和屬組用戶可讀和寫,其他用戶只讀。使用- R選項一定要謹慎,只有在需要改變目錄樹下全部文件權限時才可以使用。
- 簡介
- 前端
- html
- css
- css選擇器
- fiex布局
- 盒裝模型
- javascript
- 原型鏈
- 作用域
- 事件綁定
- dom
- bom
- jquery
- 選擇器
- jquery事件綁定
- layui
- bootstrap
- vue
- 路由(Vue Router)
- Vue CLI
- axios
- vant
- 打包部署
- 自定義組件
- 一些前端效果
- 點擊復制功能
- 后端
- php框架
- thinkphp
- 隱藏index.php
- thinkphp實現多表查詢
- thinkphp使用ajax單圖上傳
- thinkphp使用ajax圖集上傳
- thinkphp使用ajax查詢是否重名
- thinkphp使用ajax表單上傳
- where多個條件
- 郵件發送功能
- thinkphp短信寶發送短信
- tp5事務
- validate驗證二維數組
- yii2
- yii配置郵件
- yii的CRUD操作
- layui中兩種展示表單的方式
- laravel
- laravel實例
- laravel登錄
- laravel前端注冊
- laravel列表
- laravel刪除
- laravel編輯
- laravel新增
- Laravel 目錄結構
- Laravel 路由
- Laravel 控制器
- Laravel 模型讀操作
- Laravel 模型增、刪、改操作
- Laravel 中間件
- Laravel 視圖
- Laravel ,YII,thinkphp 框架的區別
- 會話控制
- session
- session存入redis
- session創建
- session刪除
- cookie
- 面向對象
- 三大特性
- 魔術方法
- 修飾符
- obj變量
- php
- php版本差異
- php7與php5的區別
- PHP 內存溢出問題
- 數據類型
- PHP 垃圾回收機制(GC)
- 文件目錄操作
- php函數
- 字符串相關函數
- 數組相關函數
- 超全局數組與超全局變量
- php魔術方法
- 引用變量
- php類庫
- 1.根據隨機數生成6位密鑰
- 2.獲取客戶端IP地址
- 3.多維數組變成一維數組
- 4.判斷是否是微信瀏覽器
- 5.判斷是否是移動端
- 6.隱藏手機號碼156***8956
- 7.隱藏郵箱 9533*****@qq.com
- 8.數組排序
- 9.添加操作日志
- 10.無線分類按子分類排序
- 11.從數組中刪除空白的元素
- 12.字符串相關類庫
- curl模擬post/get請求
- 替換中間四位數
- PHP地理位置計算
- 生成唯一訂單號
- 阿拉伯數字轉化為大寫
- 時間戳轉為中文時間
- php獲取本年、本月、本周時間戳和日期格式的實例代碼(分析)
- 去除數據庫的數據空格
- 壓縮Zip文件和文件打包下載
- PHP常用六大設計模式
- 單例模式
- 工廠模式
- 注冊樹模式
- 策略模式
- 適配器模式
- 觀察者模式
- 數據庫
- 留言板功能
- 所了解的數據庫
- sql server
- Memecached
- MongoDB
- mysql
- 存儲引擎(MyISAM與InnoDB)
- 庫表CRUD操作
- 索引
- 事務
- mysql常用命令
- 悲觀鎖和樂觀鎖
- 數據庫優化
- 大流量大并發優化
- Redis
- redis相關考點
- 開啟redis
- redis緩存cache
- redis存儲session
- redis限制提交次數
- 緩存雪崩,擊穿,穿透(copy)
- redis數據結構及使用場景
- 消息隊列
- Redis、Memecached 區別?
- phpstudy升級mysql版本
- 分表
- 讀寫分離
- linux
- 開發環境搭建
- mysql配置
- centos7(lnmp)環境搭建
- ubuntu(lnmp)環境搭建
- Nginx
- nginx四個基本功能
- nginx重啟出錯
- Nginx 的反向代理
- 用戶用戶組
- 虛擬機安裝
- linux常用命令
- chmod命令
- ubuntu下apt-get 命令
- 釋放內存
- 云鎖安裝及使用
- 大部隊搭建
- Centos開啟端口命令
- Centos禁止root登錄
- Centos7修改22端口
- Rsync備份
- 開啟端口
- 微信開發
- 輔助開發
- 網站SEO
- TCP/IP協議
- HTTP 請求全過程
- http狀態碼
- http和https的區別
- http請求三部分
- tcp三次握手
- 三次握手的作用
- tcp四次揮手
- CMS
- 織夢CMS
- 帝國cms
- wordpress
- 禪知cms
- 八大接口
- 微信支付
- 支付寶支付
- 郵件
- 微博登錄
- QQ登錄
- 快遞
- 天氣
- 常見算法
- 快速排序
- 冒泡排序
- 選擇排序
- 插入排序
- 二分查找
- 希爾排序
- V2Ray搭建
- AJAX
- GIT
- RBAC用戶權限管理數據庫設計
- 開發中遇到的一些問題
- 資料購買
- 建立ssr服務器
- 簡單建
- 申請并使用ssl證書
- 正則表達式手冊
- phpstorm
- 注冊碼
- 備用注冊碼
- 網站設計概要
- 網站相關功能代碼
- 權限(RBAC/AUTH)
- 無限級分類
- 記住登錄狀態
- email找回密碼
- 企業網站開發概要
- 網站后臺
- 文章管理
- 欄目管理 CRUD 上級欄目
- 欄目管理
- 友情鏈接
- 操作日志
- 登錄注冊
- 權限管理
- 網站配置
- 網站前臺
- 首頁
- 新聞動態
- 聯系
- 案例
- 關于
- 單店鋪商城開發概要
- 面試準備
- 有意思的面試題
- 拉鉤面試要求
- 慕課面試視頻知識總結
- 面試題匯總
- 題目1
- 一些工作的要求
- 前端炒的
- 面試項目介紹
- MySQL面試100 問
- 術語庫
- redis相關
- php操作redis
- redis消息隊列(異步)
- redis消息隊列(同步)